DevOps metrikad – kust saada andmeid arvutuste jaoks

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 metrikad on lihtsalt tavaline puust joonlaud mÔÔtmiste jaoks, ja kÔik saladused tuleb otsida mÔjuks olevast objektist, 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:

DevOps metrikad – kust saada andmeid arvutuste jaoks

„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.

DevOps metrikad – kust saada andmeid arvutuste jaoks

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.

DevOps metrikad – kust saada andmeid arvutuste jaoks

SeejÀrel rakendati distributsioon mitmetele seistele Jenkins-i abil, et kontrollida Ôiget rakendamist, automaatset ja kÀsitsi testimist:

DevOps metrikad – kust saada andmeid arvutuste jaoks

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.

DevOps metrikad – kust saada andmeid arvutuste jaoks

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

DevOps metrikad – kust saada andmeid arvutuste jaoks

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 „Kuidas kiireid tulemusi Ivanile aitasid».

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster