Inspireeritud vestlusest vestluses
Viimasel ajal kĂ€ivad tĂ”elised lahingud selle ĂŒle, kuidas mÀÀratleda DevOps'i ja SRE'd.
Kuigi arutelud sellel teemal on palju korduvad, otsustasin siiski tuua hapra kogukonna ette oma vaate. Huvi korral olete oodatud allpool. Ja laskem kÔigel alata uuesti!
Eelalugu
Nii olid ammu-ammu eraldi tarkvaraarendajate ja serverihaldurite tiimid. Esimesed kirjutasid edukalt koodi, teised, kasutades erinevaid sooje ja hellitavaid sĂ”nu esimestele, seadistusid serverid, tulevikus kĂŒlastades arendajaid ja saades vastuseks pĂ”hjaliku "minu masinas kĂ”ik töötab". Ări ootas tarkvara, kĂ”ik seisab, vahel puruneb, kĂ”ik olid nĂ€rvis. Erakordselt keegi, kes kogu selle segaduse eest maksab. Suur ja soe ajastu. Aga te juba teate, kust DevOps'i juured tulevad.
DevOps'i praktika sĂŒnni
Siis tulid tĂ”sised hĂ€rrad ja ĂŒtlesid â see ei ole tööstus, niimoodi ei saa töötada. Ja tĂ”id elutsĂŒkli mudelid. NĂ€iteks V-mudel.

