Vēlreiz par DevOps un SRE

BalstÄ«ts uz tērzÄ“Å”anas diskusiju AWS Minskas kopiena

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.

Vēlreiz par DevOps un SRE
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 rakstÄ«t grāmatas. Bet ko darÄ«t, ja jÅ«s neesat Google, bet uzticamÄ«ba joprojām ir bažas?

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

Pievieno komentāru