Otu esi ewulite ime ụlọ zuru oke site na iji DevOps - ahụmịhe VTB

Omume DevOps na-arụ ọrụ. Anyị kwenyesiri ike na nke a n'onwe anyị mgbe anyị belatara oge ntinye ntọhapụ site na ugboro iri. Na sistemụ profaịlụ FIS, nke anyị na-eji na VTB, ntinye ugbu a na-ewe nkeji 10 karịa 90. Oge ntọhapụ ebelatala site na izu abụọ ruo ụbọchị abụọ. Ọnụọgụ mmejọ mmejuputa iwu na-aga n'ihu agbadala ihe fọrọ nke nta ka ọ bụrụ opekempe. Iji pụọ na "ọrụ aka" ma wepụ ịdabere na onye na-ere ahịa, anyị aghaghị ịrụ ọrụ na crutches ma chọta ngwọta ndị a na-atụghị anya ya. N'okpuru ịkpụ bụ akụkọ zuru ezu banyere otu anyị siri wuo mmepe ime ụlọ zuru oke.

Otu esi ewulite ime ụlọ zuru oke site na iji DevOps - ahụmịhe VTB
 

Okwu mmalite: DevOps bụ nkà ihe ọmụma

N'ime afọ gara aga, anyị emeela ọtụtụ ọrụ iji hazie mmepe ime na mmejuputa omume DevOps na VTB:

  • Anyị wuru usoro mmepe nke ime maka usoro 12;
  • Anyị wepụtara pipeline 15, anọ n'ime ha wetara na mmepụta;
  • Ihe atụ 1445 akpaghị aka;
  • Anyị rụpụtara nke ọma ọtụtụ mwepụta ndị otu n'ime ụlọ haziri.

Otu n'ime ihe siri ike ịhazi mmepe ụlọ na mmejuputa omume DevSecOps tụgharịrị bụrụ usoro profaịlụ FIS - ihe nrụpụta ngwaahịa na-ere ahịa na DBMS na-abụghị nke mmekọrịta. Ka o sina dị, anyị nwere ike iwulite mmepe ahụ, malite pipeline, wụnye ngwugwu anaghị ewepụta n'otu n'otu na ngwaahịa ahụ, ma mụta ka esi achịkọta mwepụta. Ọrụ ahụ adịghị mfe, ma na-adọrọ mmasị ma na-enweghị ihe mgbochi doro anya na mmejuputa: ebe a bụ usoro - ịkwesịrị ịmepụta mmepe ụlọ. Naanị ọnọdụ bụ iji CD tupu gburugburu ebe na-arụpụta ihe.

Na mbụ, algọridim mmejuputa iwu dị ka ọ dị mfe ma doo anya:

  • Anyị na-azụlite ọkachamara mmepe mbụ ma nweta ọkwa dị mma nke ọma site na ndị otu koodu na-enweghị nnukwu ntụpọ;
  • Anyị na-ejikọta n'ime usoro dị ugbu a dịka o kwere mee;
  • Iji nyefee koodu n'etiti ọkwa doro anya, anyị na-ebipụ pipeline ma na-agbanye otu n'ime njedebe ya n'ihu.

N'ime oge a, ndị otu mmepe nke nha achọrọ ga-azụlite nkà na ịbawanye òkè nke ntinye aka ya na ntọhapụ na ọkwa a na-anabata. Ma nke ahụ bụ ya, anyị nwere ike ịtụle ọrụ a rụchara.

Ọ ga-adị ka nke a bụ ụzọ zuru oke ike na-arụ ọrụ nke ọma na nsonaazụ achọrọ: ebe a bụ DevOps, ebe a bụ metrics arụmọrụ nke otu, ebe a bụ ọkachamara na-akwakọba ... Ma na omume, anyị nwetara nkwenye ọzọ na DevOps ka bụ banyere nkà ihe ọmụma. , na ọ bụghị "agbakwunyere na usoro gitlab, ihe nwere ike ime, nexus na n'ihu na ndepụta ahụ."

