DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

TĂ”tt öelda, Ivan naeris sageli oma kolleegide pettumust valmistavate pingutuste ĂŒle jĂ€lgimise osakonnas. Nad pingutasid kĂ”vasti, et ellu viia mÔÔdikud, mida ettevĂ”tte juhtkond tellis. Nad olid nii hĂ”ivatud, et ei soovinud mitte kellelegi muu jaoks midagi teha.

Ja juhtkonnale ei piisanud kunagi – nad tellisid pidevalt uusi ja uusi mÔÔdikuid, kiiresti lĂ”petades varasemate kasutamise.

Viimase aja teema oli kĂ”ikjal LeadTime – Ă€riomaduste tarnimisaeg. MÔÔdik nĂ€itas hullumeelset numbrit – 200 pĂ€eva, et tarnida ĂŒks ĂŒlesanne. Kuidas kĂ”ik ahhetasid, ohkasid ja tĂ”stsid kĂ€si taeva poole!

MĂ”ne aja pĂ€rast vaikus tasapisi muutus ja juhtkonnalt tuli tellimus veel ĂŒhe mÔÔdiku loomise kohta.

Ivan mÔistis tÀiesti, et ka uus mÔÔdik sureb vaikides tumedas nurgas.

TĂ”epoolest, mĂ”tles Ivan, arvu teadmine ei ĂŒtle kellelegi midagi. 200 pĂ€eva vĂ”i 2 pĂ€eva – ei ole mingit erinevust, sest numbritest ei saa tuvastada pĂ”hjust ja mĂ”ista, kas see on hea vĂ”i halb.

See, seein', on, starin', even searchin', in metrics to find the essence of life and unlock some hidden mystery. Everyone hopes for that, but somehow nothing happens. That's because the secret isn't in the metrics at all!

For Ivan, this was a stage he had already passed. He understood that metrics are just a simple wooden ruler for measurements, and all the secrets must be found in the object of influence, that is, in what shapes that metric.

For an online store, the object of influence will be its customers who generate revenue, while for DevOps, it will be the teams that create and deploy distributions using the pipeline.

One day, sitting comfortably in a chair in the lobby, Ivan decided to thoroughly think about how he would like to see DevOps metrics, given that the object of influence is the teams.

The goal of DevOps metrics

It's clear that everyone wants to reduce delivery time. 200 days is certainly unacceptable.

But how, that's the question?

EttevÔttes töötab sadu meeskondi, ja lÀbi DevOps töölÔiguga lÀbib tuhandeid jaotusi iga pÀev. Tootmise tegelik aeg nÀeb vÀlja nagu jaotus. Igal meeskonnal on oma aeg ja omad eripÀrad. Kuidas sellisest segadusest midagi leida?

Vastus tuli iseenesest – tuleb leida probleemsed meeskonnad ja mĂ”ista, mis neil toimub ja miks see nii kaua kestab, ning headelt meeskondadelt Ă”ppida, kuidas kĂ”ik kiiresti teha. Selleks on vaja mÔÔta aega, mida meeskonnad igal DevOps etendusel veedavad:

DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

SĂŒsteemi eesmĂ€rgiks on meeskondade valimine etenduse lĂ€bisĂ”idu aja jĂ€rgi, st lĂ”puks peame saama nimekirja meeskondadest valitud ajaga, mitte lihtsalt numbri.

Kui me saame teada, kui palju aega on kokku kulutatud etendusele ja kui palju aega on kulutatud seiskumistele etenduste vahel, siis saame leida meeskonnad, neile helistada ja ĂŒksikasjalikumalt pĂ”hjusi uurida ning neid kĂ”rvaldada,” mĂ”tles Ivan.

DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

Kuidas arvutada DevOpsi tarnimise aega

Arvutamiseks pidi sĂŒvenema DevOpsi protsessi ja selle olemusse.

EttevĂ”ttes kasutatakse piiratud arvu sĂŒsteeme, ja teavet saab ainult nendest ning mitte kusagilt mujalt.

KĂ”ik ettevĂ”tte ĂŒlesanded registreeriti Jira-s. Kui ĂŒlesanne vĂ”eti tööle, loodi sellele haru, ning pĂ€rast elluviimist tehti BitBucketis commit ja Pull Request. PR-i (Pull Request) vastuvĂ”tmise korral loodi automaatselt distributiiv ja salvestati Nexus-sse.

DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

SeejÀrel jagati distributiiv mitmesugustes keskkondades Jenkinsiga, et kontrollida paigaldamise Ôigsust, automaatset ja kÀsitsi testimist:

DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

Ivan kirjutas ĂŒles, millist teavet on vĂ”imalik millistest sĂŒsteemidest vĂ”tta, et arvutada aega keskkondades:

  • Nexusest – distributiivi loomise aeg ja kausta nimi, kus tiimi kood asus.
  • Jenkinsest – iga töö alustamise aeg, kestus ja tulemused, seina nimi (töö parameetrites), etapid (töö sammud), link distributiivile Nexus-s.
  • Jira ja BitBucket Ivan otsustas torusse mitte kaasata, kuna need kuulusid rohkem arendusfaasi, mitte valmis distributiivi keskkondades jagamise faasi.

DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

Saadud teabe pÔhjal joonistati vÀlja jÀrgmine skeem:

DevOps mÔÔdikud – kust vĂ”tta andmeid arvutuste tegemiseks

Teades, kui kaua kulub distributsioonide loomisele ja kui palju aega nende igaĂŒhe jaoks kulub, on lihtne arvutada DevOpsi kogu konveieri (tĂ€iskatse) ĂŒldkulud.

Siin on, millised DevOps-métricid Ivani puhul osutusid:

  • Loodud distributsioonide arv
  • Distributsioonide osakaal, mis on «lĂ€inud» stendile ja «lĂ€binud» stendi
  • Stendil veedetud aeg (stendi tsĂŒkkel)
  • TĂ€iskatse (kogu aeg kĂ”igi stendide peale)
  • Töö pikkus
  • Seisak stendide vahel
  • Seisak sama stendi tööde vahel

Ühelt poolt iseloomustasid metrikud konveierit DevOpsist vĂ€ga hĂ€sti ajakĂŒsimustes, teisalt oli nende arvutamine vĂ€ga lihtne.

Rahulolevalt hÀsti tehtud tööga koostas Ivan esituse ja lÀks seda juhtkonnale tutvustama.

Tagasi tulles oli ta sĂŒnge ja kĂ€ed rippu lastud.

— See on fiasko, vend — naeratas iroonia kaasteeline...

Loe jÀtku artiklist «Kuidas kiire tulemused aitasid Ivanit».

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster