Kas on DevOps'i olemust keeruline tabada? Oleme kokku kogunud selged analoogiad, tabavad vĂ€ljendid ja ekspertide nĂ”uanded, mis aitavad isegi mittespetsialistidel tuuma lĂ€hemale jĂ”uda. LĂ”pus on boonus â Red Hati töötajate enda DevOps.

DevOps'i mĂ”iste tekkis 10 aastat tagasi ja on teinud teekonna Twitteri hashtag'ist vĂ”imsaks kultuuriliseks liikumiseks IT maailmas, tĂ”eliseks filosoofiaks, mis julgustab arendajaid kiiremini tulemusi saavutama, katsetama ja edasi liikuma iteratiivsel meetodil. DevOps on saanud lahutamatuks osaks digitaaltransformatsiooni kĂ€situsest. Kuid nagu sageli IT terminoloogia puhul, on DevOps kĂŒmne aasta jooksul saanud mitmeid mÀÀratlusi, tĂ”lgendusi ja ekslikke arusaamu enda kohta.
SeetĂ”ttu kuuleb DevOps'i kohta tihti kĂŒsimusi nagu, kas see on sama, mis agile? VĂ”i on see mingi eriline metoodika? VĂ”i on see lihtsalt veel ĂŒks sĂŒnonĂŒĂŒm sĂ”nale âkoostööâ?
DevOps hĂ”lmab palju erinevaid kontseptsioone (pidev kohaletoimetamine, pidev integreerimine, automatiseerimine jne), seega vĂ”ib peamise eristamine olla keeruline, eriti kui teema on teile lĂ€hedane. Siiski on see oskus ĂŒlimalt kasulik, olenemata sellest, kas ĂŒritate oma ideid ĂŒlemustele edastada vĂ”i rÀÀgite oma tööst lĂ€hedastele vĂ”i tuttavatele. SeetĂ”ttu lĂŒkkame DevOpsi terminoloogilised nĂŒansid kĂ”rvale ja keskendume ĂŒldisele pildile.
Mis on DevOps: 6 mÀÀratlust ja analoogiat
Palusime spetsialistidel selgitada DevOpsi olemust vĂ”imalikult lihtsalt ja lĂŒhidalt, et selle vÀÀrtus muutuks selgeks lugejale, kellel on igasugune tehniline ettevalmistus. Nende vestluste tulemuseks valisime vĂ€lja kĂ”ige silmapaistvamad analoogiad ja löövamad vĂ€ljendid, mis aitavad teil oma DevOpsi lugu kujundada.
1. DevOps â see on kultuuriline liikumine
«DevOps on kultuuriline liikumine, mille kĂ€igus mĂ”lemad pooled (tarkvaraarendajad ja IT-sĂŒsteemide haldurid) tunnustavad, et tarkvara ei too tĂ”elist kasu, kuni keegi ei hakka seda kasutama: olgu need siis kliendid, tellijad vĂ”i töötajad â mĂ€rgib Eveline Oehrlich, DevOpsi instituudi vanemanalĂŒĂŒtik. â SeetĂ”ttu tagavad need pooled koos tarkvara kiire ja kvaliteetse tarnimise.»
2. DevOps on see, mis annab volitusi arendajatele
«DevOps annab arendajatele Ôiguse hallata rakendusi, kÀivitada neid ja juhtida tarnimist algusest lÔpuni»
«Tavaliselt rÀÀgitakse DevOpsist kui meetodist, mis kiirendab rakenduste korraldamist tootmises, rakendades automatiseeritud protsesse,» ĂŒtleb Jai Schniepp, DevOps platvormide direktor kindlustusettevĂ”ttes Liberty Mutual. «Kuid minu jaoks on see midagi palju fundamentaalsemat. DevOps annab arendajatele Ă”iguse omada rakendusi vĂ”i teatud tarkvara osi, nende haldamiseks ja kohaletoimetamiseks algusest lĂ”puni. DevOps elimineerib vastutuse segaduse ja suunab kĂ”iki protsessi osalisi ĂŒles ehitama arendajate juhitud automatiseeritud infrastruktuuri.»
3. DevOps â koostöö rakenduste loomisel ja tarnimisel
«Lihtsalt öeldes, DevOps on lÀhenemine tarkvara tootmisele ja tarnimisele, kus kÔik töötavad koos,» mÀrkis Gur Staff, ettevÔtte BMC president ja digitaalse Àri automatiseerimise juht.
4. DevOps â see on konveier
«Konveieritehnika on vÔimalik ainult siis, kui kÔik osad sobivad omavahel.»
«Ma peaks DevOps'i autotootmisliiniga. Idee seisneb selles, et kĂ”ik osad on ette kavandatud ja valmistatud selliselt, et need oleks vĂ”imalik kokku panna ilma individuaalse kohandamiseta. Tootmisliin toimib ainult siis, kui kĂ”ik osad sobivad omavahel. Need, kes projekteerivad ja valmistavad mootorit, peavad mĂ”tlema, kuidas see kinnitada kere vĂ”i raami kĂŒlge. Need, kes teevad pidurid, peavad mĂ”tlema ratastele jne. Sama peab olema ka tarkvaraga.»
âArendaja, kes koostab Ă€riloogikat vĂ”i kasutajaliidest, peab mĂ”tlema andmebaasile, mis salvestab teavet klientide kohta, turvameetmetele kasutajate andmete kaitsmiseks ja sellele, kuidas kĂ”ik see toimib, kui teenus hakkab teenindama suurt, vĂ”imalik, isegi mitme miljoni kasutaja sihtrĂŒhma.â
âKuidas panna inimesi koostööd tegema ja mĂ”tlema sellele, mida teised teevad, mitte ainult oma ĂŒlesannetele keskenduma â see on suurim takistus, mille ĂŒletamine on vajalik. Kui see Ă”nnestub, on teil suurepĂ€rased vĂ”imalused digitaalseks ĂŒmberkujundamiseks,â lisab Gur Staff.
5. DevOps â see on Ă”ige kombinatsioon inimestest, protsessidest ja automatiseerimisest
Jayne Groll, DevOps Instituudi tegevdirektor, tĂ”i vĂ€lja suurepĂ€rase analoogia DevOpsi selgitamiseks. Tema sĂ”nul on âDevOps nagu retsept, kus on kolm pĂ”hikategooriat koostisosadest: 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 iga hea retsepti puhul, on Ă”igete proportsioonide leidmine ja nende koostisosade segamine, et suurendada kiirus ja efektiivsus rakenduste loomisel ja vabastamisel.â
6. DevOps â see on siis, kui programmeerijad töötavad nagu F1 meeskond
âVĂ”istlus ei ole planeeritud stardist finiĆĄini, vaid vastupidi, finiĆĄist starti.â
âRÀÀkides DevOps algatuse ootustest, toon ma nĂ€iteks NASCAR vĂ”i F1 vĂ”istkonna,â ĂŒtleb Chris Short, Red Hat pilveplatvormide turundusjuht ja DevOpsâish uudiskirja vĂ€ljaandja. âSelle vĂ”istkonna juhil on ĂŒks eesmĂ€rk: saavutada vĂ”imalikult kĂ”rge koht, arvestades vĂ”istkonna ressursse ja eesmisi vĂ€ljakutseid. Samas plaanitakse vĂ”istlust mitte stardist finiĆĄisse, vaid vastupidi, finiĆĄist stardisse. Esiteks seatakse ambitsioonikas eesmĂ€rk ja seejĂ€rel mÀÀratakse viisid selle saavutamiseks. SeejĂ€rel jagatakse need vĂ€ikeĂŒlesanneteks ja delegeeritakse meeskonna liikmetele.â
«Kogu nĂ€dala enne vĂ”istlust treenib meeskond pit-stop'e. Tegeletakse jĂ”u- ja kardiotreeningutega, et olla vormis kurnaval vĂ”istluspĂ€eval. Harjutatakse koos tegutsemist, et lahendada kĂ”iki probleeme, mis vĂ”istluse ajal vĂ”ivad tekkida. Samamoodi peab arendusmeeskond treenima uute versioonide sagedase vĂ€ljalaskmise oskusi. Nende oskuste ja hĂ€sti toimiva turvasĂŒsteemi olemasolul toimuvad uute versioonide tootmine ja tootmisse laskmine samuti sagedamini. Selle mĂ”tteviisi kohaselt tĂ€hendab kiirus suurenenud turvalisust,» ĂŒtleb Short.
«KĂŒsimus ei ole selles, et teha âĂ”igeid asjuâ, â lisab Short, â vaid selles, et eemaldada vĂ”imalikult palju asju, mis takistavad soovitud tulemuse saavutamist. Koostööd tehke ja kohandage end reaalajas saadud tagasiside kohaselt. Olge valmis anomaaliateks ja töötage kvaliteedi parandamise nimel, et nende mĂ”ju eesmĂ€rgile minimaalne oleks. Just seda ootab meid DevOpsi maailmas».