N'ịtụleghachi atụmatụ mmemme ahụ ọzọ, anyị chọpụtara na anyị na-ewu ụdị onye na-ere ihe n'ime onwe anyị. Ya mere, agbakwunyere nhazigharị usoro na algọridim akọwara n'elu, yana mmepe nke ọkachamara n'akụkụ ụzọ mmepe dum iji nweta isi ọrụ na usoro a. Ọ bụghị nhọrọ kachasị mfe, mana nke a bụ ụzọ mmepe nke echiche ziri ezi.
 

Ebee ka mmepe ime ụlọ na-amalite? 

Ọ bụghị usoro enyi kachasị mma iji rụọ ọrụ. Architecturally, ọ bụ otu nnukwu DBMS na-abụghị nke mmekọrịta, mejupụtara ọtụtụ iche iche executable ihe (scripts, usoro, batches, wdg), nke a na-akpọ dị ka mkpa, na-arụ ọrụ na ụkpụrụ nke igbe ojii: ọ na-enweta arịrịọ na mbipụta. nzaghachi. Ihe isi ike ndị ọzọ kwesịrị ka a rịba ama gụnyere:

  • Asụsụ pụrụ iche (MUMPS);
  • interface njikwa njikwa;
  • Enweghị njikọ na ngwaọrụ akpaaka na-ewu ewu na usoro;
  • Olu data na iri terabytes;
  • Ibu ọrụ karịrị nde abụọ kwa elekere;
  • Ihe dị mkpa - Business-Critical.

N'otu oge ahụ, enweghị ebe nchekwa koodu isi n'akụkụ anyị. Ma ọlị. Enwere akwụkwọ, mana isi ihe ọmụma na ikike niile dị n'akụkụ nzukọ dị n'èzí.
Anyị malitere ịmụta mmepe nke usoro ihe fọrọ nke nta ka ọ bụrụ site na ọkọ, na-eburu n'uche njirimara ya na nkesa dị ala. Malitere na Ọktoba 2018:

  • Gụụrụ akwụkwọ na ihe ndabere nke mmepụta koodu;
  • Anyị na-amụ obere nkuzi na mmepe nke ndị na-ere ahịa nwetara;
  • Nkà mmepe nke mbụ;
  • Anyị chịkọtara akwụkwọ ntuziaka maka ndị otu ọhụrụ;
  • Anyị kwetara itinye otu ahụ na ọnọdụ "agha";
  • Ejiri njikwa njirimara koodu dozie nsogbu ahụ;
  • Anyị haziri nguzo maka mmepe.

Anyị nọrọ ọnwa atọ ịzụlite nka ma na-emikpu onwe anyị n'ime usoro ahụ, site na mmalite nke 2019, mmepe ụlọ malitere mmegharị ya gaa n'ọdịnihu dị mma, mgbe ụfọdụ na-esiri ike, mana n'atụghị egwu na ebumnuche.

Mbugharị ebe nchekwa na akpaaka

Ọrụ mbụ DevOps bụ ebe nchekwa. Anyị kwenyere ngwa ngwa ịnye ohere, mana ọ dị mkpa iji otu alaka osisi si na SVN dị ugbu a kwaga na Git ebumnuche anyị na ntụgharị gaa na ụdị nke ọtụtụ alaka na mmepe nke Git Flow. Anyị nwekwara ndị otu 2 nwere akụrụngwa nke ha, yana akụkụ nke otu ndị na-ere ahịa na mba ofesi. Ekwesịrị m ibi na Git abụọ wee hụ na mmekọrịta. N'ọnọdụ dị otú ahụ, ọ bụ obere ihe ọjọọ abụọ.

