Ausfadserd, Ivan naeris sagnvikas ĂŒle kolleegide pettumust valmistavaid pingutusi jĂ€lgimisosakonnas. Nad pingutasid tohutult, et rakendada metrikaid, mida ettevĂ”tte juhtkond tellis. Nad olid nii hĂ”ivatud, et ei tahtnud enam kellelegi midagi teha.
Ja juhtkonnale ei piisatud kunagi â nad tellisid pidevalt uusi ja uusi metrikaid, lĂ”petades vĂ€ga kiiresti varem loodud metrikate kasutamise.
Viimasel ajal rÀÀgiti ainult LeadTime'ist â Ă€rifunktsioonide tarnimise ajast. Metrika nĂ€itas hullumeelset numbrit â 200 pĂ€eva ĂŒhe ĂŒlesande tarnimiseks. Kuidas kĂ”ik ohkasid, ohkasid ja tĂ”stsid kĂ€si taevapoole!
MĂ”ne aja pĂ€rast mĂŒrin vaibus ja juhtkonnalt tuli tellimus veel ĂŒhe metrika loomise kohta.
Ivanile oli tÀiesti selge, et ka uus metrika sureb vaikides pimedasse nurkasse.
TĂ”epoolest, mĂ”tles Ivan, numbrite teadmine ei ĂŒtle kellelegi midagi. 200 pĂ€eva vĂ”i 2 pĂ€eva â vahet pole, sest numbrite pĂ”hjal ei ole vĂ”imalik pĂ”hjust mÀÀrata ja aru saada, kas see on hea vĂ”i halb.
See on tĂŒĂŒpiline metrikate lĂ”ks: tundub, et uus metrika rÀÀgib elu olemusest ja selgitab mingit salajast saladust. KĂ”ik loodavad sellele, kuid midagi ei juhtu. Just seetĂ”ttu, et saladust tuleb otsida sugugi mitte metrikatest!
Ivanile oli see juba möödanik. Ta mÔistis, et mÔÔtmiste jaoks, ja kÔik saladused tuleb otsida , st sellest, mis seda metrikat kujundab.
Internetipoe jaoks on mĂ”ju objektiks tema kliendid, kes toovad raha, ja DevOps'i jaoks â meeskonnad, kes loovad ja levitavad distributsioone torustiku abil.
Ăhel pĂ€eval, mugavas toolis vestibĂŒĂŒlis, otsustas Ivan tĂ”siselt kaaluda, kuidas ta sooviks nĂ€ha DevOps'i metrikaid, arvestades, et mĂ”ju objektiks on meeskonnad.
DevOps'i metrikate eesmÀrk
On selge, et kĂ”ik tahavad tarnimise aega vĂ€hendada. 200 pĂ€eva â see pole kindlasti normaalne.
Aga kuidas, see on kĂŒsimus?
EttevÔttes töötab sadu meeskondi ja pÀevas lÀbib DevOps'i torustikku tuhandeid distributsioone. Reaalne tarnimise aeg nÀeb vÀlja nagu jaotumine. Igal meeskonnal on oma aeg ja omad eripÀrad. Kuidas sellise segaduse seest midagi leida?
Vastus tuli iseenesest â tuleb leida probleemsete meeskondade ja uurida, mis nendega juhtub ja miks see nii kaua kestab, ning âheadeltâ meeskondadelt Ă”ppida, kuidas kĂ”ike kiiremini teha. Selleks on vajalik mÔÔta aega, mille meeskonnad veedavad igas DevOps seistes:

âSĂŒsteemi eesmĂ€rgiks on meeskondade valimine seiste lĂ€bimise aja alusel, st lĂ”puks peame saama nimekirja meeskondadest, millel on valitud aeg, mitte number.
Kui me saame teada, kui palju aega kokku on kulutatud seistele ja kui palju aega on kulutatud seiste vahepealsetele seiskamistele, siis saame leida meeskonnad, helistada neile ja sĂŒvitsi uurida pĂ”hjuseid ning need kĂ”rvaldada,â mĂ”tles Ivan.

Kuidas arvutada DevOps-i tarnimise aega
Arvutamiseks tuli sĂŒveneda DevOps-protsessi ja selle olemusse.
EttevĂ”ttes kasutatakse piiratud arvu sĂŒsteeme, ja teavet saab saada ainult neist ja mitte kuskilt mujalt.
KĂ”ik ĂŒlesanded ettevĂ”ttes registreeriti Jira-s. Kui ĂŒlesanne vĂ”eti tööle, loodi selle jaoks filiaal, ja pĂ€rast teostamist tehti BitBucket-is commit ja Pull Request. Pull Request'i (PR) vastuvĂ”tmise korral loodi automaatselt distributsioon ja salvestati Nexus-i salvestusse.
![]()
SeejÀrel rakendati distributsioon mitmetele seistele Jenkins-i abil, et kontrollida Ôiget rakendamist, automaatset ja kÀsitsi testimist:

Ivan kirjeldas, milliseid sĂŒsteeme ja millist teavet saab kasutada seisude aja arvutamiseks:
- Nexus-ist â distributsiooni loomise aeg ja kausta nimi, kus meeskonna kood asus
- Jenkins-ist â iga töö algusaeg, kestus ja töötulemused, seise nimi (töö parameetrites), etapid (töö sammud), ja link distributsioonile Nexus-is.
- Ivan otsustas Jira ja BitBucket konveierisse mitte lisada, kuna need kuulusid enamasti arendusprotsessi etappi, mitte valmis distributsioonide seistes rakendamise etappi.

KÀesoleval teave pÔhjal kirjutati vÀlja jÀrgmine skeem:

Teades, kui palju aega kulub distributsioonide loomiseks ja kui palju aega kulub igaĂŒhele, on lihtne arvutada kogu kulu kogu DevOps konveieri (tĂ€ieliku tsĂŒkli) lĂ€bimiseks.
Siin on Millised DevOps-mÔÔdikud Ivan lÔpuks sai:
- Loodud distributsioonide arv
- Distributsioonide osakaal, mis âlĂ€ksâ seise ja âlĂ€bisâ seise
- Seistes viibitud aeg (seise tsĂŒkkel)
- TĂ€ielik tsĂŒkkel (kokkuvĂ”tlik aeg kĂ”igi stendide jaoks)
- Tööde kestus
- Seisak stendide vahel
- Seisak tööde kĂ€ivitamise vahel ĂŒhel stendil
Ăhest kĂŒljest, need mÔÔdikud iseloomustasid DevOps konveieri ajaliselt vĂ€ga hĂ€sti, teisest kĂŒljest â need tundusid vĂ€ga lihtsad.
Rahulolevalt hÀsti tehtud tööga koostas Ivan esituse ja lÀks seda juhtkonnale esitama.
Tagasi ta tuli mureliku nÀo ja langetatud kÀtega.
â See on fiasko, vend â naeratas irooniaatne kolleegâŠ
JĂ€tkake lugemist artiklis â».
Allikas: habr.com