Kuidas skaleerida DevOps: 10 nÔuannet ekspertidelt
Lihtne DevOps ja massiline DevOps on tĂ€iesti erinevad asjad. RÀÀgime sellest, kuidas ĂŒletada takistused teel esimesest teiseni.
Paljude organisatsioonide teekond DevOpsi juurde algab lihtsalt ja meeldivalt. Loobetakse vÀikseid entusiastlikke meeskondi, vanad protsessid vahetatakse uute vastu ning esimesed edusammud ei lase end kaua oodata.
Kahjuks on see vaid vale sĂ€ra, edenemise illusioon, nagu ĂŒtleb Ben Grinnell, North Highlandi konsultatsiooni firma digitaalsete tehnoloogiate juht. Varased vĂ”idud on kĂŒll lootustandevad, kuid ei aita saavutada lĂ”ppeesmĂ€rki, nimelt DevOpsi laialdast kasutuselevĂ”ttu organisatsioonis.
On lihtne nÀha, et selle tulemusena kujuneb vÀlja kultuur, mis jagab inimesi «meie» ja «nemad».
âTihti kĂ€ivitavad organisatsioonid selliseid pioneeriprojekte, arvates, et need rajavad tee massilisele DevOps-ile, mĂ”tlemata, kas teised soovivad ja suudavad sellel teel edasi liikuda,â selgitab Ben Greennell. âNeed projektide elluviimise meeskonnad koosnevad tavaliselt enesekehtestavatest 'vikingitest', kes on juba midagi sarnast teinud mujal, kuid on teie organisatsioonis uustulnukad. Samal ajal julgustatakse neid murdma ja hĂ€vitama reegleid, mis jÀÀvad kohustuslikeks kĂ”igile teistele. On lihtne nĂ€ha, et selliseid olukordi tekib eraldumise kultuur âmeâ ja ânemadâ, mis takistab teadmiste ja oskuste jagamist.â
âJa see kultuuriline probleem on vaid ĂŒks pĂ”hjus, miks DevOps-i on raske laieneda. DevOps-i meeskonnad kohtavad tehniliste keerukuste kasvu, mis on iseloomulik kiiresti arenevatele ettevĂ”tetele, kes on panustanud IT-tehnoloogiatele,â ĂŒtleb Steve Newman, Scalyr'i asutaja ja juhatuse esimees.
Kaasaegses maailmas muutuvad teenused koheselt, kui tekib selline vajadus. Uute funktsioonide pidev rakendamine ja juurutamine on muidugi suurepĂ€rane, kuid selle protsessi koordineerimine ja tekkivate probleemide lahendamine on tĂ”eline peavalu, â mĂ€rgib Steve Newman. â VĂ€ga kiiresti arenevates organisatsioonides vĂ”itlevad insenerid ristfunktsionaalsete meeskondade koosseisus selle nimel, et sĂ€ilitada vĂ”imalus jĂ€lgida muudatusi ja nende pĂ”hjustatud kaskadiefekte sĂ”ltuvuste tasandil. Veelgi enam, insenerid ei ole sugugi rahul, kui neid sellisest vĂ”imalusest ilma jĂ€etakse, mistĂ”ttu muutub neil raskemaks mĂ”ista tekkivate probleemide olemust.
Kuidas ĂŒletada eespool nimetatud raskused ja liikuda suurettevĂ”ttes DevOps'i laialdase kasutamise poole? Eksperdid soovitavad varuda kannatust, isegi kui teie lĂ”ppeesmĂ€rk on kiirendada tarkvaraarenduse ja Ă€riprotsesside tsĂŒkleid.
1. Pidage meeles, et kultuurimuutusteks on vajalik aeg.
Jayne Groll, DevOpsi Instituudi tegevjuht: Minu arvates peaks DevOps laienemine olema sama jĂ€rkjĂ€rguline ja iteratiivne kui agile-arendus (ja sama hĂ€sti hĂ”lmama kultuuri). Agile ja DevOps keskenduvad vĂ€ikestele meeskondadele. Kuid kui selliste meeskondade arv kasvab ja nad integreeruvad, saame ĂŒha rohkem inimesi, kes rakendavad uusi töötamisviise, ja sellest tulenevalt toimub ulatuslik kultuuri transformatsioon.
2. PĂŒhendage piisavalt aega planeerimisele ja platvormi valikule.
Eran Kinsbruner, Perfecto juhtiv tehniline evangelist: Selleks, et skalaarimine toimiks, peavad DevOps meeskonnad alguses Ôppima kombineerima traditsioonilisi protsesse, tööriistu ja oskusi ning seejÀrel aeglaselt kasvatama iga DevOps faasi ning stabiliseerima selle. KÔik algab hoolikast kasutajate lugude (user story) ja vÀÀrtusvoogude (value stream) planeerimisest, millele jÀrgneb tarkvara kirjutamise ja versioonihalduse etapp, kasutades trunk-based developmentit vÔi teisi lÀhenemisviise, mis sobivad kÔige paremini koodi harude ja liitmise jaoks.
SeejÀrgmiseks on integreerimise ja testimise etapp, kus on juba vajalik skaleeritav automatiseerimisplatvorm. DevOpsi meeskondade jaoks on oluline valida Ôige platvorm, mis vastab nende oskuste tasemele ja projekti lÔppeesmÀrkidele.
JĂ€rgmine etapp on produktsiooni keskkonda juurutamine, mis peab olema tĂ€ielikult automatiseeritud orkestreerimis- ja konteineritööriistade abil. Oluline on omada virtualiseeritud keskkondi kĂ”ikides DevOps'i etappides (produksioonikeskkonna simulaator, kvaliteedikontrolli keskkond ja tegelik produktsioonikeskkond) ning alati kasutada testimiseks ainult kĂ”ige vĂ€rskemaid andmeid, et saada asjakohaseid jĂ€reldusi. AnalĂŒĂŒtika peab olema nutikas ja suutma töödelda suuri andmeid kiire ja efektiivse tagasisidega.
3. Vabastage vastutus sĂŒĂŒde maitsest
Gordon Haff (Gordon Haff), RedHat'i evangelist: «KatsesĂŒsteemi ja keskkonna loomine, mis lubab ja julgustab katsetusi, vĂ”imaldab saavutada nii nimetatud edukaid ebaĂ”nnestumisi agile-tarkvaraarenduses. See ei tĂ€henda, et keegi ei vastuta ebaĂ”nnestumise eest. Tegelikult on vastutaja leidmine isegi lihtsam, kuna 'olla vastutav' ei tĂ€henda enam 'saada sĂŒĂŒdistatavaks'. Seega vastutuse olemus muutub kvaliteetselt. Samas on ÀÀrmiselt olulised neli tegurit: ebaĂ”nnestumise ulatus, lĂ€henemisviisid, tootmisprotsessid ja stiimulid.» (Lisainfot nende tegurite kohta leiate Gordon Huffi artiklist 'DevOps lessons: 4 aspects of healthy experiments'.)
4. Puhastage tee ettepoole
Ben Grinnell, digitaalsete tehnoloogiate konsultatsioonifirma North Highland tegevjuht ja direktor: «Mastaapse arengu saavutamiseks soovitan koos esmakordsete projektidega kĂ€ivitada 'tee puhastamise' programmi. Selle programmi eesmĂ€rk on eemaldada prĂŒgi, mis jÀÀb DevOpsi esmakordsete praktiseerijate jĂ€rel, nagu aegunud reeglid ja muud sellised asjad, et tee ettepoole jÀÀks vabaks.»
Andke inimestele organisatsioonilist tuge ning edendage suhtlust, mis ulatub kaugemale pioneerigruppidest, tÀhistades laialdaselt uute töömeetodite edusamme. Koolitage inimesi, kes osalevad jÀrgmise DevOps projektide lainega ning tunnevad Àrevust DevOpsi esmakordsel kasutamisel. Ja pidage meeles, et need inimesed on vÀga erinevad pioneeridest.
5. Muutke tööriistad demokraatlikumaks
Steve Newman, ettevĂ”tte Scalyr asutaja ja juhatuse esimees: «Tööriistu ei tohiks peita inimeste eest ning need peaksid olema suhteliselt lihtsad omandada neile, kes on valmis nende Ă”ppimiseks aega kulutama. Kui logide pĂ€rimiseks on Ă”igus ainult kolmel inimesele, kes on selle tööriistaga âsertifitseeritudâ, on teil alati maksimaalselt kolm inimest, kes saavad vastata vastavale probleemile, isegi kui teil on vĂ€ga suur arvutuslik keskkond. TeisisĂ”nu, siin tekib kitsaskoht, mis vĂ”ib viia tĂ”sistele (Ă€ri)tagajĂ€rgedele.»
6. Looge meeskonna tööks ideaalsed tingimused
Tom Clark, ITV telekompanii Common Platformi juht: âSaate teha kĂ”ike, aga mitte kĂ”ike korraga. Seega seadke suured eesmĂ€rgid, alustage vĂ€ikesest ja liikuge edasi kiirete iteratsioonidega. Aja jooksul teenite te maine, et teie meeskonnal Ă”nnestub, seetĂ”ttu soovivad teisedki teie meetodeid kasutada. Ja Ă€rge pĂŒĂŒdke luua kĂ”rge tĂ”hususe meeskonda. Selle asemel tagage inimestele ideaalne töökeskkond ning efektiivsus tuleb iseenesest.â
7. Ărge unustage Conway seadust ja kanban-tahvleid
Logan Daigle, CollabNetVersionOne tarkvaraarenduse ja DevOpsi strateegia direktor: âOluline on mĂ”ista Conway seaduse tagajĂ€rgi. Minu libedalt kokkuvĂ”ttes ĂŒtleb see seadus, et tooted, mida me loome, ja protsessid, mida me kasutame, sealhulgas DevOps, on korraldatud sama viisil nagu meie organisatsioon.â
«Kui organisatsioonis valitseb suur killustatus ning tarkvara planeerimisel, loomisel ja vĂ€ljaandmisel toimub juhtimine jĂ€rjestikku erinevate kĂ€tesse, siis ei saavutata mastaabistumise efekti vĂ”i see on lĂŒhiajaline. Kui aga organisatsioon loob toote ĂŒmber ristfunktsionaalseid tiime, mis on turule suunatud, siis tĂ”usevad eduvĂ”imalused oluliselt.»
«Teine oluline aspekt mastaabistumisel on kuvada kanban-tahvlitel kÔik pooleliolevad tööd (WIP, work in progress). Kui organisatsioonis on koht, kus inimesed saavad selliseid asju nÀha, stimuleerib see koostööd vÀga palju, mis omakorda toetab mastaabistumist positiivselt.»
8. Otsige vana arm
Manuel Pais, DevOps konsultant ja raamatu âTeam Topologiesâ kaasautor: «DevOps'i praktikate viimine vĂ€ljapoole DevOps'i enda raamistikku ja nende rakendamine teistesse funktsioonidesse ei ole tĂ”enĂ€oliselt optimaalne lĂ€henemine. See toob muidugi teatud mĂ”ju (nĂ€iteks kĂ€sitsijuhtimise automatiseerimise tĂ”ttu), kuid palju rohkem saab saavutada, kui alustada tarnimise- ja tagasisideprotsesside mĂ”istmisest.»
«Kui organisatsiooni IT-sĂŒsteemis on vanu arme â haldusprotseduurid ja mehhanismid, mis on rakendatud varasemate juhtumite tĂ”ttu, kuid on muutunud ebaoluliseks (toodete, tehnoloogiate vĂ”i protsesside muutumise tĂ”ttu), siis tuleb need kindlasti eemaldada vĂ”i siluda, mitte automatiseerida ebaefektiivseid vĂ”i mittevajalikke protsesse».
9. Ăra loo DevOps'i variante
Antony Edwards, Eggplanti tootmisdirektor: «DevOps on vĂ€ga udune termin, seetĂ”ttu on igal meeskonnal oma variant DevOps'ist. Pole midagi hullemat, kui organisatsioonis on korraga 20 erinevat DevOps'i varianti, mis omavahel hĂ€sti ei sobi. Ei saa lubada, et igal kolmel arendustiimil on oma eriline liides arenduse ja tootemanageerimise vahel. Samuti ei saa lubada, et toodetel on oma, unikaalsed ootused tagasiside töötlemise osas, kui need viiakse tootmisĂŒsteemi simulaatorisse. Muul juhul ei Ă”nnestu teil kunagi DevOps'i skaleerida».
10. RÀÀkige DevOps'i vÀÀrtusest Àri jaoks
Steve Newman, ettevĂ”tte Scalyr asutaja ja juhatuse esimees: Töötage DevOpsi vÀÀrtuse tunnustamise nimel. Ăppige ja Ă€rge kartke rÀÀkida sellest, kuidas teie töö on kasulik. DevOps sÀÀstab uskumatult aega ja raha (mĂ”elge: vĂ€hem seisakuid, lĂŒhem keskmine taastumisaeg), seega peavad DevOps meeskonnad pidevalt rĂ”hutama (ja propageerima) nende algatuste tĂ€htsust Ă€ri eduks. Nii suudate laiendada oma jĂ€rgijate ringi ja tugevdada DevOpsi mĂ”ju organisatsioonis.
BOONUS
VDS-l on vĂ”imalik installida: 13. septembril saabub meie oma DevOps â jah, Red Hat'il, tarkvaratootjana, on oma DevOps meeskonnad ja praktikad.
Meie insener Mark Birger, kes arendab sisemisi automatiseerimisteenuseid teistele gruppidele kogu organisatsioonis, rÀÀgib puhtas vene keeles oma lugu â kuidas Red Hati DevOps meeskond migreeris rakendusi virtuaalsetest keskkondadest Hat Virtualization, mida juhib Ansible, tĂ€ieĂ”iguslikku konteinerivormingusse OpenShift platvormil.
Kuid see pole veel kÔik:
PÀrast seda, kui organisatsioonid on oma töökoormused konteineritesse viinud, ei pruugi traditsioonilised rakenduste jÀlgimise meetodid enam toimida. Teises aruandes selgitame, miks me oma logimisviisi muutsime, ja nÀitame teed, mis viis meid kaasaegsete logimise ja jÀlgimise meetoditeni.
Allikas: habr.com