E yigharịrị mbugharị nke ebe nchekwa ahụ ugboro ugboro; emechara ya naanị n'April, site n'enyemaka nke ndị ọrụ ibe si n'ahịrị ihu. Site na Git Flow, anyị kpebiri idobe ihe dị mfe maka mbido wee bido na atụmatụ kpochapụrụ na hotfix, mepụta na mwepụta. Ha kpebiri ịhapụ nna ukwu (aka prod-like). N'okpuru ebe a, anyị ga-akọwa ihe kpatara nhọrọ a ji bụrụ nke kacha mma maka anyị. A na-eji ebe nchekwa mpụga nke onye na-ere ahịa, nke a na-ahụkarị maka otu abụọ, dị ka onye ọrụ. Ọ mekọrịtara ya na ebe nchekwa dị n'ime dịka nhazi oge siri dị. Ugbu a na Git na Gitlab ọ ga-ekwe omume ịmegharị usoro.

A na-edozi okwu nke autotests n'ụzọ dị ịtụnanya n'ụzọ dị mfe - e nyere anyị usoro nhazi dị njikere. N'iburu n'uche ihe dị iche iche nke usoro ahụ, ịkpọ ọrụ dị iche iche bụ akụkụ a na-aghọta nke ọma nke usoro azụmahịa ma n'otu oge ahụ na-eje ozi dị ka ule otu. Naanị ihe fọdụrụ bụ ịkwadebe data ule wee tọọ usoro achọrọ nke ịkpọ edemede na ịtụle nsonaazụ ya. Dị ka ndepụta nke ihe ndapụta, nke e guzobere na ndabere nke ọnụ ọgụgụ ọrụ, ihe dị egwu nke usoro na usoro nlọghachi azụ dị ugbu a, mejupụta, ule akpaka malitere ịpụta. Ugbu a, anyị nwere ike ịmalite ịrụ ọkpọkọ.

Otú ọ dị: ihe nlereanya tupu akpaaka

Ụdị dị ugbu a nke usoro mmejuputa iwu bụ akụkọ dị iche. Ejiri aka bufee mgbanwe ọ bụla ka ọ bụrụ ngwungwu nrụnye mgbakwunye dị iche. Ọzọ, ndebanye aha akwụkwọ ntuziaka na Jira na ntinye akwụkwọ ntuziaka na gburugburu. Maka ngwugwu nke ọ bụla, ihe niile na-ele anya nke ọma, ma na nkwadebe nke ntọhapụ, ihe dị mgbagwoju anya.

A na-eme mgbakọ na ọkwa nke nnyefe onye ọ bụla, nke bụ ihe onwe ya. Mgbanwe ọ bụla bụ nnyefe ọhụrụ. Tinyere ihe ndị ọzọ, 60-70 ụdị teknụzụ agbakwunyere na ngwugwu 10-15 nke isi ihe ntọhapụ - ụdị enwetara mgbe ị na-agbakwunye ma ọ bụ wepụ ihe na ntọhapụ na-egosipụta mgbanwe na ahịa n'èzí ntọhapụ.

Ihe ndị dị n'ime mbufe jikọrọ n'otu n'otu, ọkachasị na koodu mmebe, nke na-erughị ọkara pụrụ iche. Enwere ọtụtụ ndabere ma na koodu arụnyerelarị yana nke etinyere ya ka emebere ya. 

Iji nweta ụdị koodu achọrọ, ọ dị mkpa ịgbasochi usoro nrụnye, n'oge a na-edegharị ihe n'ụzọ anụ ahụ ọtụtụ oge, ụfọdụ 10-12 ugboro.

Mgbe ị wụnyechara ngwugwu ngwugwu, ekwesịrị m iji aka ya soro ntuziaka ka ịmalite ntọala. Onye na-ere ahịa chịkọtara ma tinye ya ntọhapụ. A kọwapụtara ihe mejupụtara nke ntọhapụ ihe fọrọ nke nta ka ọ bụrụ tupu oge mmejuputa ya, nke gụnyere ịmepụta ngwugwu "decoupling". N'ihi ya, akụkụ dị ịrịba ama nke ihe ndị ahụ na-esi na ntọhapụ na-ahapụ ya na ọdụ ya nke "decouplings".

