Sveiki visiem! MÄs esam uzÅÄmuma automatizÄcijas inženieri PozitÄ«vÄs tehnoloÄ£ijas un mÄs atbalstÄm uzÅÄmuma produktu izstrÄdi: mÄs atbalstÄm visu montÄžas konveijeru, sÄkot no izstrÄdÄtÄju veiktÄs koda rindas izveides lÄ«dz gatavo produktu un licenÄu publicÄÅ”anai atjauninÄjumu serveros. NeoficiÄli mÅ«s sauc par DevOps inženieriem. Å ajÄ rakstÄ mÄs vÄlamies runÄt par programmatÅ«ras ražoÅ”anas procesa tehnoloÄ£iskajiem posmiem, kÄ mÄs tos redzam un kÄ tos klasificÄjam.
No materiÄla uzzinÄsiet par vairÄku produktu izstrÄdes koordinÄÅ”anas sarežģītÄ«bu, par to, kas ir tehnoloÄ£iskÄ karte un kÄ tÄ palÄ«dz racionalizÄt un atkÄrtot risinÄjumus, kÄdi ir galvenie izstrÄdes procesa posmi un soļi, kÄ ir atbildÄ«bas jomas. starp DevOps un mÅ«su uzÅÄmuma komandÄm.
Par haosu un DevOps
ÄŖsumÄ DevOps koncepcija ietver izstrÄdes rÄ«kus un pakalpojumus, kÄ arÄ« metodoloÄ£ijas un labÄko praksi to izmantoÅ”anai. Izcelsim globÄlo mÄrÄ·is no DevOps ideju ievieÅ”anas mÅ«su uzÅÄmumÄ: tas ir konsekvents produktu ražoÅ”anas un uzturÄÅ”anas izmaksu samazinÄjums kvantitatÄ«vÄ izteiksmÄ (cilvÄkstundas vai maŔīnu stundas, CPU, RAM, disks utt.). VienkÄrÅ”Äkais un acÄ«mredzamÄkais veids, kÄ samazinÄt kopÄjÄs attÄ«stÄ«bas izmaksas visa uzÅÄmuma lÄ«menÄ«, ir lÄ«dz minimumam samazinot tipisku sÄrijveida uzdevumu veikÅ”anas izmaksas visos ražoÅ”anas posmos. Bet kÄdi ir Å”ie posmi, kÄ tos noŔķirt no vispÄrÄjÄ procesa, no kÄdiem soļiem tie sastÄv?
Kad uzÅÄmums izstrÄdÄ vienu produktu, viss ir vairÄk vai mazÄk skaidrs: parasti ir kopÄ«gs ceļvedis un attÄ«stÄ«bas shÄma. Bet ko darÄ«t, kad preÄu lÄ«nija paplaÅ”inÄs un preÄu ir vairÄk? No pirmÄ acu uzmetiena tiem ir lÄ«dzÄ«gi procesi un montÄžas lÄ«nijas, un sÄkas spÄle āAtrast X atŔķirÄ«basā žurnÄlos un skriptos. Bet ko darÄ«t, ja aktÄ«vÄ attÄ«stÄ«bÄ jau ir 5+ projekti un nepiecieÅ”ams atbalsts vairÄkÄm vairÄku gadu laikÄ izstrÄdÄtÄm versijÄm? Vai mÄs vÄlamies atkÄrtoti izmantot maksimÄli iespÄjamo risinÄjumu skaitu produktu konveijerÄ vai esam gatavi tÄrÄt naudu, lai katram izstrÄdÄtu unikÄlu izstrÄdi?
KÄ atrast lÄ«dzsvaru starp unikalitÄti un sÄrijveida risinÄjumiem?
Å ie jautÄjumi mums sÄka rasties arvien biežÄk kopÅ” 2015. gada. Produktu skaits pieauga, un mÄs centÄmies lÄ«dz minimumam paplaÅ”inÄt mÅ«su automatizÄcijas nodaļu (DevOps), kas atbalstÄ«ja Å”o produktu montÄžas lÄ«nijas. TajÄ paÅ”Ä laikÄ mÄs vÄlÄjÄmies atkÄrtot pÄc iespÄjas vairÄk risinÄjumu starp produktiem. Galu galÄ, kÄpÄc darÄ«t vienu un to paÅ”u desmit produktos dažÄdos veidos?
AttÄ«stÄ«bas direktors: "PuiÅ”i, vai mÄs varam kaut kÄ novÄrtÄt, ko DevOps dara produktiem?"
KÄ tajÄ slavenajÄ filmÄ: "Es esmu viesnÄ«cÄ! .." - "Ak... Vai jÅ«s varat man parÄdÄ«t ceļu?" PÄrdomÄjot, mÄs nonÄcÄm pie secinÄjuma, ka mums vispirms ir jÄizlemj par produktu galÄ«gajiem stÄvokļiem; Å”is kļuva par mÅ«su pirmo vÄrtu guvumu.
TÄtad, kÄ analizÄt duci produktu ar diezgan lielÄm komandÄm no 10 lÄ«dz 200 cilvÄkiem un noteikt izmÄrÄmus rÄdÄ«tÄjus, atkÄrtojot risinÄjumus?
1:0 par labu Haosam, jeb DevOps uz lÄpstiÅÄm
MÄs sÄkÄm ar mÄÄ£inÄjumu pielietot IDEF0 diagrammas un dažÄdas biznesa procesu diagrammas no BPwin sÄrijas. Apjukums sÄkÄs pÄc nÄkamÄ projekta nÄkamÄ posma piektÄ kvadrÄta, un Å”os kvadrÄtus katram projektam var ievilkt gara pitona astÄ zem 50+ pakÄpieniem. Es jutos skumji un gribÄju gaudot uz mÄnesi - kopumÄ tas nederÄja.
Tipiski ražoŔanas uzdevumi
RažoÅ”anas procesu modelÄÅ”ana ir ļoti sarežģīts un rÅ«pÄ«gs darbs: jums ir jÄapkopo, jÄapstrÄdÄ un jÄanalizÄ daudz datu no dažÄdÄm nodaļÄm un ražoÅ”anas Ä·ÄdÄm. VairÄk par to varat lasÄ«t rakstÄ "RažoÅ”anas procesu modelÄÅ”ana IT uzÅÄmumÄ'.
UzsÄkot ražoÅ”anas procesa modelÄÅ”anu, mums bija konkrÄts mÄrÄ·is - nodot ikvienam mÅ«su uzÅÄmuma produktu izstrÄdÄ iesaistÄ«tajam darbiniekam un projektu vadÄ«tÄjiem:
kÄ produkti un to komponenti, sÄkot no koda rindas ievieÅ”anas, sasniedz klientu instalÄtÄju un atjauninÄjumu veidÄ,
kÄdi resursi ir paredzÄti katram produktu ražoÅ”anas posmam,
kÄdi pakalpojumi ir iesaistÄ«ti katrÄ posmÄ,
kÄ tiek norobežotas atbildÄ«bas jomas katrÄ posmÄ,
kÄdi lÄ«gumi pastÄv pie katra posma ieejas un izejas.
NoklikŔķinot uz attÄla, tas tiks atvÄrts pilnÄ izmÄrÄ.
MÅ«su darbs uzÅÄmumÄ ir sadalÄ«ts vairÄkÄs funkcionÄlÄs jomÄs. InfrastruktÅ«ras virziens nodarbojas ar visu departamenta "dzelzs" resursu darbÄ«bas optimizÄciju, kÄ arÄ« virtuÄlo maŔīnu un vides izvietoÅ”anas automatizÄciju uz tÄm. Monitoringa virziens nodroÅ”ina 24/7 servisa darbÄ«bas kontroli; mÄs nodroÅ”inÄm arÄ« uzraudzÄ«bu kÄ pakalpojumu izstrÄdÄtÄjiem. DarbplÅ«smas virziens nodroÅ”ina komandÄm rÄ«kus, lai pÄrvaldÄ«tu izstrÄdes un testÄÅ”anas procesus, analizÄtu koda stÄvokli un iegÅ«tu projektu analÄ«zi. Visbeidzot, webdev virziens nodroÅ”ina izlaidumu publicÄÅ”anu GUS un FLUS atjauninÄÅ”anas serveros, kÄ arÄ« produktu licencÄÅ”anu, izmantojot pakalpojumu LicenseLab. Lai atbalstÄ«tu ražoÅ”anas procesu, mÄs izveidojam un uzturam daudzus dažÄdus atbalsta pakalpojumus izstrÄdÄtÄjiem (stÄstus par dažiem no tiem varat klausÄ«ties vecajÄs sanÄksmÄs: Op!DevOps! 2016. gads Šø Op!DevOps! 2017. gads). IzstrÄdÄjam arÄ« iekÅ”Äjos automatizÄcijas rÄ«kus, t.sk atvÄrtÄ pirmkoda risinÄjumi.
PÄdÄjo piecu gadu laikÄ mÅ«su darbÄ ir uzkrÄjies daudz viena veida un rutÄ«nas operÄciju, un mÅ«su izstrÄdÄtÄji no citÄm nodaļÄm galvenokÄrt nÄk no t.s. tipiski uzdevumi, kura risinÄjums ir pilnÄ«bÄ vai daļÄji automatizÄts, izpildÄ«tÄjiem nesagÄdÄ grÅ«tÄ«bas un neprasa ievÄrojamus darba apjomus. KopÄ ar vadoÅ”ajÄm jomÄm mÄs analizÄjÄm Å”Ädus uzdevumus un varÄjÄm identificÄt atseviŔķas darba kategorijas vai ražoÅ”anas soļi, posmi tika sadalÄ«ti nedalÄmos soļos, un vairÄki posmi summÄjas ražoÅ”anas procesa Ä·Äde.
VienkÄrÅ”Äkais tehnoloÄ£iskÄs Ä·Ädes piemÄrs ir katra mÅ«su produkta montÄžas, izvietoÅ”anas un testÄÅ”anas posmi uzÅÄmumÄ. SavukÄrt, piemÄram, bÅ«vÄÅ”anas posms sastÄv no daudzÄm atseviŔķÄm tipiskÄm darbÄ«bÄm: avotu lejupielÄde no GitLab, atkarÄ«bu un treÅ”o puÅ”u bibliotÄku sagatavoÅ”ana, vienÄ«bu testÄÅ”ana un statiskÄ koda analÄ«ze, bÅ«vÄÅ”anas skripta izpilde GitLab CI, artefaktu publicÄÅ”ana krÄtuvÄ Izlaiduma piezÄ«mju artefaktÅ«ra un Ä£enerÄÅ”ana, izmantojot mÅ«su iekÅ”Äjo ChangelogBuilder rÄ«ku.
Veidojas daudzas tipiskas ražoÅ”anas Ä·Ädes ražoÅ”anas process. Standarta pieeja procesu aprakstÄ«Å”anai ir funkcionÄlu IDEF0 modeļu izmantoÅ”ana.
RažoÅ”anas CI procesa modelÄÅ”anas piemÄrs
ÄŖpaÅ”u uzmanÄ«bu pievÄrsÄm nepÄrtrauktas integrÄcijas sistÄmas standarta projektu izstrÄdei. Tas ļÄva panÄkt projektu apvienoÅ”anu, izceļot t.s izlaiduma veidoÅ”anas shÄma ar akcijÄm.
LÅ«k, kÄ tas darbojas. Visi projekti izskatÄs tipiski: tajos ir iekļauta to komplektu konfigurÄcija, kas ietilpst momentuzÅÄmumu krÄtuvÄ vietnÄ Artifactory, pÄc tam tie tiek izvietoti un testÄti testa stendos un pÄc tam tiek paaugstinÄti uz izlaiduma repozitoriju. Artifactory pakalpojums ir viens izplatÄ«Å”anas punkts visiem bÅ«vÄÅ”anas artefaktiem starp komandÄm un citiem pakalpojumiem.
Ja mÄs ievÄrojami vienkÄrÅ”ojam un vispÄrinÄm mÅ«su izlaiÅ”anas shÄmu, tajÄ ir iekļautas Å”Ädas darbÄ«bas:
starpplatformu produktu montÄža,
izvietoŔana testa stendos,
funkcionÄlo un citu testu veikÅ”ana,
pÄrbaudÄ«tu bÅ«vÄjumu reklamÄÅ”ana, lai atbrÄ«votu artefaktÅ«ras krÄtuves,
laidiena publicÄÅ”ana balstÄs uz atjauninÄÅ”anas serveriem,
montÄžas un ražoÅ”anas atjauninÄjumu piegÄde,
produkta instalÄÅ”anas un atjauninÄÅ”anas uzsÄkÅ”ana.
PiemÄram, apsveriet Ŕīs tipiskÄs izlaiÅ”anas shÄmas tehnoloÄ£isko modeli (turpmÄk vienkÄrÅ”i Modelis) funkcionÄla IDEF0 modeļa veidÄ. Tas atspoguļo mÅ«su KI procesa galvenos posmus. IDEF0 modeļi izmanto t.s ICOM apzÄ«mÄjums (Input-Control-Output-Mechanism), lai aprakstÄ«tu, kÄdi resursi tiek izmantoti katrÄ posmÄ, pamatojoties uz kÄdiem noteikumiem un prasÄ«bÄm tiek veikts darbs, kÄds ir rezultÄts un kÄdi mehÄnismi, pakalpojumi vai cilvÄki Ä«steno konkrÄtu posmu.
NoklikŔķinot uz attÄla, tas tiks atvÄrts pilnÄ izmÄrÄ.
Parasti procesu aprakstu funkcionÄlos modeļos ir vieglÄk sadalÄ«t un detalizÄt. Bet, pieaugot elementu skaitam, kaut ko tajos saprast kļūst arvien grÅ«tÄk. Bet reÄlajÄ attÄ«stÄ«bÄ ir arÄ« palÄ«gposmi: uzraudzÄ«ba, produktu sertifikÄcija, darba procesu automatizÄcija un citi. MÄrogoÅ”anas problÄmas dÄļ mÄs atteicÄmies no Ŕī apraksta.
Cerības dzimŔana
VienÄ grÄmatÄ mÄs uzgÄjÄm vecÄs padomju kartes, kurÄs aprakstÄ«ti tehnoloÄ£iskie procesi (kuras, starp citu, joprojÄm tiek izmantotas daudzos valsts uzÅÄmumos un augstskolÄs). Pagaidiet, pagaidiet, jo mums ir arÄ« darbplÅ«sma!.. Ir posmi, rezultÄti, metrika, prasÄ«bas, rÄdÄ«tÄji un tÄ tÄlÄk, un tÄ tÄlÄk... KÄpÄc gan nepamÄÄ£inÄt izmantot plÅ«smas lapas arÄ« mÅ«su produktu konveijeriem? Bija sajÅ«ta: āÅ Ä« ir tÄ! Esam atraduÅ”i Ä«sto pavedienu, laiks to labi pavilkt!
VienkÄrÅ”Ä tabulÄ mÄs nolÄmÄm ierakstÄ«t produktus pa kolonnÄm, bet tehnoloÄ£iskos posmus un produktu cauruļvada posmus pa rindÄm. Pagrieziena punkti ir kaut kas liels, piemÄram, produkta izveides solis. Un soļi ir kaut kas mazÄks un detalizÄtÄks, piemÄram, avota koda lejupielÄde bÅ«vÄÅ”anas serverÄ« vai koda kompilÄÅ”anas darbÄ«ba.
Kartes rindu un kolonnu krustpunktos mÄs izliekam statusus konkrÄtam posmam un produktam. Statusiem tika definÄta stÄvokļu kopa:
Nav informÄcijas - vai nepiemÄrota. Ir nepiecieÅ”ams analizÄt pieprasÄ«jumu pÄc produkta posma. Vai nu analÄ«ze jau ir veikta, bet posms Å”obrÄ«d nav nepiecieÅ”ams vai nav ekonomiski pamatots.
Atlikts - vai Å”obrÄ«d nav aktuÄli. Ir nepiecieÅ”ams posms, kas tiek gatavots, taÄu Å”ogad nav spÄku Ä«stenoÅ”anai.
PlÄnots. Posmu plÄnots Ä«stenot Å”ogad.
ÄŖstenots. Posms cauruļvadÄ tiek realizÄts vajadzÄ«gajÄ apjomÄ.
Tabulas aizpildÄ«Å”ana sÄkÄs projektu pÄc projekta. Vispirms tika klasificÄti viena projekta posmi un soļi un reÄ£istrÄti to statusi. PÄc tam viÅi uzÅÄma nÄkamo projektu, fiksÄja tajÄ esoÅ”os statusus un pievienoja posmus un soļus, kas trÅ«ka iepriekÅ”Äjos projektos. RezultÄtÄ mÄs ieguvÄm visa mÅ«su ražoÅ”anas konveijera posmus un posmus un to statusus konkrÄtÄ projektÄ. IzrÄdÄ«jÄs kaut kas lÄ«dzÄ«gs produktu cauruļvada kompetences matricai. MÄs Å”Ädu matricu nosaucÄm par tehnoloÄ£isko karti.
Ar tehnoloÄ£iskÄs kartes palÄ«dzÄ«bu metroloÄ£iski pamatoti saskaÅojam ar komandÄm gada darba plÄnus un mÄrÄ·us, ko vÄlamies kopÄ«gi sasniegt: kurus posmus Å”ogad pievienojam projektam, bet kurus atstÄjam uz vÄlÄku laiku. TÄpat darba gaitÄ mums var bÅ«t uzlabojumi tajos posmos, kurus esam pabeiguÅ”i tikai vienam produktam. PÄc tam mÄs paplaÅ”inÄm savu karti un ievieÅ”am Å”o uzlabojumu kÄ posmu vai jaunu soli, pÄc tam analizÄjam katru produktu un noskaidrojam uzlabojuma atkÄrtoÅ”anas iespÄjamÄ«bu.
ViÅi var mums iebilst: āTas viss, protams, ir labi, tikai ar laiku soļu un posmu skaits kļūs pÄrmÄrÄ«gi liels. KÄ bÅ«t?
Esam ieviesuÅ”i standarta un diezgan pilnÄ«gus prasÄ«bu aprakstus katram posmam un solim, lai visi uzÅÄmumÄ tos saprastu vienÄdi. Laika gaitÄ, kad tiek ieviesti uzlabojumi, solis var tikt absorbÄts citÄ posmÄ vai solÄ«, un tad tie "sabruks". TajÄ paÅ”Ä laikÄ visas prasÄ«bas un tehnoloÄ£iskÄs nianses iekļaujas vispÄrinÄÅ”anas posma vai soļa prasÄ«bÄs.
KÄ novÄrtÄt risinÄjumu atkÄrtoÅ”anas efektu? MÄs izmantojam ÄrkÄrtÄ«gi vienkÄrÅ”u pieeju: sÄkotnÄjÄs kapitÄla izmaksas jauna posma ievieÅ”anai attiecinÄm uz ikgadÄjÄm vispÄrÄjÄm produkta izmaksÄm un pÄc tam dalÄm ar visÄm, veicot replicÄÅ”anu.
AttÄ«stÄ«bas daļas kartÄ jau ir parÄdÄ«tas kÄ atskaites punkti un soļi. MÄs varam ietekmÄt produkta izmaksu samazinÄÅ”anu, ievieÅ”ot automatizÄciju tipiskajiem posmiem. PÄc tam Åemam vÄrÄ izmaiÅas kvalitatÄ«vajos raksturlielumos, kvantitatÄ«vos rÄdÄ«tÄjos un komandu saÅemtajÄ peļÅÄ (cilvÄkstundÄs vai ietaupÄ«juma maŔīnstundÄs).
RažoÅ”anas procesa tehnoloÄ£iskÄ karte
Ja mÄs veiksim visus savus posmus un soļus, iekodÄjam tos ar tagiem un izvÄrsim vienÄ Ä·ÄdÄ, tad tas izrÄdÄ«sies ļoti garÅ” un nesaprotams (tikai pati āpitona asteā, par kuru mÄs runÄjÄm raksta sÄkumÄ) :
Tie ir produktu izveides posmi [Build], to izvietoÅ”ana testÄÅ”anas serveros [Izvietot], testÄÅ”ana [Test], bÅ«vÄjumu veicinÄÅ”ana, lai atbrÄ«votu krÄtuvÄs, pamatojoties uz testÄÅ”anas rezultÄtiem [Promote], licenÄu [License] Ä£enerÄÅ”ana un publicÄÅ”ana, publicÄÅ”ana [ PublicÄÅ”ana] GUS atjauninÄÅ”anas serverÄ« un piegÄde FLUS atjauninÄÅ”anas serveriem, produkta komponentu instalÄÅ”ana un atjauninÄÅ”ana klienta infrastruktÅ«rÄ, izmantojot Produkta konfigurÄcijas pÄrvaldÄ«bu [InstalÄt], kÄ arÄ« telemetrijas [Telemetrija] apkopoÅ”ana no instalÄtajiem produktiem.
Papildus tiem var izdalÄ«t atseviŔķus posmus: infrastruktÅ«ras stÄvokļa uzraudzÄ«ba [InfMonitoring], pirmkoda versiju veidoÅ”ana [SourceCodeControl], bÅ«vvides sagatavoÅ”ana [Prepare], projektu vadÄ«ba [Workflow], komandu nodroÅ”inÄÅ”ana ar komunikÄcijas rÄ«kiem [Communication], produktu sertifikÄcija [ SertifikÄcija] un KI procesu paÅ”pietiekamÄ«bas nodroÅ”inÄÅ”ana [CISelfSuffficiency] (piemÄram, mezglu neatkarÄ«ba no interneta). VairÄki desmiti soļu mÅ«su procesos pat netiks izskatÄ«ti, jo tie ir ļoti specifiski.
BÅ«s daudz vieglÄk saprast un apskatÄ«t visu ražoÅ”anas procesu, ja tas bÅ«s uzrÄdÄ«ts formÄ tehnoloÄ£iskÄ karte; Ŕī ir tabula, kurÄ rindÄs ir ierakstÄ«ti atseviŔķi Modeļa ražoÅ”anas posmi un sadalÄ«tie soļi, bet kolonnÄs aprakstÄ«ts, kas tiek darÄ«ts katrÄ posmÄ vai solÄ«. Galvenais uzsvars tiek likts uz resursiem, kas nodroÅ”ina katru posmu, un atbildÄ«bas jomu norobežoÅ”anu.
Karte mums ir sava veida klasifikators. Tas atspoguļo produktu ražoÅ”anas lielÄs tehnoloÄ£iskÄs daļas. Pateicoties tam, mÅ«su automatizÄcijas komandai kļuva vieglÄk mijiedarboties ar izstrÄdÄtÄjiem un kopÄ«gi plÄnot automatizÄcijas posmu ievieÅ”anu, kÄ arÄ« saprast, kÄdas darbaspÄka izmaksas un resursi (cilvÄks un aparatÅ«ra) tam bÅ«s nepiecieÅ”ami.
MÅ«su uzÅÄmumÄ karte tiek automÄtiski Ä£enerÄta no jinja veidnes kÄ parasts HTML fails un pÄc tam augÅ”upielÄdÄta GitLab Pages serverÄ«. Var apskatÄ«t ekrÄnuzÅÄmumu ar pilnÄ«bÄ Ä£enerÄtas kartes piemÄru ŠæŠ¾ ŃŃŃŠ»ŠŗŠµ.
NoklikŔķinot uz attÄla, tas tiks atvÄrts pilnÄ izmÄrÄ.
ÄŖsÄk sakot, tehnoloÄ£iskÄ karte ir vispÄrinÄts ražoÅ”anas procesa attÄls, kas atspoguļo skaidri klasificÄtus blokus ar tipisku funkcionalitÄti.
Mūsu ceļa kartes struktūra
Karte sastÄv no vairÄkÄm daļÄm:
Virsraksta apgabals - Å”eit ir vispÄrÄ«gs kartes apraksts, tiek iepazÄ«stinÄti ar pamatjÄdzieniem, definÄti galvenie ražoÅ”anas procesa resursi un rezultÄti.
InformÄcijas panelis - Å”eit var kontrolÄt atseviŔķu produktu datu attÄloÅ”anu, tiek sniegts visu produktu Ä«stenoto posmu un darbÄ«bu kopsavilkums kopumÄ.
TehnoloÄ£iskÄ karte - tehnoloÄ£iskÄ procesa tabulas apraksts. Uz kartes:
doti visi posmi, soļi un to kodi;
sniegti Ä«si un pilni posmu apraksti;
norÄdÄ«ti katrÄ posmÄ izmantotie ievades resursi un pakalpojumi;
norÄdÄ«ti katra posma un atseviŔķa posma rezultÄti;
ir norÄdÄ«ta atbildÄ«bas joma par katru posmu un soli;
ir noteikti tehniskie resursi, piemÄram, HDD (SSD), operatÄ«vÄ atmiÅa, vCPU, un darba nodroÅ”inÄÅ”anai nepiecieÅ”amÄs darba stundas Å”ajÄ posmÄ gan Å”obrÄ«d - fakts, gan nÄkotnÄ - plÄns;
katram produktam ir norÄdÄ«ts, kuri tehnoloÄ£iskie posmi vai soļi tai ir Ä«stenoti, plÄnoti ievieÅ”anai, neatbilstoÅ”i vai nav ieviesti.
LÄmumu pieÅemÅ”ana, pamatojoties uz tehnoloÄ£isko karti
PÄc kartes apskatÄ«Å”anas ir iespÄjams veikt dažas darbÄ«bas ā atkarÄ«bÄ no darbinieka lomas uzÅÄmumÄ (izstrÄdes vadÄ«tÄjs, produktu vadÄ«tÄjs, izstrÄdÄtÄjs vai testÄtÄjs):
saprast, kÄdi posmi trÅ«kst reÄlÄ produktÄ vai projektÄ, un novÄrtÄt to ievieÅ”anas nepiecieÅ”amÄ«bu;
norobežot atbildÄ«bas jomas starp vairÄkÄm nodaļÄm, ja tÄs strÄdÄ dažÄdos posmos;
vienojas par lÄ«gumiem pie estrÄdes ieejÄm un izejÄm;
integrÄt savu darba posmu kopÄjÄ attÄ«stÄ«bas procesÄ;
precÄ«zÄk izvÄrtÄt resursu nepiecieÅ”amÄ«bu, kas nodroÅ”ina katru no posmiem.
Apkopojot visu iepriekÅ” minÄto
MarÅ”ruts ir daudzpusÄ«gs, paplaÅ”inÄms un viegli kopjams. Å ÄdÄ formÄ ir daudz vieglÄk izstrÄdÄt un uzturÄt procesu aprakstu nekÄ stingrÄ akadÄmiskÄ IDEF0 modelÄ«. TurklÄt tabulas apraksts ir vienkÄrÅ”Äks, pazÄ«stamÄks un labÄk strukturÄts nekÄ funkcionÄls modelis.
Soļu tehniskajai realizÄcijai mums ir Ä«paÅ”s iekÅ”Äjais rÄ«ks CrossBuilder ā slÄÅa rÄ«ks starp CI sistÄmÄm, pakalpojumiem un infrastruktÅ«ru. IzstrÄdÄtÄjam nav jÄsamazina velosipÄds: mÅ«su CI sistÄmÄ pietiek ar vienu no CrossBuilder rÄ«ka skriptiem (tÄ saukto uzdevumu), kas to pareizi izpildÄ«s, Åemot vÄrÄ mÅ«su infrastruktÅ«ras iespÄjas. .
RezultÄti
Raksts izrÄdÄ«jÄs diezgan garÅ”, taÄu tas ir neizbÄgami, aprakstot sarežģītu procesu modelÄÅ”anu. NobeigumÄ es vÄlos Ä«si noteikt mÅ«su galvenÄs idejas:
DevOps ideju ievieÅ”anas mÄrÄ·is mÅ«su uzÅÄmumÄ ir konsekventi samazinÄt uzÅÄmuma produkcijas ražoÅ”anas un uzturÄÅ”anas izmaksas kvantitatÄ«vÄ izteiksmÄ (cilvÄkstundas vai maŔīnas stundas, vCPU, RAM, Disk).
Veids, kÄ samazinÄt kopÄjÄs izstrÄdes izmaksas, ir minimizÄt tipisku sÄrijveida uzdevumu izpildes izmaksas: tehnoloÄ£iskÄ procesa posmus un soļus.
Tipisks uzdevums ir uzdevums, kura risinÄjums ir pilnÄ«bÄ vai daļÄji automatizÄts, nesagÄdÄ grÅ«tÄ«bas izpildÄ«tÄjiem un neprasa ievÄrojamas darbaspÄka izmaksas.
RažoÅ”anas process sastÄv no posmiem, posmi ir sadalÄ«ti nedalÄmos posmos, kas ir tipiski dažÄda mÄroga un apjoma uzdevumi.
No atŔķirÄ«giem tipiskiem uzdevumiem esam nonÄkuÅ”i lÄ«dz sarežģītÄm tehnoloÄ£iskÄm Ä·ÄdÄm un daudzlÄ«meÅu ražoÅ”anas procesa modeļiem, kurus var raksturot ar funkcionÄlu IDEF0 modeli vai vienkÄrÅ”Äku tehnoloÄ£isko karti.
TehnoloÄ£iskÄ karte ir ražoÅ”anas procesa posmu un posmu tabulas attÄlojums. Pats galvenais: karte ļauj redzÄt visu procesu kopumÄ, lielos gabalos ar iespÄju tos detalizÄt.
Pamatojoties uz tehnoloÄ£isko karti, var novÄrtÄt nepiecieÅ”amÄ«bu ieviest posmus konkrÄtajÄ produktÄ, norobežot atbildÄ«bas jomas, vienoties par lÄ«gumiem posmu ievados un izvados, precÄ«zÄk novÄrtÄt resursu nepiecieÅ”amÄ«bu.
NÄkamajos rakstos mÄs sÄ«kÄk aprakstÄ«sim, kÄdi tehniskie rÄ«ki tiek izmantoti noteiktu tehnoloÄ£isko posmu ievieÅ”anai mÅ«su kartÄ.