Kas DevOpsist rÀÀkides on raske peamist mÔtet mÔista? Oleme kogunud teile erksad analoogid, rabavad sÔnastused ja ekspertide nÔuanded, mis aitavad isegi mittespetsialistidel asjani jÔuda. LÔpuks on boonuseks Red Hati töötajate enda DevOps.

MĂ”iste DevOps sai alguse 10 aastat tagasi ja on muutunud Twitteri hashtagist vĂ”imsaks kultuuriliikumiseks IT-maailmas â tĂ”eliseks filosoofiaks, mis julgustab arendajaid asju kiiremini tegema, katsetama ja edasi liikuma. DevOps on muutunud lahutamatult seotud digitaalse transformatsiooni kontseptsiooniga. Kuid nagu IT-terminoloogiaga sageli juhtub, on DevOps viimase kĂŒmne aasta jooksul omandanud enda kohta palju definitsioone, tĂ”lgendusi ja vÀÀrarusaamu.
SeetĂ”ttu vĂ”ite sageli kuulda DevOpsi kohta kĂŒsimusi, kas see on sama mis agiilne? VĂ”i on see mingi eriline metoodika? VĂ”i on see lihtsalt sĂ”na "koostöö" sĂŒnonĂŒĂŒm?
DevOps sisaldab palju erinevaid kontseptsioone (pidev kohaletoimetamine, pidev integreerimine, automatiseerimine jne), nii et olulise vĂ€ljaselgitamine vĂ”ib olla keeruline, eriti kui olete selle teema vastu kirglik. See oskus on aga vĂ€ga kasulik, olenemata sellest, kas ĂŒritad oma ideid ĂŒlemustele edasi anda vĂ”i lihtsalt rÀÀgid oma tööst kellelegi oma perekonnast vĂ”i sĂ”pradest. SeetĂ”ttu jĂ€tame DevOpsi terminoloogilised nĂŒansid praegu kĂ”rvale ja keskendume suurele pildile.
Mis on DevOps: 6 definitsiooni ja analoogiat
Palusime ekspertidel vĂ”imalikult lihtsalt ja lĂŒhidalt selgitada DevOpsi olemust, et selle vÀÀrtus saaks selgeks ka mis tahes tehniliste teadmistega lugejatele. Nende vestluste tulemuste pĂ”hjal oleme vĂ€lja valinud kĂ”ige silmatorkavamad analoogiad ja silmatorkavamad formulatsioonid, mis aitavad teil luua oma lugu DevOpsi kohta.
1. DevOps on kultuuriline liikumine
"DevOps on kultuuriline liikumine, milles mĂ”lemad osapooled (tarkvaraarendajad ja IT-sĂŒsteemide kĂ€itamise spetsialistid) tunnistavad, et tarkvara ei too tegelikku kasu enne, kui keegi seda kasutama hakkab: kliendid, kliendid, töötajad, mitte asja mĂ”te," ĂŒtleb vanemteadur Eveline Oehrlich. DevOpsi Instituudi analĂŒĂŒtik. "SeetĂ”ttu tagavad mĂ”lemad pooled ĂŒhiselt tarkvara kiire ja kvaliteetse tarnimise."
2. DevOps on arendajatele volituste andmine.
"DevOps annab arendajatele vÔimaluse omada rakendusi, neid kÀitada ja hallata tarnimist algusest lÔpuni."
"Tavaliselt rÀÀgitakse DevOpsist kui viisist, kuidas kiirendada rakenduste tarnimist tootmisse automatiseeritud protsesside loomise ja juurutamise kaudu," ĂŒtleb kindlustusfirma Liberty Mutual DevOpsi platvormide direktor Jai Schniepp. "Aga minu jaoks on see palju pĂ”himĂ”ttelisem asi." DevOps annab arendajatele vĂ”imaluse omada rakendusi vĂ”i konkreetseid tarkvaraosi, neid kĂ€itada ja hallata nende tarnimist algusest lĂ”puni. DevOps kĂ”rvaldab vastutuse segaduse ja juhendab kĂ”iki, kes on seotud automatiseeritud, arendajapĂ”hise infrastruktuuri loomisega.
3. DevOps on koostöö rakenduste loomisel ja tarnimisel.
"Lihtsamalt öeldes on DevOps lĂ€henemine tarkvara tootmisele ja tarnimisele, kus kĂ”ik töötavad koos," ĂŒtleb BMC president ja digitaalse Ă€ri automatiseerimise juht Gur Staf.
4. DevOps on torujuhe
"Konveieri kokkupanek on vÔimalik ainult siis, kui kÔik osad sobivad kokku."
"Ma vĂ”rdleksin DevOpsi autode koosteliiniga," jĂ€tkab Gur Staff. â Idee seisneb selles, et kĂ”ik osad tuleb eelnevalt projekteerida ja valmistada, et neid saaks seejĂ€rel ilma individuaalse reguleerimiseta kokku panna. Konveieri kokkupanek on vĂ”imalik ainult siis, kui kĂ”ik osad sobivad kokku. Need, kes mootorit projekteerivad ja ehitavad, peavad mĂ”tlema, kuidas seda kerele vĂ”i raamile kinnitada. Need, kes pidureid teevad, peavad mĂ”tlema ratastele jne. Sama peaks kehtima ka tarkvaraga.
Ăriloogikat vĂ”i kasutajaliidest loov arendaja peab mĂ”tlema klienditeavet talletavale andmebaasile, turvameetmetele kasutajaandmete kaitsmiseks ja sellele, kuidas see kĂ”ik toimib, kui teenus hakkab teenindama suurt, vĂ”ib-olla isegi mitme miljoni dollari suurust kasutajaskonda. ."
âSuurim takistus, mida ĂŒletada, on panna inimesi tegema koostööd ja mĂ”tlema nende töö osadele, mida teised teevad, selle asemel, et keskenduda ainult oma ĂŒlesannetele. Kui saate seda teha, on teil suurepĂ€rane vĂ”imalus digitaalseks muutumiseks, " lisab Gur Staff.
5. DevOps on inimeste, protsesside ja automatiseerimise Ôige kombinatsioon
DevOpsi instituudi tegevdirektor Jayne Groll pakkus DevOpsi selgitamiseks suurepÀrase analoogia. Tema sÔnul on DevOps nagu retsept, millel on kolm peamist koostisosade kategooriat: inimesed, protsess ja automatiseerimine. Enamikku neist koostisosadest saab vÔtta teistest valdkondadest ja allikatest: Lean, Agile, SRE, CI/CD, ITIL, juhtimine, kultuur, tööriistad. DevOpsi, nagu iga hea retseptigi, saladus seisneb selles, kuidas saada nende koostisainete Ôiged proportsioonid ja segu, et suurendada rakenduste loomise ja vÀljastamise kiirust ja tÔhusust.
6. DevOps on see, kui programmeerijad töötavad nagu vormel 1 meeskond
"Jooks ei ole planeeritud algusest lÔpuni, vaid vastupidi, finiƥist stardini."
"Kui ma rÀÀgin sellest, mida DevOpsi algatusest oodata, pean nĂ€iteks NASCARi vĂ”i vormel 1 vĂ”idusĂ”idumeeskonda," ĂŒtleb Red Hati pilveplatvormi turunduse vanemjuht ja DevOpsi uudiskirja vĂ€ljaandja Chris Short. â Sellise meeskonna juhil on ĂŒks eesmĂ€rk: vĂ”tta vĂ”istluse lĂ”pus vĂ”imalikult kĂ”rge koht, vĂ”ttes arvesse meeskonna kĂ€sutuses olevaid ressursse ja vĂ€ljakutseid, mis teda tabasid. Sel juhul ei planeerita sĂ”itu algusest lĂ”puni, vaid vastupidi, finiĆĄist stardini. Esiteks seatakse ambitsioonikas eesmĂ€rk ja seejĂ€rel mÀÀratakse selle saavutamise viisid. SeejĂ€rel jagatakse need alamĂŒlesanneteks ja delegeeritakse meeskonnaliikmetele.
«Meeskond veedab terve nĂ€dala enne vĂ”istlust boksipeatuse tĂ€iustamisega. Ta teeb jĂ”utreeningut ja kardiotreeningut, et kurnavaks vĂ”istluspĂ€evaks vormis pĂŒsida. Harjutab koostööd, et lahendada vĂ”istluse ajal tekkida vĂ”ivaid probleeme. Samuti peaks arendusmeeskond treenima uute versioonide sagedase vĂ€ljalaskmise oskust. Selliste oskuste ja hĂ€sti töötava turvasĂŒsteemi olemasolul toimub ka uute versioonide tootmisse toomine sagedamini. Selles maailmapildis tĂ€hendab suurenenud kiirus suurenenud turvalisust,â ĂŒtleb Short.
"Asi ei ole selles, et teha Ôigeid asju," lisab Short, "see on vÔimalikult paljude asjade kÔrvaldamine, mis takistavad soovitud tulemuse saavutamist. Tehke koostööd ja kohandage reaalajas saadud tagasiside pÔhjal. Olge valmis kÔrvalekalleteks ja töötage kvaliteedi parandamise nimel, et minimeerida nende mÔju teie eesmÀrgi saavutamisel. See ootab meid DevOpsi maailmas.