Ugbu a, o doro anya na na usoro a - ikpokọta ihe mgbagwoju anya ntọhapụ na ngwugwu ngwugwu - otu alaka ụlọ ọrụ enweghị ihe ọ pụtara. Ntinye na mmepụta were site na otu na ọkara ruo awa abụọ nke ọrụ aka. Ọ dị mma na ọ dịkarịa ala na ọkwa installer ka akọwapụtara usoro nhazi ihe: ubi na ihe owuwu abanyela tupu data maka ha na usoro. Agbanyeghị, nke a rụrụ naanị n'ime ngwugwu dị iche.

Ihe ezi uche dị na ya si na nke a pụta bụ nrụnye nrụnye dị mkpa n'ụdị nsụgharị gbagọrọ agbagọ nke ihe, koodu na-adịghị mkpa, ntụziaka na-efu efu na enweghị mmetụta maka mmetụta nke ihe, bụ nke na-ekpochapụ ọkụ mgbe a tọhapụrụ ya. 

Mmelite mbụ: nyefee mgbakọ na nnyefe

Akpaaka malitere site na ịnye koodu site na ọkpọkọ n'ụzọ a:

  • Bulie nnyefe emechara site na nchekwa;
  • Wụnye ya na gburugburu ebe a raara onwe ya nye;
  • Gbaa autotests;
  • Nyochaa nsonaazụ nrụnye;
  • Kpọọ pipeline na-esote n'akụkụ iwu nnwale.

Pipeline na-esote kwesịrị ịdebanye aha ọrụ ahụ na Jira wee chere ka a na-ekesa iwu na loops ule ahọpụtara, nke dabere na oge mmejuputa ọrụ ahụ. Trigger - akwụkwọ ozi gbasara njikere maka nnyefe na adreesị enyere. Nke a, n'ezie, bụ ihe doro anya, mana m ga-amalite ebe. Na Mee 2019, nnyefe koodu malitere site na nlele gburugburu anyị. Usoro amalitela, naanị ihe fọdụrụ bụ iweta ya n'ụdị dị mma:

  • A na-eme mgbanwe ọ bụla na ngalaba dị iche iche, nke kwekọrọ na ngwugwu nrụnye ma jikọta n'ime alaka ụlọ ọrụ lekwasịrị anya;
  • Ntugharị pipeline na-akpalite bụ ọdịdị nke ntinye ọhụrụ na alaka ụlọ ọrụ site na ịrịọ arịrịọ, nke ndị na-elekọta ụlọ na-emechi emechi;
  • A na-emekọrịta ebe nchekwa otu ugboro kwa nkeji ise;
  • A na-amalite mgbakọ nke ngwugwu nrụnye - na-eji onye na-ezukọta natara n'aka onye na-ere ahịa.

Mgbe nke a gasịrị, enweelarị usoro iji lelee ma nyefee koodu ahụ, iji malite ọkpọkọ ma gbakọta n'akụkụ anyị.

Emere nhọrọ a na July. Ihe isi ike nke mgbanwe ahụ kpatara ụfọdụ enweghị afọ ojuju n'etiti onye na-ere ahịa na n'ihu ihu, ma n'ime ọnwa na-abịa, anyị jisiri ike wepụ akụkụ niile siri ike ma guzobe usoro n'etiti otu. Ugbu a, anyị nwere mgbakọ site nkwa na nnyefe.
N'August, anyị jisiri ike mezue ntinye mbụ nke ngwugwu dị iche na mmepụta site na iji pipeline anyị, na kemgbe Septemba, na-enweghị ihe ọ bụla, arụnyere nrụnye niile nke ngwugwu anaghị ewepụta site na ngwá ọrụ CD anyị. Tụkwasị na nke ahụ, anyị jisiri ike nweta òkè nke ọrụ ụlọ na 40% nke mmepụta ihe ntọhapụ na obere ìgwè karịa onye na-ere ahịa - nke a bụ ihe ịga nke ọma. Ọrụ kachasị njọ ka dị - ịchịkọta na wụnye ntọhapụ.

