BalstÄ«ts uz tÄrzÄÅ”anas diskusiju
Nesen ir uzliesmojuÅ”as Ä«stas cÄ«Åas par DevOps un SRE definÄ«ciju.
Neraugoties uz to, ka daudzÄjÄdÄ ziÅÄ diskusijas par Å”o tÄmu jau ir uzdzenuÅ”as zobus, arÄ« mani, es nolÄmu nodot savu viedokli par Å”o tÄmu Habras kopienas tiesÄ. Interesentiem laipni lÅ«gti kat. Un lai viss sÄkas no jauna!
AizvÄsture
TÄtad senos laikos programmatÅ«ras izstrÄdÄtÄju un serveru administratoru komanda dzÄ«voja atseviŔķi. Pirmais veiksmÄ«gi uzrakstÄ«ja kodu, otrs, izmantojot dažÄdus sirsnÄ«gus, sirsnÄ«gus vÄrdus, kas adresÄti pirmajam, uzstÄdÄ«ja serverus, periodiski nÄkot pie izstrÄdÄtÄjiem un saÅemot atbildi visaptveroÅ”u paziÅojumu āmanÄ maŔīnÄ viss darbojasā. Bizness gaidÄ«ja programmatÅ«ru, viss bija dÄ«kstÄvÄ, periodiski salÅ«za, visi nervozÄja. ÄŖpaÅ”i tas, kurÅ” maksÄja par visu Å”o putru. KrÄÅ”Ås lampu laikmets. Nu, jÅ«s jau zinÄt, no kurienes nÄk DevOps.
DevOps prakŔu dzimŔana
Tad atnÄca nopietni puiÅ”i un teica - tÄ nav nozare, tÄ strÄdÄt nedrÄ«kst. Un viÅi ieviesa dzÄ«ves cikla modeļus. Å eit, piemÄram, ir V-veida modelis.
TÄtad, ko mÄs redzam? Bizness nÄk ar koncepciju, arhitekti dizaina risinÄjumi, izstrÄdÄtÄji raksta kodu, un tad tas neizdodas. KÄds kaut kÄ pÄrbauda preci, kÄds kaut kÄ nogÄdÄ to lÄ«dz gala lietotÄjam, un kaut kur pie Ŕī brÄ«nummodeļa izejas sÄž vientuļŔ biznesa klients un gaida solÄ«tos laikapstÄkļus pie jÅ«ras. MÄs nonÄcÄm pie secinÄjuma, ka mums ir vajadzÄ«gas metodes, kas ļaus mums izveidot Å”o procesu. Un mÄs nolÄmÄm izveidot praksi, kas tÄs ieviestu.
Liriska atkÄpe par tÄmu, kas ir prakse
Ar praksi es domÄju tehnoloÄ£iju un disciplÄ«nas kombinÄciju. PiemÄrs ir infrastruktÅ«ras aprakstÄ«Å”anas prakse, izmantojot terraforma kodu. DisciplÄ«na ir tas, kÄ aprakstÄ«t infrastruktÅ«ru ar kodu, tas ir izstrÄdÄtÄja galvÄ, un tehnoloÄ£ija ir pati terraforma.
Un viÅi nolÄma tos saukt par DevOps praksÄm ā es domÄju, ka tie nozÄ«mÄja no izstrÄdes lÄ«dz darbÄ«bÄm. MÄs izdomÄjÄm dažÄdas gudras lietas - CI/CD prakses, prakses pÄc IaC principa, tÅ«kstoÅ”iem. Un mÄs ejam, izstrÄdÄtÄji raksta kodu, DevOps inženieri pÄrveido sistÄmas aprakstu koda veidÄ par darba sistÄmÄm (jÄ, kods diemžÄl ir tikai apraksts, bet ne sistÄmas iemiesojums), piegÄde turpinÄs, un tÄ tÄlÄk. Vakardienas administratori, apguvuÅ”i jaunas prakses, lepni pÄrkvalificÄjÄs par DevOps inženieriem, un viss turpinÄjÄs. Un bija vakars, un bija rÄ«ts... piedodiet, ne no turienes.
Atkal nav viss labi, paldies Dievam
TiklÄ«dz viss nomierinÄjÄs un dažÄdi viltÄ«gi āmetodologiā sÄka rakstÄ«t biezas grÄmatas par DevOps praksi, klusi uzliesmoja strÄ«di par to, kas ir bÄdÄ«gi slavenais DevOps inženieris un ka DevOps ir ražoÅ”anas kultÅ«ra, atkal radÄs neapmierinÄtÄ«ba. PÄkÅ”Åi izrÄdÄ«jÄs, ka programmatÅ«ras piegÄde ir absolÅ«ti nenozÄ«mÄ«gs uzdevums. Katrai izstrÄdes infrastruktÅ«rai ir savs kaudze, kaut kur jÄsamontÄ, kaut kur jÄizvieto vide, te vajag Tomcat, te vajag viltÄ«gu un sarežģītu veidu, kÄ to palaist - vispÄr galva dauzÄs. Un problÄma, dÄ«vainÄ kÄrtÄ, galvenokÄrt bija procesu organizÄÅ”anÄ - Ŕī piegÄdes funkcija kÄ saÅ”aurinÄjums sÄka bloÄ·Ät procesus. TurklÄt neviens neatcÄla OperÄcijas. V-modelÄ« tas nav redzams, bet labajÄ pusÄ joprojÄm ir viss dzÄ«ves cikls. RezultÄtÄ ir kaut kÄ jÄuztur infrastruktÅ«ra, jÄuzrauga monitorings, jÄrisina incidenti un arÄ« jÄnodarbojas ar piegÄdi. Tie. sÄdÄt ar vienu kÄju gan izstrÄdÄ, gan darbÄ«bÄ - un pÄkÅ”Åi izrÄdÄ«jÄs, ka tÄ ir Development & Operations. Un tad bija vispÄrÄja ažiotÄža par mikropakalpojumiem. Un lÄ«dz ar viÅiem izstrÄde no vietÄjÄm maŔīnÄm sÄka pÄriet uz mÄkoni - mÄÄ£iniet kaut ko atkļūdot lokÄli, ja ir desmitiem un simtiem mikropakalpojumu, tad pastÄvÄ«ga piegÄde kļūst par izdzÄ«voÅ”anas lÄ«dzekli. āNelielam pieticÄ«gam uzÅÄmumamā viss bija kÄrtÄ«bÄ, bet tomÄr? KÄ ar Google?
SRE no Google
Google atnÄca, apÄda lielÄkos kaktusus un nolÄma ā mums tas nav vajadzÄ«gs, mums ir vajadzÄ«ga uzticamÄ«ba. Un uzticamÄ«ba ir jÄpÄrvalda. Un es nolÄmu, ka mums ir vajadzÄ«gi speciÄlisti, kas pÄrvaldÄ«s uzticamÄ«bu. Es viÅus saucu par SR inženieriem un teicu: tas jums, dariet to labi kÄ parasti. Å eit ir SLI, Å”eit ir SLO, Å”eit ir uzraudzÄ«ba. Un viÅÅ” iebÄza degunu operÄcijÄs. Un viÅÅ” sauca savu āuzticamo DevOpsā SRE. Å Ä·iet, ka viss ir kÄrtÄ«bÄ, bet ir viens netÄ«rs hack, ko Google varÄtu atļauties - SR inženieru amatam nolÄ«gt cilvÄkus, kuri bija kvalificÄti izstrÄdÄtÄji un arÄ« veica nelielu mÄjasdarbu un saprata darba sistÄmu darbÄ«bu. TurklÄt paÅ”am Google ir problÄmas ar Å”Ädu cilvÄku pieÅemÅ”anu darbÄ - galvenokÄrt tÄpÄc, ka te konkurÄ ar sevi - vajag kÄdam aprakstÄ«t biznesa loÄ£iku. PiegÄde tika uzticÄta izlaiduma inženieriem, SR - inženieri pÄrvalda uzticamÄ«bu (protams, ne tieÅ”i, bet gan ietekmÄjot infrastruktÅ«ru, mainot arhitektÅ«ru, izsekojot izmaiÅÄm un indikatoriem, risinot incidentus). Jauki, tu vari
DevOps ideju izstrÄde
TieÅ”i tad ieradÄs Docker, kas izauga no lxc, un pÄc tam dažÄdas orÄ·estrÄÅ”anas sistÄmas, piemÄram, Docker Swarm un Kubernetes, un DevOps inženieri izelpoja - prakses apvienoÅ”ana vienkÄrÅ”oja piegÄdi. Tas to vienkÄrÅ”oja tiktÄl, ka kļuva iespÄjams pat piegÄdÄt izstrÄdÄtÄjiem Ärpakalpojumus - kas ir deployment.yaml. Konteiners atrisina problÄmu. Un CI/CD sistÄmu briedums jau ir viena faila ierakstÄ«Å”anas lÄ«menÄ« un ejam ā izstrÄdÄtÄji ar to var tikt galÄ paÅ”i. Un tad mÄs sÄkam runÄt par to, kÄ mÄs varam izveidot savu SRE, ar... vai vismaz ar kÄdu.
SRE nav Google tÄ«klÄ
Nu ok, atvedÄm piegÄdi, Ŕķiet, varam izelpot, atgriezties vecajos labajos laikos, kad admini skatÄ«jÄs procesora noslogoÅ”anos, tÅ«nÄja sistÄmas un klusi klusÄ«bÄ no krÅ«zÄm iemalkoja kaut ko nesaprotamu... Stop. Ne jau tÄpÄc mÄs visu sÄkÄm (žÄl!). PÄkÅ”Åi izrÄdÄs, ka Google pieejÄ mÄs varam viegli pÄrÅemt izcilu praksi ā svarÄ«ga nav procesora slodze, nevis tas, cik bieži tur mainÄm diskus vai optimizÄjam izmaksas mÄkonÄ«, bet biznesa rÄdÄ«tÄji ir tÄdi paÅ”i bÄdÄ«gi slaveni. SLx. Un neviens no viÅiem nav noÅÄmis infrastruktÅ«ras pÄrvaldÄ«bu, un viÅiem ir jÄatrisina incidenti, periodiski jÄdežūrÄ un parasti jÄuzrauga biznesa procesi. Un puiÅ”i, sÄciet pamazÄm programmÄt labÄ lÄ«menÄ«, Google jÅ«s jau gaida.
Apkopot. PÄkÅ”Åi, bet jums jau ir apnicis lasÄ«t un nevarat vien sagaidÄ«t, kad varÄsit nospļauties un rakstÄ«t autoram raksta komentÄrÄ. DevOps kÄ piegÄdes prakse vienmÄr ir bijusi un bÅ«s. Un tas nekur nenonÄk. SRE kÄ darbÄ«bas prakses kopums padara Å”o piegÄdi ļoti veiksmÄ«gu.
Avots: www.habr.com