Kohas pÔhinev arutelu vestluses
Viimasel ajal kĂ€ivad tĂ”elised lahingud DevOpsi ja SRE mĂ”iste mÀÀratlemise ĂŒle.
Kuigi see teema on paljudele juba tuntud ja vÀsitav, otsustasin siiski tuua selle Habr kogukonna arutlusele ja jagada oma seisukohta. KÔik, kes on huvitatud, olete teretulnud allapoole lugema. Las kÔik algab uuesti!
Eellugu
Nii oli kunagi kauges minevikus eraldi tarkvaraarendajate ja serverihaldurite meeskond. Esimesed kirjutasid koodi, teised, kasutades erinevaid soojaid ja sĂ”bralikke vĂ€ljendeid esimate aadressil, seadistasid servereid, kĂŒlastades arendajaid ja saades vastuseks ammendavat "minu masina peal töötab kĂ”ik". Ări ootas tarkvara, kĂ”ik seisis, aeg-ajalt purunes, kĂ”ik olid nĂ€rvilised. Eriti see, kes selle kogu kaose eest maksis. SuurepĂ€rane, nostalgiline aeg. TĂ”enĂ€oliselt te juba teate, kust on DevOps pĂ€rit.
DevOps praktika sĂŒnd
Siis tulid tĂ”sised mehed ja ĂŒtlesid â see ei ole tööstus, nii töötada ei saa. Ja tĂ”id kaasa elutsĂŒkli mudelid. NĂ€iteks V-mudel.