Ngwọta ikpeazụ: nchịkọta nrụnye nchikota 

Anyị ghọtara nke ọma na idepụta ntuziaka onye na-ere ahịa bụ akpaaka nke ukwuu; anyị ga-atụgharịrịrị usoro ahụ n'onwe ya. Ihe ngwọta doro anya - ịnakọta mkpokọta mkpokọta sitere na ngalaba ntọhapụ yana ihe niile nke ụdị achọrọ.

Anyị malitere site na ihe akaebe nke echiche: anyị ejiri aka chịkọta ngwugwu ntọhapụ dịka ọdịnaya nke mmejuputa iwu gara aga ma tinye ya na gburugburu anyị. Ihe niile na-arụ ọrụ, echiche ahụ wee bụrụ nke dị irè. Ọzọ, anyị doziri ihe iseokwu nke idebe ntọala mmalite yana tinye ha na ntinye aka. Anyị kwadebere ngwugwu ọhụrụ wee nwalee ya na gburugburu ule dị ka akụkụ nke mmelite ihe nlegharị anya. Echichi ahụ gara nke ọma, n'agbanyeghị na enwere ọtụtụ okwu sitere n'aka ndị otu mmejuputa iwu. Ma isi ihe bụ na e nyere anyị ohere ịbanye na mmepụta na ntọhapụ nke November na mgbakọ anyị.

N'ihe fọrọ nke nta ka ọ bụrụ otu ọnwa, ihe ndị a na-enweta n'aka gosipụtara n'ụzọ doro anya na oge na-agwụ. Ha kpebiri ịrụ ụlọ ahụ n’alaka ụlọ ọrụ a tọhapụrụ, ma gịnị mere e kwesịrị iji kewaa ya? Anyị enweghị ụdị Prod, na alaka ndị dị adị adịghị mma - enwere ọtụtụ koodu na-enweghị isi. Anyị kwesịrị igbubi ndị nwere mmasị ngwa ngwa, nke a karịrị puku atọ na-eme. Iji aka na-agbakọta abụghị nhọrọ ma ọlị. Anyị chepụtara edemede nke na-aga na ndekọ ntinye ngwaahịa ma na-anakọta ntinye aka na alaka ụlọ ọrụ. Oge nke atọ ọ rụrụ ọrụ n'ụzọ ziri ezi, mgbe 'mechara faịlụ' alaka ahụ dị njikere. 

Anyị dere onye nrụpụta nke anyị maka ngwugwu nrụnye wee mechaa ya n'ime otu izu. Mgbe ahụ, anyị kwesịrị ịgbanwe installer site na isi ọrụ nke usoro, ebe ọ bụ na-emeghe-isi iyi. Mgbe usoro nyocha na mgbanwe dị iche iche gasịrị, a na-ewere nsonaazụ ya na-aga nke ọma. Ka ọ dị ugbu a, ihe mejupụtara nke ntọhapụ ahụ weere ọnọdụ, maka ntinye ziri ezi nke ọ dị mkpa iji dozie sekit ule ahụ na mmepụta ihe, ma dee edemede dị iche iche maka nke a.

Dị ka o kwesịrị ịdị, enwere ọtụtụ okwu banyere nrụnye mbụ, mana n'ozuzu koodu ahụ rụrụ ọrụ. Ma mgbe ihe dị ka nrụnye nke atọ gasịrị, ihe niile malitere ịdị mma. A na-enyocha njikwa nhazi na njikwa ụdị ihe dị iche iche na ọnọdụ ntuziaka, nke n'oge a bụ nke ziri ezi.

Ihe ịma aka ọzọ bụ ọnụ ọgụgụ buru ibu nke enweghị mwepụta nke a ga-eburu n'uche. Mana site na ngalaba Prod na Rebase, ọrụ ahụ ghọrọ ihe doro anya.