Nii et, mida me nĂ€eme? Ări tuleb ideega, arhitektid kavandavad lahendusi, arendajad kirjutavad koodi, edasi toimub kukkumine. Keegi katsetab toodet mingil moel, keegi toimetab selle lĂ”ppkasutajale ja kuskil selle imemudeli vĂ€ljundis istub ĂŒksildane Ă€riklient ja ootab lubatud ilu merest. Oleme jĂ”udnud jĂ€reldusele, et on vajalikud meetodid, mis vĂ”imaldavad selle protsessi korda saada. Otsustasime luua praktikaid, mis neid ellu viivad.
LĂŒhiĂŒlevaade teema kohta, mis on praktika
Praktikaks mĂ”istan ma tehnoloogia ja distsipliini seost. NĂ€ide â praktika infrastruktuuri kirjeldamisest koodina terraformis. Distsipliin on see, kuidas infrastruktuuri koodina kirjeldada; see on arendaja peas, ja tehnoloogia on iseenesest terraform.
Nad otsustasid nad nimetada neid DevOps praktikateks â arvan, et nad mĂ”tlesid arendusest operatsioonidele. Loodud on erinevaid keerulisi asju â CI/CD praktikad, praktikad, mis pĂ”hinevad IaC pĂ”himĂ”ttel, tuhanded neist. Ja kĂ”ik hakkas pihta, arendajad kirjutavad koodi, DevOps insenerid muudavad sĂŒsteemi kirjelduse koodina töötavateks sĂŒsteemideks (jah, kood on kahjuks vaid kirjeldus, mitte sĂŒsteemi kehastus), tarne kĂ€ib, ja nii edasi. Eilsetest administraatoritest, kes olid omandanud uusi praktikaid, said uhkelt DevOps insenerid, ja kĂ”ik algas. Ja Ă”htu sai ja hommik⊠vabandust, vale koht.
KÔik on taas halvasti
LĂ”puks, kui kĂ”ik paika loksus, hakkasid erinevad nutikad "metoodikud" kirjutama paksu raamatuid DevOpsi praktikast. Vaikselt sĂŒttisid vaidlused selle ĂŒle, kes tĂ”eliselt on see kurikuulus DevOps insener ja et DevOps on tootmiskultuur. Rahulolematus kerkis taas pĂ€evakorda. Ăkskord selgus, et tarkvara kohaletoimetamine on tĂ€iesti keeruline ĂŒlesanne. Igal arendusstruktuuril on oma tehnoloogiapakk, kuskil tuleb koguda, kuskil tuleb keskkonda kĂ€ivitada â siin on vaja tomcatit, seal on veel kohandatud kĂ€ivitamisviisi â kokkuvĂ”ttes ajab pea ringi. Ja veel oli probleemiks, nagu mitte ĂŒllatavalt, protsesside korraldamine â see kohaletoimetamise funktsioon, nagu pudelikael, hakkas protsesse blokeerima. Lisaks, operatsioonide (Operations) tĂ€htsust ei saa unustada. V-mudelis ei ole seda nĂ€ha ja seal on terve elutsĂŒkkel paremal. LĂ”puks tuleb hooldada ka infrastruktuuri, jĂ€lgida monitooringut ja lahendada intsidendid, ning veel tegeleda kohaletoimetamisega. St tuleb samal ajal istuda nii arenduses kui ka ekspluateerimises â ja nii sĂŒndis Development & Operations. Siis tuli veel ka suur buum mikroteenustele. Nende varal hakkas arendus kohalikelt masinatelt kolima pilve â proovi kohalikke lahendusi testida, kui mikroteenuseid on kĂŒmneid ja sadu; pidev kohaletoimetamine muutub ellujÀÀmise meetodiks. "VĂ€ikesele ja tagasihoidlikule ettevĂ”ttele" on see veel arusaadav, aga kuidas siis? Ja Google?
Google'i SRE
Google tuli, sĂ”i kĂ”ige suuremad kaktused ja otsustas â me ei vaja sellist, me vajame usaldusvÀÀrsust. Ja usaldusvÀÀrsusega peab tegelema. Otsustas â meil on vaja spetsialiste, kes tegeleksid usaldusvÀÀrsusega. Ta nimetas neid SR-insenerideks ja ĂŒtles, olge head, tehke nagu tavaliselt hĂ€sti. Siin on Teile SLI, siin on Teile SLO, siin on Teile jĂ€lgimine. Ja nĂ€itas operations'i poole. Ja nimetas oma "usaldusvÀÀrse DevOpsi" SRE-ks. KĂ”ik nĂ€ib olevat hĂ€sti, kuid on ĂŒks must hĂ€kk, mida Google endale lubada sai â SR-inseneride kohtadele palgata inimesi, kellel olid arendaja kvalifikatsioon ja kes veel natuke said aru töötavatest sĂŒsteemidest. Lisaks on selliste inimeste palkamisega probleeme ka Googleâil endal â peamiselt seetĂ”ttu, et ta konkureerib iseenda vastu â keegi peab ju ka Ă€riloogikat kirjeldama. TĂ¶Ă¶ĂŒlesanded jagati vĂ€lja vĂ€ljalasketehnika inseneridele, SR-insenerid juhivad usaldusvÀÀrsust (loomulikult mitte otseselt, vaid mĂ”jutades infrastruktuuri, muutes arhitektuuri, jĂ€lgides muutusi ja nĂ€itajaid ning tegeledes intsidentidega). Ilus, vĂ”ib . Aga mida teha, kui te ei ole Google, aga usaldusvÀÀrsus ĂŒkskĂ”ik kuidas hĂ€irib?
DevOps'i ideede arendamine
Siin tuli Ă”igeaegselt Docker, mis kasvas vĂ€lja lxc-st, ning seejĂ€rel erinevad orkestreerimissĂŒsteemid nagu Docker Swarm ja Kubernetes, ning DevOps insenerid hingasid kergendusest â praktikate ĂŒhtlustamine lihtsustas tarnimist. Lihtsustas nii palju, et arendajad saavad isegi tarnimise enda hooleks vĂ”tta â mis see deployment.yaml siis on. Konteineriseerimine lahendab probleemid. Ja CI/CD sĂŒsteemide kĂŒpsus on juba sellisel tasemel, et piisab ĂŒhest failist ja kĂ”ik lĂ€heb kĂ€ima â arendajad saavad hakkama. Ja siis hakkame rÀÀkima, kuidas teha oma SRE, kellega... kasvĂ”i kellegagi.
SRE pole Google'is
Noh, kohaletoimetamine on lĂ”puks korda saadetud, pĂ”himĂ”tteliselt saame hinge hĂ”lbustada ja tagasi minna vanade head aega, mil adminnid jĂ€lgisid protsessorite koormust, hÀÀlestasid sĂŒsteeme ja vaikides jĂ”id midagi arusaamatut rahus ja vaikuses... Oota. Me ei teinud seda kĂ”ike sellepĂ€rast (kahju!). Ăhel hetkel selgub, et Google'i lĂ€henemisviisist on meil tĂ€iesti vĂ”imalik vĂ”tta imetlusvÀÀrsed praktikad â mitte protsessorite koormus ei ole oluline, ega see, kui tihti me seal kĂ”vakettasid vahetame, vĂ”i kuidas me seal pilves kulusid optimeerime, vaid Ă€rimeetmed â kĂ”ik need kuulsad SLx. Ja infrastruktuuri haldamine ei ole kedagi Ă€ra jÀÀnud, ja intsidendid tuleb lahendada, ja aeg-ajalt peab olema valves, ja ĂŒldiselt olema kursis Ă€riprotsessidega. Ja poisid, hakake juba natuke korralikult programmeerima, Google on teid juba oodanud.
KokkuvĂ”tteks. Ăhel hetkel, kuid te olete juba vĂ€sinud lugema ja ei suuda oodata, et kirjutada autorile kommentaar artiklisse. DevOps kui tarnimispraktika on olnud, on ja jÀÀb. See ei kao kuhugi. SRE kui praktikateseade teeb selle sama tarnimise edukaks.
Allikas: habr.com
