Raskus on tuvastada pĂ”hiteema, rÀÀkides DevOpsist? Oleme kogunud teile silmapaistvaid analooge, tabavaid vĂ€ljendeid ja ekspertide nĂ”uandeid, mis aitavad ka mittespetsialistidel mĂ”ista, milles asi. LĂ”pus on boonus â Red Hati töötajate isiklik DevOps.

Termin DevOps ilmus 10 aastat tagasi ning on lÀbinud teekonna Twitteri hÀstagist vÔimsa kultuurilise liikumiseni IT-maailmas, tÔeliseks filosoofiaks, mis julgustab arendajaid kiiremini tulemusi saavutama, katsetama ning liikuma edasi iteratiivsete meetoditega. DevOps on muutunud lahutamatuks osaks digitaalsest transformatsioonist. Kuid nagu sageli IT-terminoloogiaga juhtub, on DevOps aastatega kogunud hulgaliselt mÀÀratlusi, tÔlgendusi ja vÀÀrarusaamu.
SeetĂ”ttu vĂ”ite DevOpsist sageli kuulda kĂŒsimusi nagu: kas see on sama, mis agile? VĂ”i on see mingi eriline metoodika? VĂ”i on see lihtsalt sĂŒnonĂŒĂŒm sĂ”nale âkoostööâ?
DevOps hĂ”lmab palju erinevaid kontseptsioone (pidev kohaletoimetamine, pidev integreerimine, automatiseerimine jne), seetĂ”ttu vĂ”ib peamise eristamine osutuda keeruliseks, eriti kui teema on teile oluline. Siiski on see oskus vĂ€ga kasulik, olgu te siis pĂŒĂŒdes oma ideid ĂŒlemusele edastada vĂ”i lihtsalt rÀÀkides oma tööst pereliikmetele vĂ”i tuttavatele. Seega, lĂŒkake DevOps'i terminoloogilised nĂŒansid hetkeks kĂ”rvale ja keskenduge ĂŒldisele pildile.
Mis on DevOps: 6 mÀÀratlust ja analoogiat
Palusime spetsialistidel selgitada DevOps'i olemust nii lihtsalt ja lĂŒhidalt, et selle vÀÀrtus oleks mĂ”istetav iga tasemega tehnilise ettevalmistusega lugejale. Nende vestluste tulemuseks valisime vĂ€lja kĂ”ige silmapaistvamad analoogiad ja tabavad vĂ€ljendid, mis aitavad teil oma lugu DevOps'ist ĂŒles ehitada.
1. DevOps on kultuuriline liikumine
âDevOps on kultuuriline liikumine, kus mĂ”lemad osalised (tarkvaraarendajad ja IT-sĂŒsteemide haldajad) tunnistavad, et tarkvara ei too reaalselt kasu, kuni seda ei hakata kasutama: olgu need kliendid, tellijad vĂ”i töötajad â ĂŒtleb Eveline Oehrlich, DevOps Instituudi vanemanalĂŒĂŒtik. â SeetĂ”ttu tagavad mĂ”lemad pooled koos kiire ja kvaliteetse tarkvara kohaletoimetamise.â
2. DevOps on see, mis annab arendajatele volitused
âDevOps annab arendajatele volitused rakenduste omanikkonnaks, nende kĂ€ivitamiseks ja juhtimiseks alates algusest kuni lĂ”puniâ
âTavaliselt rÀÀgitakse DevOpsist kui viisist kiirendada rakenduste kohaletoimetamist tootmisse, ehitades ja kasutades automatiseeritud protsesse,â ĂŒtleb Jai Schniepp, Liberty Mutuali kindlustusettevĂ”tte DevOps platvormide direktor. âKuid minu jaoks on see palju fundamentaalsem asi. DevOps annab arendajatele volitused rakenduste vĂ”i teatud tarkvarade osade omanikkonnaks, nende kĂ€ivitamiseks ja kohaletoimetamise juhtimiseks alates algusest kuni lĂ”puni. DevOps kaotab segaduse vastutuses ja suunab kĂ”ik osalised protsessi loomise suunas, milleks on automatiseeritud ja arendaja juhitud infrastruktuur.â
3. DevOps on koostöö rakenduste loomisel ja kohaletoimetamisel
âLihtsamalt öeldes on DevOps lĂ€henemine tarkvara tootmisele ja kohaletoimetamisele, kus kĂ”ik töötavad koos,â mĂ€rgib Gur Staff, BMC digitaalsete Ă€riprotsesside automatiseerimise president ja juht.
4. DevOps on konveier
âKonveierikogumine on vĂ”imalik ainult siis, kui kĂ”ik osad sobivad ĂŒksteisega.â
âVĂ”rreldes DevOpsit autotootmise konveieriga,â jĂ€tkab Gur Staff. âIdee on eelnevalt projekteerida ja valmistada kĂ”ik osad nii, et need oleksid hiljem vĂ”imalik kokku panna ilma individuaalse kohandamiseta. Konveierikogumine on vĂ”imalik ainult siis, kui kĂ”ik osad sobivad ĂŒksteisega. Need, kes projekteerivad ja valmistavad mootorit, peavad mĂ”tlema sellele, kuidas see kinnitada kerele vĂ”i raami. Need, kes valmistavad pidureid, peavad mĂ”tlema ratastele ja nii edasi. Samuti peaks olema ka tarkvaraga.
Arendaja, kes loob Ă€riĂŒlevaate vĂ”i kasutajaliidese, peab mĂ”tlema andmebaasile, mis sisaldab teavet klientide kohta, andmete kaitseks mĂ”eldud turvameetmetele, samuti sellele, kuidas see kĂ”ik töötab, kui teenus hakkab teenindama suurt, vĂ”ib-olla isegi miljonite kasutajate hulka.
âTeha nii, et inimesed teeksid koostööd ja mĂ”tleksid nende tööosade peale, mida teised teevad, mitte ei keskenduks ainult omaenese ĂŒlesannetele â see on suurim takistus, mis tuleb ĂŒletada. Kui see Ă”nnestub, on teil suurepĂ€rased vĂ”imalused digitaalseks transformatsiooniks,â lisab Gur Staff.
5. DevOps on Ôige kombinatsioon inimestest, protsessidest ja automatiseerimisest.
Jayne Groll, DevOpsi Instituudi tegevjuht, pakkus suurepĂ€rase analoogia DevOpsi seletamiseks. Tema sĂ”nul on âDevOps nagu kulinaarne retsept, milles on kolm peamist koostisosade kategooriat: inimesed, protsessid ja automatiseerimine. Enamik neist koostisosadest vĂ”ib tulla teistest valdkondadest ja allikatest: Lean, Agile, SRE, CI/CD, ITIL, juhtimine, kultuur, tööriistad. DevOpsi saladus, nagu igas heas retseptis, seisneb selles, kuidas Ă”igesti valida proportsioonid ja segada neid koostisosade, et suurendada töö efektiivsust ja tulemuslikkust rakenduste loomisel ja vĂ€ljalaskmisel.â
6. DevOps on siis, kui programmeerijad töötavad nagu vormel-1 meeskond.
âVĂ”istlust planeeritakse mitte stardist finiĆĄisse, vaid vastupidi, finiĆĄist stardisse.â
âRÀÀkides sellest, mida oodata DevOpsi algatuselt, toon ma nĂ€itena NASCAR vĂ”i vormel-1 vĂ”istkonna,â ĂŒtleb Chris Short, Red Hat'i pilveteenuste turundusjuht ja DevOpsâish uudiskirja toimetaja. âSelle vĂ”istkonna juhil on ĂŒks eesmĂ€rk: saavutada vĂ”idusĂ”idu lĂ”pus maksimaalne vĂ”imalik koht, arvestades vĂ”istkonna ressursse ja katsumusi, mis talle on osaks saanud. Sellega seoses on vĂ”istlust planeeritud mitte stardist finiĆĄisse, vaid vastupidi, finiĆĄist stardisse. Alguses seatakse ambitsioonikas eesmĂ€rk ja seejĂ€rel mÀÀratakse vastavad teed selle saavutamiseks. SeejĂ€rel jagatakse need alamĂŒlesanneteks ja delegatakse tiimiliikmetele.â
âKogu nĂ€dala enne vĂ”istlust lihvib meeskond pit-stop'pe. Tegeletakse jĂ”u- ja kardiotreenidega, et olla vormis pingelisel vĂ”istluspĂ€eval. Harjutatakse koostööd, et lahendada mis tahes probleeme, mis vĂ”ivad vĂ”istluse ajal tekkida. Samamoodi peavad arendajate meeskonnad harjutama oskusi uute versioonide sagedaseks vĂ€ljalaskmiseks. Kui need oskused on olemas ja turvasĂŒsteem on paika pandud, toimub uute versioonide lansseerimine tootmisse samuti sagedamini. Selle maailmavaate raames tĂ€hendab kiirus tĂ”usu ka turvalisust,â ĂŒtleb Short.
âAsi ei ole teha 'Ă”igeid asju',â lisab Short, âvaid pigem kĂ”rvaldada vĂ”imalikult palju takistusi, mis seisavad tee peal soovitud tulemuse saavutamisele. Koostööd tehke ja kohaneda tuleb tagasisidega, mida saad reaalajas. Olge valmis anomaaliateks ja töötage kvaliteedi tĂ”stmise nimel, et vĂ€hendada nende mĂ”ju sihile liikumisele. Just seda ootame me DevOpi maailmas.â