Nii et, mida me nĂ€eme? Ări tuleb kontseptsiooniga, arhitektid projekteerivad lahendusi, arendajad kirjutavad koodi, edasi â ebaĂ”nnestumine. Keegi testib toodet kuidagi, keegi toimetab selle lĂ”pptarbijale ja kuskil selle imemudeli vĂ€ljundis istub ĂŒksi Ă€ri tellija ja ootab lubatud ilmadelt. JĂ”uti jĂ€reldusele â on vaja meetodeid, mis aitaksid selle protsessi korraldada. Otsustati luua praktika, mis need meetodid ellu viiks.
LĂŒhiĂŒlevaade, mis on praktika
Praktikaga mĂ”istan ma tehnoloogia ja distsipliini ĂŒhendust. NĂ€ide â infrastruktuuri kodeerimise praktika terraformis. Distsipliin on see, kuidas infrastruktuuri koodiga kirjeldada, see on arendaja peas, ja tehnoloogia on tegelikult terraform.
Nad olid otsustanud nimetada neid DevOps praktikuteks â arvan, et nad mĂ”tlesid alates arendamisest kuni rakendamiseni. Nad leiutasid erinevaid keerulisi asju â CI/CD praktikad, praktikad, mis pĂ”hinevad IaC pĂ”himĂ”ttel, tuhandeid neist. Ja lĂ€ks lahti, arendajad kirjutavad koodi, DevOps insenerid muudavad sĂŒsteemi kirjelduse koodiks töötavateks sĂŒsteemideks (jah, kahjuks on kood vaid kirjeldus, mitte sĂŒsteemi teostus), tarned kĂ€ivad, ja nii edasi. Eelnevad administraatorid, kes olid omandanud uusi praktikaid, uhkelt ĂŒmber Ă”petanud DevOps insenerideks, ja kĂ”ik lĂ€ks liikvele. Ja oli Ă”htu, ja oli hommik⊠vabandage, vale koht.
KÔik ei ole jÀlle hÀsti.
Alles see toimus, kui erinevad nutikad âmeetodoloogidâ hakkasid kirjutama paksu raamatuid DevOps praktikate kohta, tekkisid vaikselt vaidlused, kes on see kuulus DevOps insener ja mis on DevOps â kultuur tootmises, rahulolematus lĂ”i taas vĂ€lja. ĂhtĂ€kki selgus, et tarkvara tarnimine on tĂ€iesti mittetriviaalne ĂŒlesanne. Igal arendusinfrastruktuuril on oma tehnoloogiad, aeg-ajalt tuleb midagi koguda, aeg-ajalt kĂ€ivitada keskkond, siin on vajalik tomcat, seal on veel keeruline viis kĂ€ivitamiseks â kokkuvĂ”ttes on pea plahvatusohtlik. Ja veel probleem, nagu mitte ĂŒllatavalt, osutus kĂ”igepealt seotud protsesside korraldamisega â see tarnefunktsioon, nagu pudeÄŒkael, hakkas blokeerima protsesse. Lisaks ei ole keegi opereerimist (Operations) tĂŒhistanud. Seda ei ole V-mudelis nĂ€ha, samas kui seal on veel kogu elutsĂŒkkel paremal. KokkuvĂ”ttes peab toetama infrastruktuuri, jĂ€lgima monitooringut, lahendama intsidente ja tegelema veel tarnimisega. St peab olema ĂŒhe jalaga nii arenduses kui ka halduses â ja Ă€kki saime sellise Development & Operations. Ja siis tuli veel mikroteenuste suur buum. Ja koos nendega hakkas arendus kohalikelt masinatelt pilve ĂŒle minema â proovi midagi kohapeal siluda, kui mikroteenuseid on kĂŒmneid ja sadu, siis muutub pidev tarnimine ellujÀÀmise vahendiks. âVĂ€ikesele tagasihoidlikule ettevĂ”tteleâ pole see veel probleem, aga ikkagi? Aga Google?
Google'i SRE
Google tuli, sĂ”i kĂ”ige suuremad kaktused ja otsustas â me ei vaja seda, me vajame usaldusvÀÀrsust. Ja usaldusvÀÀrsust tuleb hallata. Otsustas, et on vaja spetsialiste, kes usaldusvÀÀrsust haldavad. Nimed nad SR-insenerideks ja ĂŒtlesid: siin on kĂ”ik, tehke nagu tavaliselt hĂ€sti. Siin on SLI, siin on SLO, siin on jĂ€lgimine. Ja suunas nad operations'i poole. Ja nimetas oma "usaldusvÀÀrse DevOpi" SRE-ks. KĂ”ik nĂ€ib hea, aga on ĂŒks rĂ€pane trik, mille Google endale lubada sai â SR-inseneride ametikohtadele palgata inimesi, kellel oli arendaja kvalifikatsioon ja kes natuke tundsid töötavate sĂŒsteemide toimimist. Pealegi on Google'il endal nende inimeste palkamisega probleeme â peamiselt seetĂ”ttu, et ta konkureerib iseendaga â peab ju ka Ă€riloogikat kellelegi kirjeldama. Toimetuse jĂ€ttis vĂ€lja vĂ€ljaandetehnilistele inseneridele, SR-insenerid haldavad usaldusvÀÀrsust (loomulikult mitte otseselt, vaid mĂ”jutades infrastruktuuri, muutes arhitektuuri, jĂ€lgides muudatusi ja nĂ€itajaid, tegeledes intsidentidega). Ilus, eks? . Ja mis siis, kui te ei ole Google, aga usaldusvÀÀrsus siiski muret tekitab?
DevOpi ideede areng
Siin tuli just Ă”igel ajal Docker, mis kasvas vĂ€lja lxc-st, seejĂ€rel erinevad orkestreerimissĂŒsteemid, nagu Docker Swarm ja Kubernetes, ja DevOps insenerid hingasid kergendatult â praktika unifikatsioon lihtsustas toimetust. Lihtsustas sedavĂ”rd, et oli vĂ”imalik isegi anda toimetamine arendajatele â mis seal deployment.yaml. Konteinerisus lahendab probleemi. Ja CI/CD sĂŒsteemide kĂŒpsus on juba sellisel tasemel, et ĂŒhe faili kirjutamine ja kĂ”ik on kĂ€es â arendajad saavad ise hakkama. Ja nĂŒĂŒd hakkame rÀÀkima, kuidas teha oma SRE, olgu see⊠kellegi kĂ”rval.
SRE ei ole Google'is
Noh, me oleme tellimise ĂŒle andnud, nĂ€ib, et saame hingata ja naasta vanade headeni aegadesse, mil adminnid jĂ€lgisid protsessorite koormust, lihvisid sĂŒsteeme ja vaikselt jĂ”id tassidest midagi arusaamatut vaikuses ja rahus... Oota. Me ei hakanud seda kĂ”ike tegema selle pĂ€rast (kahju!). Ăks hetk selgub, et Google'i lĂ€henemisviisis saame tĂ€iesti vĂ”tta suurepĂ€raseid praktikaid â mitte protsessorite koormus ei ole oluline, mitte see, kui sageli me seal kettaid vahetame, vĂ”i pilves kulusid optimeerime, vaid Ă€ri-metriigid â kĂ”ik need ĂŒhed ja samad kuulsad SLx. Ja infrastruktuuri juhtimist ei ole kellestki keegi maha vĂ”tnud, ja juhtumeid tuleb lahendada, ja regulaarselt tuleb kohal olla, ja ĂŒldiselt on Ă€ri-protsessidest teadlik olla. Ja poisid, hakake juba tasapisi korralikult programmeerima, Google ootab teid juba.
KokkuvĂ”ttes. Ăks hetk, aga te olete juba vĂ€sinud lugemisest ja teil on tung kirjutada autorile artikli kommentaariumis. DevOps kui tarnimise praktika, oli, on ja jÀÀb. Ja kuhugi ei kao. SRE kui praktikate kogum muudab selle tarnimise edukaks.
Allikas: habr.com