Oge mbụ, ngwa ngwa na enweghị njehie

Anyị ji àgwà nwere nchekwube bịarute ntọhapụ ahụ yana nrụnye ihe karịrị iri na abụọ na-aga nke ọma na sekit dị iche iche. Ma n'ụzọ nkịtị otu ụbọchị tupu oge njedebe, ọ bịara bụrụ na onye na-ere ahịa emechabeghị ọrụ ahụ iji kwadebe ntọhapụ maka ntinye n'ụzọ a nabatara. Ọ bụrụ n'ihi ihe ụfọdụ ụlọ anyị anaghị arụ ọrụ, a ga-akụghasị ntọhapụ ahụ. Ọzọkwa, site na mgbalị anyị, nke na-adịghị mma karịsịa. Anyị enweghị ụzọ isi laghachi azụ. Ya mere, anyị chere site na nhọrọ ndị ọzọ, kwadebere ihe omume atụmatụ na malite echichi.

N'ụzọ dị ịtụnanya, ntọhapụ ahụ dum, nke nwere ihe karịrị 800, malitere n'ụzọ ziri ezi, nke mbụ na naanị nkeji iri. Anyị nọrọ otu awa na-elele ndekọ ahụ na-achọ mperi, mana ahụghị nke ọ bụla.

N'echi ya niile enwere ịgbachi nkịtị na nkata ntọhapụ: enweghị nsogbu mmejuputa, ụdị gbagọrọ agbagọ ma ọ bụ koodu "ekwesịghị ekwesị". Ọ bụ ọbụna n'ụzọ ụfọdụ ihere. Mgbe e mesịrị, ụfọdụ nkọwa pụtara, ma e jiri ya tụnyere usoro ndị ọzọ na ahụmahụ gara aga, ọnụ ọgụgụ ha na mkpa ha dị ntakịrị.

Mmetụta ọzọ sitere na nchịkọta mkpokọta bụ mmụba na ogo mgbakọ na ule. N'ihi nrụnye dị iche iche nke ntọhapụ zuru oke, achọpụtara ntụpọ wuo na njehie ntinye n'oge. Nnwale na nhazi ntọhapụ zuru oke mere ka o kwe omume ịchọpụta ntụpọ na mmetụta nke ihe na-apụtaghị n'oge nrụnye agbakwunyere. O doro anya na ọ bụ ihe ịga nke ọma, ọkachasị nyere onyinye 57% anyị na ntọhapụ.

Nsonaazụ na nkwubi okwu

N'ihe na-erughị otu afọ anyị jisiri ike:

  • Mepụta mmepe ime ụlọ zuru oke site na iji usoro dị egwu;
  • Wepụ ịdabere na ndị na-ere ahịa dị oke egwu;
  • Mwepụta CI/CD maka ihe nketa enweghị enyi;
  • Welie usoro mmejuputa iwu na ọkwa teknụzụ ọhụrụ;
  • Jiri nwayọ belata oge ntinye;
  • Jiri nwayọ belata ọnụ ọgụgụ mmejọ mmejuputa;
  • Jiri obi ike kwupụta onwe gị dị ka onye ọkachamara mmepe.

N'ezie, ọtụtụ n'ime ihe ndị a kọwara dị ka ihe efu, ma ndị a bụ njirimara nke usoro na njedebe usoro dị na ya. N'oge a, mgbanwe ndị ahụ metụtara IS Profaịlụ ngwaahịa na ọrụ (akaụntụ nna ukwu, kaadị rọba, akaụntụ nchekwa, escrow, mgbazinye ego ego), mana enwere ike itinye usoro ahụ na IS ọ bụla nke edobere ọrụ nke imejuputa omume DevOps. Enwere ike ịmegharị ụdị nchikota ahụ n'enweghị nsogbu maka mmejuputa iwu na-esote (gụnyere ndị anaghị ewepụta) site na ọtụtụ nnyefe.

isi: www.habr.com

Tinye a comment