Kuidas skaleerida DevOps: 10 ekspertide nÔuannet
Lihtne DevOps ja massiline DevOps on tĂ€iesti erinevad asjad. RÀÀgime, kuidas ĂŒletada takistused selle kahe vahel.
Paljude organisatsioonide jaoks algab tee DevOps'ini lihtsalt ja meeldivalt. Luua saab vÀikseid kirglikke meeskondi, vanad protsessid asendatakse uutega ja esimesed edusammud ei lase kaua oodata.
Kahjuks on see vaid vale sĂ€ra, progressi illusioon, nagu ĂŒtleb Ben Grinnell, North Highlandi konsultatsioonifirma digitaalsete tehnoloogiate juht. Varajased vĂ”idud on kindlasti julgustavad, kuid need ei aita saavutada lĂ”ppeesmĂ€rki, milleks on DevOps'i massiline kasutuselevĂ”tt organisatsioonis.
On lihtne nÀha, et selle tulemuseks tekib kultuur, kus jagunetakse 'me' ja 'nemad'.
«Sageli kÀivitavad organisatsioonid selliseid pioneerprojekte, arvates, et need rajavad teed laialdasele DevOps'ile, mÔtlemata sellele, kas teised soovivad ja suudavad sellel teel kÀia, - selgitab Ben Greennell. - Need projektide meeskonnad koosnevad tavaliselt enesekindlatest "vÀravatest", kes on varem sarnaseid asju teinud, kuid on teie organisatsioonis alles algajad. Neid julgustatakse rikkuma ja hÀvitama reegleid, mis kehtivad kÔigile teistele. On lihtne nÀha, et selle tulemusena tekib "meie" ja "nemad" kultuur, mis takistab teadmiste ja oskuste jagamist."
«Ja see kultuuriline probleem on vaid ĂŒks pĂ”hjustest, miks DevOps'i on keeruline skaleerida. DevOps'i meeskonnad seisavad silmitsi tehniliste keerukustega, mis on iseloomulikud kiiresti arenevatele ettevĂ”tetele, kes on panustanud IT-tehnoloogiale,« ĂŒtleb Steve Newman, ettevĂ”tte Scalyr kaasasutaja ja juhatuse esimees.
«Kaasaegses maailmas muutuvad teenused kohe, kui tekib vajadus. Uute funktsioonide pidev rakendamine ja juurutamine on muidugi suurepÀrane, kuid selle protsessi koordineerimine ja tekkivate probleemide lahendamine on tÔeline peavalu,« lisab Steve Newman. - VÀga kiiresti kasvavates organisatsioonides vÔitlevad insenerid ristfunktsionaalsetes meeskondades vÔimaluse nimel jÀlgida muudatusi ja nende tekitatud kaskaade sÔltuvustasandil. Veelgi enam, inseneridele ei meeldi, kui nad sellest vÔimalusest ilma jÀÀvad ja seetÔttu on neil raskem aru saada tekkivate probleemide olemusest."
Kuidas ĂŒletada eespool kirjeldatud raskused ja liikuda DevOps'i massilise kasutuselevĂ”tu poole suure organisatsiooni raames? Eksperdid kutsuvad ĂŒles olema kannatlikud, isegi kui teie lĂ”ppeesmĂ€rk on kiirendada tarkvaraarenduse ja Ă€riprotsesside tsĂŒklit.
1. Pidage meeles, et kultuuri muutmiseks on vaja aega
Jayne Groll, DevOpsi instituudi tegevjuht: Minu arvates peaks DevOps'i laienemine olema sama jĂ€rkjĂ€rguline ja iteratiivne kui agile-arendamine (ning mĂ”jutama kultuuri sama palju). Agile'is ja DevOps'is keskendutakse vĂ€ikestele meeskondadele. Kuid kui nende meeskondade arv kasvab ja nad integreeruvad, on ĂŒha rohkem inimesi, kes rakendavad uusi töömeetodeid, ja sellest tulenevalt toimub ulatuslik kultuuriline transformatsioon.
2. Pöörake piisavalt aega planeerimisele ja platvormi valimisele
Eran Kinsbruner, Perfecto juhtiv tehniline evangelist: âEt skaleerimine töötaks, peavad DevOps'i meeskonnad alguses Ă”ppima kombineerima traditsioonilisi protsesse, tööriistu ja oskusi ning seejĂ€rel jĂ€rk-jĂ€rgult kasvatama igat DevOps'i etappi ja stabiliseerima seda. KĂ”ik algab hoolikast kasutajate lugude (user story) ja vÀÀrtuse loomise voogude (value stream) planeerimisest, millele jĂ€rgneb tarkvara kirjutamine ja versioonihaldus trunk-based development'i vĂ”i teiste lĂ€henemisviiside abil, mis on kĂ”ige sobivamad koodi harude ja sulandumise jaoks.â
âJĂ€rgneb integratsiooni ja testimise etapp, kus on juba vajalik skaleeritav automaatikaplatvorm. Siin on DevOps'i meeskondade jaoks oluline valida Ă”ige platvorm, mis vastab nende oskuste tasemele ja projekti lĂ”ppeesmĂ€rkidele.
JĂ€rgmine etapp on juurutamine tootmiskeskkonnas, mis peaks olema tĂ€ielikult automatiseeritud, kasutades orkestreerimise ja konteinerite tööriistu. Oluline on omada virtualiseeritud keskkondi kĂ”igis DevOps'i etappides (tootmiskeskkonna simulaator, kvaliteedikontrolli keskkond ja tegelik tootmiskeskkond) ning alati kasutada testimisteks vaid kĂ”ige vĂ€rskemaid andmeid, et saada asjakohaseid jĂ€reldusi. AnalĂŒĂŒtika peab olema nutikas ja suutma töödelda suuri andmeid kiire ja tĂ”husaga tagasiside saamiseks.â
3. Vabastage vastutus sĂŒĂŒ eest
Gordon Haff, RedHati evangelist: âSĂŒsteemi ja atmosfÀÀri loomine, mis lubab ja julgustab katsetamist, vĂ”imaldab saavutada nn edukaid ebaĂ”nnestumisi agile tarkvaraarenduses. See ei tĂ€henda, et keegi ei vastuta ebaĂ”nnestumiste eest. Tegelikult on vastutuse mÀÀramine isegi lihtsam, kuna âvastutavâ ei tĂ€henda enam âĂ”nnetuse pĂ”hjustajaâ olemist. Seega vastutuse olemus muutub kvaliteetselt. Samuti saavad ÀÀrmiselt tĂ€htsaks neli tegurit: ebaĂ”nnestumise ulatus, lĂ€henemisviisid, tootmisprotsessid ja stiimulidâ. (Nende tegurite kohta saab lĂ€hemalt lugeda Gordon Huffs artiklist âDevOps lessons: 4 aspects of healthy experimentsâ.)
4. Puhastage tee edasi
Ben Grinnell, North Highlandi konsultatsioonifirma digitaalsete tehnoloogiate direktor: âSkaaleerimise saavutamiseks soovitan koos esmakordsete projektidega kĂ€ivitada âtee puhastamiseâ programmi. Selle programmi eesmĂ€rk on eemaldada prĂŒgi, mis jÀÀb DevOpsi esmakordsetelt, nagu aegunud reeglid ja muud sarnased asjad, et tee edasi jÀÀks vaba.â
âAndke inimestele organisatsioonilist tuge ja andke hoogu suhtlusega, mis ulatub kaugele esmakordsete rĂŒhmadest, tĂ€histades uute töötamisviiside edusamme laialdaselt. Koolitage inimesi, kes on jĂ€rgmise DevOpsi projektide laine sees ja tunnevad Ă€revust, kuna nad kasutavad DevOpsit esmakordselt. Ja pidage meeles, et need inimesed on vĂ€ga erinevad esmakordsetest.â
5. Tehke tööriistad demokraatlikumaks
Steve Newman, Scalyr'i asutaja ja juhatuse esimees: âTööriistu ei tohi inimestelt varjata ja need peaksid olema suhteliselt lihtsad igaleĂŒhele, kes on valmis aega investeerima. Kui logide pĂ€rimise vĂ”imalus on antud vaid kolmele inimesele, kellel on âsertifikaatâ mĂ”ne tööriista kasutamiseks, on teil alati maksimaalselt kolm inimest, kes suudavad lahendada vastava probleemi, isegi kui teil on vĂ€ga suur arvutikeskkond. TeisisĂ”nu, see tekitab kitsas koha, mis vĂ”ib tuua tĂ”siseid (Ă€ri)tagajĂ€rgi.â
6. Looge ideaaltingimused meeskonna tööks
Tom Clark, ITV Common Platformi juht: âSaate teha, mida iganes soovite, kuid mitte kĂ”ike korraga. SeetĂ”ttu seadke endale suured eesmĂ€rgid, alustage vĂ€ikesest ja liikuge kiirete iteratsioonidega edasi. Aja jooksul teenite maine meeskonnana, kellel kĂ”ik Ă”nnestub, mistĂ”ttu tahavad teisedki kasutada teie meetodeid. Ja Ă€rge pĂŒĂŒdke luua kĂ”rgelt efektiivset meeskonda. Keskenduge sellele, et pakkuda inimestele ideaalsed töötingimused, ja efektiivsus tuleb iseenesest.â
7. Ărge unustage Conway seadust ja kanbani tahvleid
Logan Daigle, CollabNetVersionOne'i tarkvaratoote ja DevOpsi strateegia direktor: âOluline on teadvustada Conway seaduse tagajĂ€rgi. Minu vabas tĂ”lkes ĂŒtleb see seadus, et tooted, mida me loome, ja protsessid, mida me selle kĂ€igus rakendame, sealhulgas DevOps, on organiseeritud samamoodi nagu meie organisatsioon.â
âKui organisatsioonis on kĂ”rge killustatus ning tarkvaraarenduse planeerimisel, loomisel ja vĂ€ljaandmisel vahetatakse juhtimine korduvalt kĂ€est kĂ€esse, siis on skaleerimise efekt null vĂ”i lĂŒhiajaline. Kui aga organisatsioon loob ristfunktsionaalsed meeskonnad toodete ĂŒmber, mis on finantseeritud turule orienteeritult, siis tĂ”useb eduvĂ”imalus jĂ€rsult.â
âVeel ĂŒks oluline aspekt skaleerimises on kuvada kanbani tahvlitel kĂ”ik tööd, mis on pooleli (WIP, work in progress). Kui organisatsioonis on koht, kus inimesed saavad neid asju nĂ€ha, stimuleerib see tugevalt koostööd, mis omakorda avaldab positiivset mĂ”ju skaleerimisele.â
8. Otsige vanu arme
Manuel Pais, DevOpsi konsultant ja raamat âTeam Topologiesâ kaasautor: âDevOps praktikate viimine vĂ€ljapoole DevOps'i endi ja nende rakendamine teistesse funktsioonidesse ei ole ilmselt optimaalne lĂ€henemine. See toob kindlasti mĂ”ningast kasu (nt tĂ€nu kĂ€sitsi haldamise automatiseerimisele), kuid palju rohkemat saab saavutada, kui alustada arusaamisest toimetamise ja tagasiside protsessidest.â
Kui organisatsiooni IT-sĂŒsteemis on vanad armid â haldusprotseduurid ja mehhanismid, mis on ellu viidud möödunud intsidendi tagajĂ€rjel, kuid on oma kehtivuse kaotanud (toodete, tehnoloogiate vĂ”i protsesside muutumise tĂ”ttu), siis tuleb need kindlasti eemaldada vĂ”i siluda, mitte automatiseerida ebaefektiivseid vĂ”i tarbetuid protsesse.
9. Ărge looge DevOps'i erinevaid variante.
Antony Edwards, Eggplant'i tootmisdirektor: âDevOps on ÀÀrmiselt ebamugav termin, mistĂ”ttu iga meeskond tĂ”lgendab seda omamoodi. Pole midagi hullemat kui see, et organisatsioonis on korraga 20 erinevat DevOps'i varianti, mis ei suudagi hĂ€sti koos eksisteerida. Ei tohi lubada, et igal kolmel arendajameeskonnal on oma ainulaadne liides arenduse ja tootehalduse vahel. Samuti ei tohi lasta toodetel omada unikaalseid ootusi tagasiside töötlemisel tootmisimulatsiooni keskkonda ĂŒleviimisel. Vastasel juhul ei suuda te kunagi DevOps'i skaleerida.â
10. Tutvustage DevOps'i vÀÀrtust Àri jaoks.
Steve Newman, Scalyr'i asutaja ja juhatuse esimees: âTöötage DevOps'i vÀÀrtuse tunnustamise nimel. Ăppige ja Ă€rge kartke rÀÀkida, kui kasulik see, mida teete, on. DevOps sÀÀstab uskumatult aega ja raha (kĂ”igest mĂ”elge: vĂ€hem seisaegasid, lĂŒhem keskmine taastumisaeg), ja DevOps'i meeskonnad peavad pidevalt rĂ”hutama (ja esitlema) nende algatuste tĂ€htsust ettevĂ”tte edule. Nii saate laiendada DevOps'i pooldajaid ja suurendada selle mĂ”ju organisatsioonis.â
BONUS
Pealehe 13. septembril tuleb meie enda DevOps - jah, Red Hat'il, kui tarkvaratootjal, on omad DevOps'i meeskonnad ja praktika.
Meie insener Mark Birger, kes tegeleb sisemiste automatiseerimisteenuste arendamisega teistele rĂŒhmadele kogu organisatsioonis, rÀÀgib puhtal vene keeles oma loo - kuidas Red Hat'i DevOps'i meeskond migreeris rakendused virtuaalsetest keskkondadest Hat Virtualization, mida haldab Ansible, tĂ€isvÀÀrtuslikku konteineriformaati OpenShift'i platvormil.
Kuid see pole veel kÔik:
PÀrast seda, kui organisatsioonid on oma töökoormused konteineritesse viinud, vÔivad traditsioonilised rakenduste jÀlgimise meetodid mitte töötada. Teises aruandes selgitame, miks me otsustasime registreerimise viisi muuta, ja nÀitame teed, mis viis meid kaasaegsete logimise ja jÀlgimise meetoditeni.
Allikas: habr.com
