DevOps prakse darbojas. MÄs paÅ”i par to pÄrliecinÄjÄmies, kad samazinÄjÄm izlaiduma instalÄÅ”anas laiku 10 reizes. SistÄmÄ FIS Profile, ko izmantojam VTB, instalÄÅ”ana tagad aizÅem 90 minÅ«tes, nevis 10. IzlaiÅ”anas izveides laiks ir samazinÄjies no divÄm nedÄļÄm lÄ«dz divÄm dienÄm. PastÄvÄ«go ievieÅ”anas defektu skaits ir samazinÄjies gandrÄ«z lÄ«dz minimumam. Lai atbrÄ«votos no āroku darbaā un likvidÄtu atkarÄ«bu no pÄrdevÄja, mums bija jÄstrÄdÄ ar kruÄ·iem un jÄatrod negaidÄ«ti risinÄjumi. Zem griezuma ir detalizÄts stÄsts par to, kÄ mÄs veidojÄm pilnvÄrtÄ«gu iekÅ”Äjo attÄ«stÄ«bu.
Prologs: DevOps ir filozofija
PÄdÄjÄ gada laikÄ esam paveikuÅ”i lielu darbu, lai organizÄtu DevOps prakÅ”u iekÅ”Äjo izstrÄdi un ievieÅ”anu VTB:
- MÄs izveidojÄm iekÅ”Äjos izstrÄdes procesus 12 sistÄmÄm;
- MÄs uzsÄkÄm 15 cauruļvadus, no kuriem Äetri tika nodoti ražoÅ”anai;
- AutomatizÄti 1445 testa scenÄriji;
- MÄs veiksmÄ«gi ieviesÄm vairÄkus laidienus, ko sagatavojuÅ”as iekÅ”ÄjÄs komandas.
Viena no visgrÅ«tÄk organizÄjamÄm DevSecOps prakses iekÅ”Äjai izstrÄdei un ievieÅ”anai izrÄdÄ«jÄs FIS Profile sistÄma - mazumtirdzniecÄ«bas produktu procesors uz nerelÄcijas DBVS. Neskatoties uz to, mÄs varÄjÄm izveidot izstrÄdi, palaist konveijeru, produktÄ instalÄt atseviŔķas paketes, kas nav izlaistas, un uzzinÄjÄm, kÄ salikt laidienus. Uzdevums nebija viegls, bet interesants un bez acÄ«mredzamiem ievieÅ”anas ierobežojumiem: lÅ«k, sistÄma - jums ir jÄveido iekÅ”Äja izstrÄde. VienÄ«gais nosacÄ«jums ir izmantot kompaktdisku pirms produktÄ«vas vides.
SÄkumÄ ievieÅ”anas algoritms Ŕķita vienkÄrÅ”s un skaidrs:
- MÄs attÄ«stÄm sÄkotnÄjÄs izstrÄdes zinÄÅ”anas un sasniedzam pieÅemamu kvalitÄtes lÄ«meni no koda komandas bez rupjiem defektiem;
- IespÄju robežÄs integrÄjamies esoÅ”ajos procesos;
- Lai pÄrsÅ«tÄ«tu kodu starp acÄ«mredzamiem posmiem, mÄs nogriežam cauruļvadu un vienu no tÄ galiem iespiežam turpinÄjumÄ.
Å ajÄ laikÄ vajadzÄ«gÄ lieluma izstrÄdes komandai ir jÄattÄ«sta prasmes un jÄpalielina sava ieguldÄ«juma daļa laidienos lÄ«dz pieÅemamam lÄ«menim. Un tas arÄ« viss, mÄs varam uzskatÄ«t, ka uzdevums ir pabeigts.
Å Ä·iet, ka tas ir pilnÄ«gi energoefektÄ«vs ceļŔ lÄ«dz vajadzÄ«gajam rezultÄtam: Å”eit ir DevOps, Å”eit ir komandas veiktspÄjas rÄdÄ«tÄji, Å”eit ir uzkrÄtÄ pieredze... Bet praksÄ mÄs saÅÄmÄm kÄrtÄjo apstiprinÄjumu, ka DevOps joprojÄm ir filozofija. , nevis āpiesaistÄ«ts Gitlab procesam, ansible, nexus un tÄlÄk sarakstÄā.
KÄrtÄjo reizi analizÄjot rÄ«cÄ«bas plÄnu, sapratÄm, ka sevÄ« veidojam sava veida Ärpakalpojumu pÄrdevÄju. TÄpÄc iepriekÅ” aprakstÄ«tajam algoritmam tika pievienota procesa pÄrplÄnoÅ”ana, kÄ arÄ« ekspertÄ«zes attÄ«stÄ«Å”ana visÄ izstrÄdes marÅ”rutÄ, lai sasniegtu vadoÅ”o lomu Å”ajÄ procesÄ. Nav vieglÄkais variants, bet tas ir ideoloÄ£iski pareizas attÄ«stÄ«bas ceļŔ.
Kur sÄkas iekÅ”ÄjÄ attÄ«stÄ«ba?
TÄ nebija tÄ draudzÄ«gÄkÄ sistÄma, ar kuru strÄdÄt. Arhitektoniski tÄ bija viena liela nerelÄciju DBVS, sastÄvÄja no daudziem atseviŔķiem izpildÄmiem objektiem (skripti, procedÅ«ras, paketes u.c.), kas tika izsaukti pÄc vajadzÄ«bas, un darbojÄs pÄc melnÄs kastes principa: saÅem pieprasÄ«jumu un izdod atbilde. Citas grÅ«tÄ«bas, kas ir vÄrts atzÄ«mÄt, ir Å”Ädas:
- EksotiskÄ valoda (MUMPS);
- konsoles interfeiss;
- IntegrÄcijas trÅ«kums ar populÄriem automatizÄcijas rÄ«kiem un ietvariem;
- Datu apjoms desmitos terabaitu;
- Slodze vairÄk nekÄ 2 miljonu operÄciju stundÄ;
- NozÄ«me ā biznesam kritiska.
TajÄ paÅ”Ä laikÄ mÅ«su pusÄ nebija pirmkoda repozitorija. Pavisam. Bija dokumentÄcija, bet visas galvenÄs zinÄÅ”anas un kompetences bija ÄrÄjÄs organizÄcijas pusÄ.
SistÄmas izstrÄdi sÄkÄm apgÅ«t gandrÄ«z no nulles, Åemot vÄrÄ tÄs Ä«paŔības un zemo izplatÄ«bu. SÄkÄs 2018. gada oktobrÄ«:
- StudÄjis dokumentÄciju un kodu Ä£enerÄÅ”anas pamatus;
- MÄs izpÄtÄ«jÄm no pÄrdevÄja saÅemto Ä«so kursu par attÄ«stÄ«bu;
- ApgÅ«tas sÄkotnÄjÄs attÄ«stÄ«bas prasmes;
- MÄs sastÄdÄ«jÄm apmÄcÄ«bu rokasgrÄmatu jaunajiem komandas dalÄ«bniekiem;
- VienojÄmies iekļaut komandu ākaujasā režīmÄ;
- AtrisinÄja problÄmu ar koda kvalitÄtes kontroli;
- MÄs organizÄjÄm stendu attÄ«stÄ«bai.
MÄs pavadÄ«jÄm trÄ«s mÄneÅ”us, attÄ«stot zinÄÅ”anas un iedziļinoties sistÄmÄ, un no 2019. gada sÄkuma iekÅ”ÄjÄ attÄ«stÄ«ba sÄka savu virzÄ«bu uz gaiÅ”u nÄkotni, dažreiz ar grÅ«tÄ«bÄm, bet pÄrliecinoÅ”i un mÄrÄ·tiecÄ«gi.
Repozitorija migrÄcija un automÄtiskÄs pÄrbaudes
Pirmais DevOps uzdevums ir repozitorijs. MÄs Ätri vienojÄmies par piekļuves nodroÅ”inÄÅ”anu, taÄu bija nepiecieÅ”ams migrÄt no paÅ”reizÄjÄ SVN ar vienu maÄ£istrÄlo atzaru uz mÅ«su mÄrÄ·a Git, pÄrejot uz vairÄku atzaru modeli un Git Flow attÄ«stÄ«bu. Mums ir arÄ« 2 komandas ar savu infrastruktÅ«ru, kÄ arÄ« daļa no pÄrdevÄja komandas ÄrzemÄs. Man bija jÄsadzÄ«vo ar diviem Gits un jÄnodroÅ”ina sinhronizÄcija. Å ÄdÄ situÄcijÄ tas bija mazÄkais no diviem ļaunumiem.
KrÄtuves migrÄcija tika vairÄkkÄrt atlikta, tÄ tika pabeigta tikai aprÄ«lÄ«, palÄ«dzot kolÄÄ£iem no frontes lÄ«nijas. Izmantojot Git Flow, mÄs nolÄmÄm, ka iesÄkumam viss ir vienkÄrÅ”s, un izvÄlÄjÄmies klasisko shÄmu ar labojumfailu, izstrÄdÄjam un izlaidÄm. ViÅi nolÄma pamest meistaru (aka prod-like). TÄlÄk mÄs paskaidrosim, kÄpÄc Ŕī opcija mums izrÄdÄ«jÄs optimÄla. KÄ darbinieks tika izmantots ÄrÄjais pÄrdevÄjam piederoÅ”s repozitorijs, kas ir kopÄ«gs divÄm komandÄm. Tas tika sinhronizÄts ar iekÅ”Äjo repozitoriju saskaÅÄ ar grafiku. Tagad ar Git un Gitlab bija iespÄjams automatizÄt procesus.
Autotestu jautÄjums tika atrisinÄts pÄrsteidzoÅ”i viegli - mums tika nodroÅ”inÄts gatavs karkass. Å emot vÄrÄ sistÄmas Ä«patnÄ«bas, atseviŔķas darbÄ«bas izsaukÅ”ana bija saprotama biznesa procesa sastÄvdaļa un vienlaikus kalpoja arÄ« kÄ vienÄ«bas tests. Atlika tikai sagatavot testa datus un iestatÄ«t vÄlamo skriptu izsaukÅ”anas un rezultÄtu izvÄrtÄÅ”anas secÄ«bu. Aizpildoties scenÄriju sarakstam, kas veidots, pamatojoties uz darbÄ«bas statistiku, procesu kritiskumu un esoÅ”o regresijas metodiku, sÄka parÄdÄ«ties automÄtiskÄs pÄrbaudes. Tagad mÄs varÄtu sÄkt bÅ«vÄt cauruļvadu.
KÄ tas bija: modelis pirms automatizÄcijas
EsoÅ”ais ievieÅ”anas procesa modelis ir atseviŔķs stÄsts. Katra modifikÄcija tika manuÄli pÄrsÅ«tÄ«ta kÄ atseviŔķa inkrementÄlÄs instalÄcijas pakotne. TÄlÄk sekoja manuÄla reÄ£istrÄcija Jira un manuÄla instalÄÅ”ana vidÄs. AttiecÄ«bÄ uz atseviŔķiem iepakojumiem viss izskatÄ«jÄs skaidrs, bet ar laidiena sagatavoÅ”anu viss bija sarežģītÄk.
MontÄža tika veikta atseviŔķu piegÄžu lÄ«menÄ«, kas bija neatkarÄ«gi objekti. Jebkuras izmaiÅas ir jauna piegÄde. Cita starpÄ galvenÄ laidiena sastÄva 60ā70 pakotnÄm tika pievienotas 10ā15 tehniskÄs versijas - versijas, kas iegÅ«tas, kaut ko pievienojot vai izslÄdzot no laidiena un atspoguļojot pÄrdoÅ”anas izmaiÅas Ärpus laidieniem.
PiegÄžu objekti pÄrklÄjÄs viens ar otru, jo Ä«paÅ”i izpildÄmajÄ kodÄ, kas bija mazÄk nekÄ puse unikÄls. Bija daudz atkarÄ«bu gan no jau instalÄtÄ koda, gan no tÄ, kura instalÄÅ”ana tikko bija plÄnota.
Lai iegÅ«tu nepiecieÅ”amo koda versiju, bija stingri jÄievÄro uzstÄdÄ«Å”anas secÄ«ba, kuras laikÄ objekti tika fiziski pÄrrakstÄ«ti daudzas reizes, kÄdas 10ā12 reizes.
PÄc pakotÅu partijas instalÄÅ”anas man bija manuÄli jÄizpilda norÄdÄ«jumi, lai inicializÄtu iestatÄ«jumus. Izlaidumu montÄja un uzstÄdÄ«ja pÄrdevÄjs. Izlaiduma sastÄvs tika noskaidrots gandrÄ«z pirms ievieÅ”anas brīža, kas ietvÄra "atsaistes" pakotÅu izveidi. RezultÄtÄ ievÄrojama daļa piegÄžu pÄrvietojÄs no izlaiÅ”anas uz izlaiÅ”anu ar savu āatsaistiā.
Tagad ir skaidrs, ka ar Å”o pieeju - izlaiÅ”anas puzles salikÅ”anu pakotnes lÄ«menÄ« - vienam galvenajam zaram nebija praktiskas nozÄ«mes. UzstÄdÄ«Å”ana ražoÅ”anÄ prasÄ«ja no pusotras lÄ«dz divÄm stundÄm roku darba. Labi, ka vismaz uzstÄdÄ«tÄja lÄ«menÄ« tika noteikta objektu apstrÄdes kÄrtÄ«ba: lauki un struktÅ«ras tika ievadÄ«tas pirms tiem un procedÅ«rÄm. TomÄr tas darbojÄs tikai atseviÅ”Ä·Ä paketÄ.
Å Ä«s pieejas loÄ£isks rezultÄts bija obligÄtie instalÄcijas defekti objektu greizu versiju, nevajadzÄ«ga koda, trÅ«kstoÅ”u instrukciju un objektu neÅemtÄs savstarpÄjÄs ietekmes veidÄ, kas pÄc izlaiÅ”anas tika drudžaini novÄrsti.
Pirmie atjauninÄjumi: veiciet montÄžu un piegÄdi
AutomatizÄcija sÄkÄs, pÄrsÅ«tot kodu pa cauruli pa Å”o marÅ”rutu:
- PaÅemt gatavo sÅ«tÄ«jumu no noliktavas;
- InstalÄjiet to Ä«paÅ”Ä vidÄ;
- palaist automÄtiskos testus;
- NovÄrtÄjiet uzstÄdÄ«Å”anas rezultÄtu;
- Izsauciet Å”o konveijeru testÄÅ”anas komandas pusÄ.
NÄkamajam konveijeram ir jÄreÄ£istrÄ uzdevums programmÄ Jira un jÄgaida, lÄ«dz komandas tiks izplatÄ«tas atlasÄ«tajÄm testÄÅ”anas cilpÄm, kas ir atkarÄ«gas no uzdevuma ievieÅ”anas laika. Trigger - vÄstule par gatavÄ«bu piegÄdei uz norÄdÄ«to adresi. Tas, protams, bija acÄ«mredzams kruÄ·is, bet man bija kaut kur jÄsÄk. 2019. gada maijÄ koda pÄrsÅ«tÄ«Å”ana sÄkÄs ar mÅ«su vides pÄrbaudÄm. Process ir sÄcies, atliek tikai panÄkt, lai tas bÅ«tu pienÄcÄ«gÄ formÄ:
- Katra modifikÄcija tiek veikta atseviÅ”Ä·Ä atzarÄ, kas atbilst instalÄcijas pakotnei un saplÅ«st mÄrÄ·a galvenajÄ zarÄ;
- Konveijera palaiÅ”anas aktivizÄtÄjs ir jaunas saistÄ«bas parÄdÄ«Å”anÄs galvenajÄ filiÄlÄ, izmantojot sapludinÄÅ”anas pieprasÄ«jumu, ko aizver iekÅ”ÄjÄs komandas uzturÄtÄji;
- KrÄtuves tiek sinhronizÄtas reizi piecÄs minÅ«tÄs;
- Tiek uzsÄkta instalÄcijas pakotnes montÄža - izmantojot no pÄrdevÄja saÅemto montÄtÄju.
PÄc tam jau bija darbÄ«bas, lai pÄrbaudÄ«tu un pÄrsÅ«tÄ«tu kodu, palaistu cauruli un montÄtu mÅ«su pusÄ.
Å Ä« iespÄja tika ieviesta jÅ«lijÄ. PÄrejas grÅ«tÄ«bas izraisÄ«ja zinÄmu neapmierinÄtÄ«bu starp pÄrdevÄju un priekÅ”Äjo lÄ«niju, taÄu nÄkamÄ mÄneÅ”a laikÄ mums izdevÄs novÄrst visas rupjÄs malas un izveidot procesu starp komandÄm. Tagad mums ir montÄža ar apÅemÅ”anos un piegÄde.
AugustÄ mums izdevÄs pabeigt pirmo atseviŔķas pakotnes instalÄÅ”anu ražoÅ”anÄ, izmantojot mÅ«su konveijeru, un kopÅ” septembra bez izÅÄmuma visas individuÄlo neizlaižamo pakotÅu instalÄcijas tika veiktas, izmantojot mÅ«su CD rÄ«ku. TurklÄt mums izdevÄs sasniegt iekÅ”Äjo uzdevumu daļu 40% no laidiena sastÄva ar mazÄku komandu nekÄ pÄrdevÄjs ā tas ir neapÅ”aubÄms panÄkums. Palika nopietnÄkais uzdevums - samontÄt un uzstÄdÄ«t izlaidumu.
GalÄ«gais risinÄjums: kumulatÄ«vÄs instalÄcijas pakotnes
MÄs lieliski sapratÄm, ka pÄrdevÄja instrukciju skriptÄÅ”ana ir tik ļoti automatizÄcija; mums bija jÄpÄrdomÄ pats process. RisinÄjums bija acÄ«mredzams - savÄkt no izlaiduma filiÄles kumulatÄ«vo krÄjumu ar visiem nepiecieÅ”amo versiju objektiem.
MÄs sÄkÄm ar koncepcijas pÄrbaudi: mÄs manuÄli salikÄm izlaiduma pakotni atbilstoÅ”i iepriekÅ”ÄjÄs ievieÅ”anas saturam un instalÄjÄm to savÄ vidÄ. Viss izdevÄs, koncepcija izrÄdÄ«jÄs dzÄ«votspÄjÄ«ga. PÄc tam mÄs atrisinÄjÄm problÄmu par inicializÄcijas iestatÄ«jumu skriptÄÅ”anu un to iekļauÅ”anu izpildÄ. MÄs sagatavojÄm jaunu pakotni un pÄrbaudÄ«jÄm to testÄÅ”anas vidÄs kontÅ«ru atjauninÄÅ”anas ietvaros. InstalÄÅ”ana bija veiksmÄ«ga, lai gan ar daudzÄm ievieÅ”anas komandas komentÄriem. Bet galvenais ir tas, ka mums tika dota atļauja sÄkt ražoÅ”anu novembra izlaidumÄ ar mÅ«su montÄžu.
Kad bija palicis nedaudz vairÄk kÄ mÄnesis, ar rokÄm atlasÄ«tÄs preces skaidri liecinÄja, ka laiks beidzas. ViÅi nolÄma uzbÅ«vÄt no izlaiÅ”anas filiÄles, bet kÄpÄc to vajadzÄtu atdalÄ«t? Mums nav Prod lÄ«dzÄ«ga, un esoÅ”Äs filiÄles nav labas ā ir daudz nevajadzÄ«ga koda. Mums ir steidzami jÄsamazina produktu patÄ«k, un tas ir vairÄk nekÄ trÄ«s tÅ«kstoÅ”i saistÄ«bu. SalikÅ”ana ar rokÄm vispÄr nav risinÄjums. MÄs izveidojÄm skriptu, kas darbojas produkta instalÄÅ”anas žurnÄlÄ un apkopo saistÄ«bas attiecÄ«bÄ uz filiÄli. TreÅ”ajÄ reizÄ nostrÄdÄja pareizi, un pÄc āapdares ar vÄ«liā zars bija gatavs.
MÄs uzrakstÄ«jÄm paÅ”i savu celtnieku uzstÄdÄ«Å”anas pakotnei un pabeidzÄm to nedÄļas laikÄ. PÄc tam mums bija jÄmaina instalÄtÄjs no sistÄmas pamata funkcionalitÄtes, jo tas ir atvÄrtÄ koda. PÄc vairÄkÄm pÄrbaudÄm un modifikÄcijÄm rezultÄts tika uzskatÄ«ts par veiksmÄ«gu. Pa to laiku izveidojÄs izlaiduma sastÄvs, kura pareizai uzstÄdÄ«Å”anai bija nepiecieÅ”ams saskaÅot testa Ä·Ädi ar ražoÅ”anas Ä·Ädi, un tam tika uzrakstÄ«ts atseviŔķs skripts.
Protams, par pirmo instalÄciju bija daudz komentÄru, taÄu kopumÄ kods darbojÄs. Un pÄc apmÄram treÅ”Äs instalÄÅ”anas viss sÄka izskatÄ«ties labi. AtseviŔķi tika uzraudzÄ«ta objektu kompozÄ«cijas kontrole un versiju kontrole manuÄlajÄ režīmÄ, kas Å”ajÄ posmÄ bija diezgan pamatoti.
Papildu izaicinÄjums bija lielais neizlaidumu skaits, kas bija jÄÅem vÄrÄ. Bet ar Prod lÄ«dzÄ«gu filiÄli un Rebase uzdevums kļuva caurspÄ«dÄ«gs.
Pirmo reizi Ätri un bez kļūdÄm
MÄs piegÄjÄm izlaidumam ar optimistisku attieksmi un vairÄk nekÄ duci veiksmÄ«gu instalÄciju dažÄdÄs shÄmÄs. Bet burtiski dienu pirms termiÅa izrÄdÄ«jÄs, ka pÄrdevÄjs nebija pabeidzis darbu, lai sagatavotu izlaidumu instalÄÅ”anai pieÅemtajÄ veidÄ. Ja kÄda iemesla dÄļ mÅ«su versija nedarbojas, izlaiÅ”ana tiks pÄrtraukta. TurklÄt ar mÅ«su pÅ«lÄm, kas ir Ä«paÅ”i nepatÄ«kami. Mums nebija iespÄjas atkÄpties. TÄpÄc mÄs pÄrdomÄjÄm alternatÄ«vas iespÄjas, sagatavojÄm rÄ«cÄ«bas plÄnus un sÄkÄm uzstÄdÄ«Å”anu.
PÄrsteidzoÅ”i, viss izlaidums, kas sastÄv no vairÄk nekÄ 800 objektiem, sÄkÄs pareizi, pirmo reizi un tikai 10 minÅ«tÄs. MÄs pavadÄ«jÄm stundu, pÄrbaudot žurnÄlus, meklÄjot kļūdas, taÄu nevienu neatradÄm.
Visu nÄkamo dienu izlaiduma tÄrzÄÅ”anÄ valdÄ«ja klusums: nebija ievieÅ”anas problÄmu, greizas versijas vai ānepiemÄrotaā koda. Tas bija pat kaut kÄ neÄrti. VÄlÄk gan parÄdÄ«jÄs daži komentÄri, taÄu, salÄ«dzinot ar citÄm sistÄmÄm un iepriekÅ”Äjo pieredzi, to skaits un prioritÄte bija manÄmi mazÄka.
Papildu efekts no kumulatÄ«vÄs ietekmes bija montÄžas un testÄÅ”anas kvalitÄtes paaugstinÄÅ”anÄs. SakarÄ ar vairÄkÄm pilna laidiena instalÄcijÄm, bÅ«vÄÅ”anas defekti un izvietoÅ”anas kļūdas tika konstatÄti savlaicÄ«gi. TestÄÅ”ana pilnÄs izlaiÅ”anas konfigurÄcijÄs ļÄva papildus identificÄt objektu savstarpÄjÄs ietekmes defektus, kas neparÄdÄ«jÄs inkrementÄlÄs instalÄcijas laikÄ. Tas noteikti bija veiksmÄ«gs, jo Ä«paÅ”i Åemot vÄrÄ mÅ«su 57% ieguldÄ«jumu izlaidumÄ.
RezultÄti un secinÄjumi
MazÄk nekÄ gada laikÄ mums izdevÄs:
- Veidot pilnvÄrtÄ«gu iekÅ”Äjo attÄ«stÄ«bu, izmantojot eksotisku sistÄmu;
- NovÄrst kritisko atkarÄ«bu no pÄrdevÄja;
- Palaidiet CI/CD, lai iegūtu ļoti nedraudzīgu mantojumu;
- PaaugstinÄt ievieÅ”anas procesus jaunÄ tehniskÄ lÄ«menÄ«;
- IevÄrojami samazinÄt izvietoÅ”anas laiku;
- IevÄrojami samazinÄt ievieÅ”anas kļūdu skaitu;
- Ar pÄrliecÄ«bu pasludiniet sevi par vadoÅ”o attÄ«stÄ«bas ekspertu.
Protams, liela daļa no aprakstÄ«tÄ izskatÄs pÄc atklÄtas muļķības, taÄu tÄs ir sistÄmas iezÄ«mes un tajÄ pastÄvoÅ”ie procesa ierobežojumi. Å obrÄ«d izmaiÅas skÄruÅ”as IS Profile produktus un pakalpojumus (meistarkonti, plastikÄta kartes, krÄjkonti, darÄ«jums, naudas aizdevumi), taÄu potenciÄli pieeju var attiecinÄt uz jebkuru IS, kurai ir izvirzÄ«ts DevOps prakÅ”u ievieÅ”anas uzdevums. KumulatÄ«vo modeli var droÅ”i replicÄt turpmÄkajÄm ievieÅ”anÄm (tostarp neizlaistajÄm) no daudzÄm piegÄdÄm.
Avots: www.habr.com