Kuidas DevOpsi skaleerida: 10 nÀpunÀidet ekspertidelt
Asi on selles, et DevOps ja mass DevOps on tĂ€iesti erinevad asjad. Me rÀÀgime teile, kuidas ĂŒletada tĂ”kked teel esimesest teise.
Paljude organisatsioonide jaoks algab teekond DevOpsini lihtsalt ja meeldivalt. Luuakse vÀikesed kirglikud meeskonnad, vanad protsessid asendatakse uutega ning esimesed Ônnestumised ei lase end kaua oodata.
Kahjuks on see lihtsalt vale sĂ€ra, edu illusioon, ĂŒtleb konsultatsioonifirma North Highlandi tegevdirektor ja digivaldkonna juht Ben Grinnell. Varased vĂ”idud on kindlasti julgustavad, kuid need ei aita saavutada lĂ”ppeesmĂ€rki â DevOpsi laialdast kasutuselevĂ”ttu kogu organisatsioonis.
Lihtne on mĂ”ista, et tulemuseks on âmeieâ ja ânendeâ jagamise kultuur.
"Tihti kĂ€ivitavad organisatsioonid need teedrajavad projektid, mĂ”eldes, et need sillutavad teed peavoolule DevOpsile, mĂ”tlemata sellele, kas teised suudavad vĂ”i soovivad seda teed jĂ€rgida," selgitab Ben Grinnell. â Meeskonnad selliste projektide elluviimiseks komplekteeritakse tavaliselt enesekindlatest âvaragilastestâ, kes on juba mujal midagi sarnast teinud, kuid teie organisatsioonis uued. Samal ajal julgustatakse neid rikkuma ja hĂ€vitama reegleid, mis jÀÀvad kĂ”igile teistele siduvaks. On lihtne nĂ€ha, et tulemuseks on âmeieâ ja ânendeâ kultuur, mis pĂ€rsib teadmiste ja oskuste edasiandmist.
"Ja see kultuuriprobleem on vaid ĂŒks pĂ”hjustest, miks DevOpsi on raske skaleerida. DevOpsi meeskonnad seisavad silmitsi suurenenud tehniliste vĂ€ljakutsetega, mis on tĂŒĂŒpilised kiiresti kasvavatele IT-ettevĂ”tetele,â ĂŒtles Scalyri asutaja ja esimees Steve Newman.
âKaasaegses maailmas muutuvad teenused kohe, kui vajadus tekib. Tore on pidevalt uusi funktsioone juurutada ja juurutada, kuid selle protsessi koordineerimine ja tekkivate probleemide kĂ”rvaldamine on paras peavalu, lisab Steve Newman. â VĂ€ga kiiresti arenevates organisatsioonides on ristfunktsionaalsete meeskondade inseneridel raskusi, et sĂ€ilitada nĂ€htavust muutuste ja nende tekitatavate kaskaadmĂ”jude suhtes sĂ”ltuvuse tasemel. Pealegi pole insenerid Ă”nnelikud, kui nad sellest vĂ”imalusest ilma jÀÀvad ja seetĂ”ttu on neil raskem mĂ”ista tekkivate probleemide olemust.
Kuidas ĂŒletada need ĂŒlalkirjeldatud vĂ€ljakutsed ja liikuda DevOpsi massilisele kasutusele suures organisatsioonis? Eksperdid nĂ”uavad kannatlikkust, isegi kui teie lĂ”ppeesmĂ€rk on kiirendada tarkvara arendustsĂŒklit ja Ă€riprotsesse.
1. Pea meeles, et kultuurimuutus vÔtab aega.
Jayne Groll, DevOpsi Instituudi tegevdirektor: "Minu arvates peaks DevOpsi laiendamine olema sama jĂ€rkjĂ€rguline ja iteratiivne kui agiilne arendus (ja samavĂ”rra puudutama ka kultuuri). Agile ja DevOps rĂ”hutavad vĂ€ikeseid meeskondi. Kuid kuna nende meeskondade arv ja integreerumine kasvab, jĂ”uame selleni, et rohkem inimesi vĂ”tab kasutusele uued tööviisid ja selle tulemusena toimub tohutu kultuuriline ĂŒmberkujundamine.
2. Kuluta piisavalt aega planeerimisele ja platvormi valikule
Eran Kinsbruner, Perfecto juhtiv tehniline evangelist: "Skaleerimise toimimiseks peavad DevOpsi meeskonnad kĂ”igepealt Ă”ppima kombineerima traditsioonilisi protsesse, tööriistu ja oskusi ning seejĂ€rel aeglaselt arendama ja stabiliseerima DevOpsi iga ĂŒksikut faasi. KĂ”ik algab kasutajalugude ja vÀÀrtusvoogude hoolikast planeerimisest, millele jĂ€rgneb tarkvara kirjutamine ja versioonikontroll, kasutades tĂŒvipĂ”hist arendust vĂ”i muid koodide harundamiseks ja ĂŒhendamiseks kĂ”ige sobivamaid lĂ€henemisviise.
âSiis tuleb integreerimise ja testimise etapp, kus automatiseerimiseks on juba vaja skaleeritavat platvormi. Siin on DevOpsi meeskondade jaoks oluline valida Ă”ige platvorm, mis vastab nende oskuste tasemele ja projekti lĂ”ppeesmĂ€rkidele.
JÀrgmine etapp on tootmisse juurutamine ja see peaks olema orkestreerimistööriistade ja konteinerite abil tÀielikult automatiseeritud. DevOpsi kÔikides etappides (tootmissimulaator, kvaliteedikontrolli keskkond ja tegelik tootmiskeskkond) on oluline omada virtualiseeritud keskkondi ning kasutada asjakohaste jÀrelduste tegemiseks testide jaoks alati ainult uusimaid andmeid. Analytics peab olema nutikas ja suuteline töötlema suuri andmeid kiire ja teostatava tagasisidega.
3. VĂ”tke sĂŒĂŒ vastutusest vĂ€lja.
Gordon Haff, RedHati evangelist: âKatsetamist vĂ”imaldava ja julgustava sĂŒsteemi ja atmosfÀÀri loomine vĂ”imaldab agiilse tarkvaraarenduse puhul nn edukaid ebaĂ”nnestumisi. See ei tĂ€henda, et keegi teine ââei vastuta ebaĂ”nnestumiste eest. Tegelikult muutub vastutaja tuvastamine veelgi lihtsamaks, kuna "vastutus" ei tĂ€henda enam "Ă”nnetuse pĂ”hjustamist". See tĂ€hendab, et vastutuse olemus muutub kvalitatiivselt. Neli tegurit muutuvad kriitiliseks: hĂ€irete ulatus, lĂ€henemisviisid, tootmisprotsessid ja stiimulid. (Lisateavet nende tegurite kohta saate lugeda Gordon Huffi artiklist "DevOpsi Ă”ppetunnid: tervislike katsete 4 aspekti.")
4. Vabastage tee edasi
Ben Grinnell, konsultatsioonifirma North Highland tegevdirektor ja digivaldkonna juht: âMastaabi saavutamiseks soovitan kĂ€ivitada âtee puhastamiseâ programm koos teedrajavate projektidega. Selle programmi eesmĂ€rk on koristada prĂŒgi, mille DevOpsi pioneerid endast maha jĂ€tavad, nagu aegunud reeglid ja muu taoline, nii et tee edasi jÀÀks selgeks.
âAndke inimestele organisatsioonilist tuge ja hoogu suhtluse kaudu, mis ulatub teerajajarĂŒhmast palju kaugemale, tĂ€histades laialdaselt uute tööviiside edu. Treenige inimesi, kes on seotud DevOpsi projektide jĂ€rgmise lainega ja on nĂ€rvis DevOpsi esmakordse kasutamise pĂ€rast. Ja pidage meeles, et need inimesed on pioneeridest vĂ€ga erinevad.
5. Demokratiseerige tööriistad
Steve Newman, Scalyri asutaja ja esimees: "Tööriistad ei tohiks olla inimeste eest varjatud ja need peaksid olema suhteliselt hĂ”lpsasti Ă”pitavad kĂ”igile, kes soovivad aega kulutada. Kui logide pĂ€ringute tegemise vĂ”imalus on piiratud kolme tööriista kasutamiseks "sertifitseeritud" inimesega, on probleemi lahendamiseks alati saadaval maksimaalselt kolm inimest, isegi kui teil on vĂ€ga suur arvutuskeskkond. TeisisĂ”nu, siin on kitsaskoht, mis vĂ”ib kaasa tuua tĂ”siseid (Ă€rilisi) tagajĂ€rgi.â
6. Loo ideaalsed tingimused meeskonnatööks
Tom Clark, ITV ĂŒhise platvormi juht: âSa vĂ”id teha kĂ”ike, aga mitte kĂ”ike korraga. Nii et seadke suured eesmĂ€rgid, alustage vĂ€ikestest ja liikuge kiirete iteratsioonidega edasi. Aja jooksul kujuneb teil vĂ€lja maine asjade tegemisel, nii et ka teised soovivad teie meetodeid kasutada. Ja Ă€rge muretsege vĂ€ga tĂ”husa meeskonna loomise pĂ€rast. Selle asemel looge inimestele ideaalsed töötingimused ja tulemuslikkus jĂ€rgneb.
7. Ărge unustage Conway seadust ja Kanbani tahvleid
Logan Daigle, CollabNetVersionOne'i tarkvara tarnimise ja DevOpsi strateegia direktor: "On oluline mĂ”ista Conway seaduse tagajĂ€rgi. Minu lĂ”dvalt ĂŒmbersĂ”nastades ĂŒtleb see seadus, et meie loodud tooted ja protsessid, mida me selleks kasutame, sealhulgas DevOps, osutuvad ĂŒlesehituseks samamoodi nagu meie organisatsioon.
âKui organisatsioonis on palju silohoidlaid ja kontroll vahetab tarkvara planeerimisel, ehitamisel ja vĂ€ljastamisel mitu korda omanikku, on skaleerimise mĂ”ju null vĂ”i lĂŒhiajaline. Kui organisatsioon loob funktsionaalseid meeskondi toodete ĂŒmber, mida rahastatakse turule keskendudes, suureneb eduvĂ”imalus jĂ€rsult.
"Teine skaleerimise oluline aspekt on kÔigi pooleliolevate tööde (WIP, workinprogress) kuvamine Kanbani tahvlitel. Kui organisatsioonil on koht, kus inimesed saavad neid asju nÀha, julgustab see oluliselt koostööd, millel on positiivne mÔju skaleerimisele.
8. Otsige vanu arme
Manuel Pais, DevOpsi konsultant ja Team Topologies kaasautor: âDevOpsi tavade rakendamine vĂ€ljaspool Dev ja Ops ennast ja nende rakendamine teistele funktsioonidele on vaevalt optimaalne lĂ€henemine. Kindlasti on sellel teatud mĂ”ju (nĂ€iteks kĂ€sitsijuhtimise automatiseerimisega), kuid palju enamat on vĂ”imalik saavutada, kui alustada tarne- ja tagasisideprotsesside mĂ”istmisest.
âKui organisatsiooni IT-sĂŒsteemis on vanu arme â protseduure ja juhtimismehhanisme, mis on juurutatud mineviku intsidentide tulemusena, kuid on kaotanud oma aktuaalsuse (muutuste tĂ”ttu toodetes, tehnoloogiates vĂ”i protsessides) â, siis tuleb need kindlasti eemaldada. vĂ”i silutud, mitte automatiseerida ebatĂ”husaid vĂ”i mittevajalikke protsesse.
9. Ărge kasvatage DevOpsi valikuid
Anthony Edwards, Eggplanti operatsioonide direktor: "DevOps on vĂ€ga ebamÀÀrane termin, nii et igal meeskonnal on oma DevOpsi versioon. Ja pole midagi hullemat, kui organisatsioonil on ĂŒhtĂ€kki 20 erinevat DevOpsi, mis omavahel eriti lĂ€bi ei saa. KĂ”igil kolmel arendusmeeskonnal on vĂ”imatu omada oma spetsiaalset liidest arenduse ja tootehalduse vahel. Samuti ei tohiks toodetel tootmissimulaatorisse ĂŒleviimisel olla oma ainulaadseid ootusi tagasiside kĂ€sitlemisel. Vastasel juhul ei saa te kunagi DevOpsi skaleerida.
10. Jutlustage DevOpsi ÀrivÀÀrtust
Steve Newman, Scalyri asutaja ja esimees: "Töötage DevOpsi vÀÀrtuse tuvastamiseks. Ăppige ja rÀÀkige julgelt oma tegevuse eelistest. DevOps sÀÀstab uskumatult aega ja raha (mĂ”elge vaid: vĂ€hem seisakuid, lĂŒhem keskmine taastumisaeg) ning DevOpsi meeskonnad peavad vĂ€simatult rĂ”hutama (ja jutlustama) nende algatuste tĂ€htsust Ă€riedu jaoks. Nii saate laiendada jĂ€rgijate ringi ja suurendada DevOpsi mĂ”ju organisatsioonis.
BONUS
Edasi Meie oma DevOps saabub 13. septembril â jah, Red Hatil kui tarkvaratootjal on oma DevOpsi meeskonnad ja praktikad.
Meie insener Mark Birger, kes arendab sisemisi automatiseerimisteenuseid teistele rĂŒhmadele kogu organisatsioonis, rÀÀgib selges vene keeles oma loo â kuidas Red Hat DevOpsi meeskond migreeris rakendused Ansible hallatavatest Hat Virtualizationi virtuaalsetest keskkondadest tĂ€ieĂ”iguslikku konteinerivormingusse OpenShifti platvorm.
Kuid see pole veel kÔik:
Kui organisatsioonid on töökoormused konteineritesse teisaldanud, ei pruugi traditsioonilised rakenduste jÀlgimise meetodid töötada. Teises kÔnes selgitame oma motivatsiooni logimisviisi muutmisel ja nÀitame tee jÀtku, mis viis meid tÀnapÀevaste raie- ja seiremeetoditeni.
Allikas: www.habr.com
