Mar a thogas tu leasachadh in-thaigh làn-chuimseach a’ cleachdadh DevOps - eòlas VTB

Bidh cleachdaidhean DevOps ag obair. Bha sinn cinnteach mu dheidhinn seo sinn fhìn nuair a lughdaich sinn an ùine stàlaidh 10 tursan. Anns an t-siostam Pròifil FIS, a bhios sinn a’ cleachdadh aig VTB, bidh an stàladh a-nis a’ toirt 90 mionaidean seach 10. Tha an ùine togail fuasglaidh air a dhol sìos bho dhà sheachdain gu dà latha. Tha an àireamh de lochdan buileachaidh leantainneach air tuiteam gu ìre as ìsle. Gus faighinn air falbh bho “obair làimhe” agus cuir às do eisimeileachd air an neach-reic, bha againn ri bhith ag obair le crutches agus fuasglaidhean ris nach robh dùil a lorg. Fon gearradh tha sgeulachd mhionaideach mu mar a thog sinn leasachadh làn-staigh.

Mar a thogas tu leasachadh in-thaigh làn-chuimseach a’ cleachdadh DevOps - eòlas VTB
 

Prologue: Is e feallsanachd a th’ ann an DevOps

Thar na bliadhna a dh’ fhalbh, tha sinn air tòrr obrach a dhèanamh gus leasachadh agus buileachadh cleachdaidhean DevOps aig VTB a chuir air dòigh:

  • Thog sinn pròiseasan leasachaidh a-staigh airson 12 siostam;
  • Chuir sinn air bhog 15 loidhne-phìoban, agus chaidh ceithir dhiubh sin a thoirt gu cinneasachadh;
  • suidheachaidhean deuchainn fèin-ghluasadach 1445;
  • Chuir sinn an gnìomh grunn fiosan a chaidh ullachadh le sgiobaidhean a-staigh gu soirbheachail.

B’ e siostam Pròifil FIS - pròiseasar toraidh reic air DBMS neo-dàimheach aon den fheadhainn as duilghe a chuir air dòigh leasachadh taobh a-staigh agus buileachadh cleachdaidhean DevSecOps. Ach a dh’ aindeoin sin, bha e comasach dhuinn an leasachadh a thogail, an loidhne-phìoban a chuir air bhog, pacaidean neo-sgaoilidh fa leth a chuir a-steach air an toradh, agus dh’ ionnsaich sinn mar a chruinnicheadh ​​​​iad fiosan. Cha robh an obair furasta, ach inntinneach agus gun chuingealachaidhean follaiseach ann am buileachadh: seo an siostam - feumaidh tu leasachadh a-staigh a thogail. Is e an aon chumha an CD a chleachdadh ro àrainneachd chinneasach.

An toiseach, bha coltas gu robh an algairim buileachaidh sìmplidh agus soilleir:

  • Bidh sinn a’ leasachadh eòlas leasachaidh tùsail agus a’ coileanadh ìre càileachd iomchaidh bhon sgioba còd gun uireasbhaidhean mòra;
  • Bidh sinn a’ fighe a-steach do phròiseasan a tha ann mar-thà cho mòr ‘s a ghabhas;
  • Gus còd a ghluasad eadar ìrean follaiseach, bidh sinn a 'gearradh loidhne-phìoban agus a' putadh aon de na cinn aige a-steach don leantainneachd.

Rè na h-ùine seo, feumaidh an sgioba leasachaidh den mheud a tha a dhìth sgilean a leasachadh agus a’ chuibhreann de na tha iad a’ cur ri sgaoilidhean àrdachadh gu ìre iomchaidh. Agus sin e, is urrainn dhuinn beachdachadh air an obair a chaidh a chrìochnachadh.

Bhiodh e coltach gur e slighe gu tur lùth-èifeachdach a tha seo chun toradh a tha a dhìth: seo DevOps, seo na tomhasan coileanaidh aig an sgioba, seo an t-eòlas cruinnichte ... Ach ann an cleachdadh, fhuair sinn dearbhadh eile gu bheil DevOps fhathast mu dheidhinn feallsanachd , agus chan eil e “ceangailte ris a’ phròiseas gitlab, a ghabhas, nexus agus nas fhaide sìos an liosta. ”

Às deidh dhuinn sgrùdadh a dhèanamh a-rithist air a’ phlana gnìomh, thuig sinn gu robh sinn a’ togail seòrsa de reiceadair taobh a-muigh taobh a-staigh sinn fhìn. Mar sin, chaidh ath-innleadaireachd pròiseas a chur ris an algairim a chaidh a mhìneachadh gu h-àrd, a bharrachd air leasachadh eòlais air an t-slighe leasachaidh gu lèir gus prìomh àite a choileanadh sa phròiseas seo. Chan e an roghainn as fhasa, ach is e seo an t-slighe airson leasachadh a tha ceart gu h-ideòlach.
 

Càite a thòisicheas leasachadh a-staigh? 

Cha b’ e seo an siostam as càirdeile airson obrachadh leis. A thaobh ailtireachd, b 'e aon DBMS mòr neo-cheangailte a bh' ann, air a dhèanamh suas de iomadh nì so-ghnìomhaichte fa leth (sgriobtaichean, modhan-obrach, batches, msaa), a chaidh a ghairm mar a dh 'fheumar, agus a bha ag obair air prionnsabal bogsa dubh: bidh e a' faighinn iarrtas agus cùisean freagairt. Am measg nan duilgheadasan eile as fhiach toirt fa-near tha:

  • Cànan coimheach (MUMPS);
  • Console eadar-aghaidh;
  • Dìth aonachadh le innealan agus frèaman fèin-ghluasaid mòr-chòrdte;
  • Meud dàta ann an deichean de terabytes;
  • Luchdaich còrr air 2 mhillean gnìomhachd san uair;
  • Cudromach - Gnìomhachas-Eitigeach.

Aig an aon àm, cha robh stòr còd stòr air ar taobh. Idir idir. Bha sgrìobhainnean ann, ach bha a h-uile prìomh eòlas agus comas air taobh buidheann bhon taobh a-muigh.
Thòisich sinn a 'maighstireachd leasachadh an t-siostaim cha mhòr bhon toiseach, a' toirt aire do na feartan agus an sgaoileadh ìseal. Thòisich e san Dàmhair 2018:

  • Rinn e sgrùdadh air na sgrìobhainnean agus bunaitean gineadh còd;
  • Rinn sinn sgrùdadh air a’ chùrsa ghoirid air leasachadh a fhuair sinn bhon neach-reic;
  • Maighstireachd sgilean leasachaidh tùsail;
  • Chuir sinn ri chèile leabhar-làimhe trèanaidh do bhuill sgioba ùra;
  • Dh’ aontaich sinn an sgioba a thoirt a-steach don mhodh “sabaid”;
  • Fuasgail a’ chùis le smachd càileachd còd;
  • Chuir sinn air dòigh seasamh airson leasachadh.

Chuir sinn seachad trì mìosan a’ leasachadh eòlas agus gar bogadh fhèin san t-siostam, agus bho thoiseach 2019, thòisich leasachadh taobh a-staigh a ghluasad a dh’ ionnsaigh àm ri teachd soilleir, uaireannan le duilgheadas, ach le misneachd agus rùn.

Imrich ath-reic agus deuchainnean fèin-ghluasadach

Is e a’ chiad obair DevOps an stòr. Dh’ aontaich sinn gu sgiobalta mu bhith a’ toirt seachad ruigsinneachd, ach bha e riatanach imrich bhon SVN gnàthach le aon mheur stoc chun targaid Git againn leis a’ ghluasad gu modail de ghrunn mheuran agus leasachadh Git Flow. Tha sgiobaidhean 2 againn cuideachd leis a’ bhun-structar aca fhèin, a bharrachd air pàirt de sgioba an neach-reic thall thairis. B’ fheudar dhomh a bhith beò le dà Gits agus dèanamh cinnteach à sioncronadh. Ann an suidheachadh mar sin, b 'e an dà olc a bu lugha.

Chaidh imrich an stòrais a chuir dheth a-rithist; cha deach a chrìochnachadh ach sa Ghiblean, le cuideachadh bho cho-obraichean bhon loidhne aghaidh. Le Git Flow, chuir sinn romhainn cùisean a chumail sìmplidh airson tòiseachadh agus shocraich sinn air an sgeama clasaigeach le hotfix, leasachadh agus leigeil ma sgaoil. Cho-dhùin iad maighstir (aka prod-like) a thrèigsinn. Gu h-ìosal mìnichidh sinn carson a thàinig an roghainn seo gu bhith na b’ fheàrr dhuinn. Chaidh stòr a-muigh leis an neach-reic, cumanta airson dà sgioba, a chleachdadh mar neach-obrach. Bha e air a shioncronachadh leis an stòr a-staigh a rèir clàr-ama. A-nis le Git agus Gitlab bha e comasach pròiseasan a dhèanamh fèin-ghluasadach.

Chaidh cùis autotests fhuasgladh gu h-iongantach gu furasta - fhuair sinn frèam deiseil. A 'toirt aire do fheartan sònraichte an t-siostaim, bha a bhith a' gairm gnìomhachd air leth na phàirt so-thuigsinn den phròiseas gnìomhachais agus aig an aon àm bha e na dheuchainn aonad. Cha robh air fhàgail ach an dàta deuchainn ullachadh agus an òrdugh a bha thu ag iarraidh a shuidheachadh airson na sgriobtaichean a ghairm agus na toraidhean a mheasadh. Mar a chaidh an liosta de shuidheachaidhean, a chaidh a chruthachadh air bunait staitistig obrachaidh, cho cudromach sa tha pròiseasan agus an dòigh-obrach ais-tharraing a th ’ann, a lìonadh, thòisich deuchainnean fèin-ghluasadach a’ nochdadh. A-nis b’ urrainn dhuinn tòiseachadh air an loidhne-phìoban a thogail.

Mar a bha e: am modail ro fèin-ghluasad

Tha am modail gnàthach den phròiseas buileachaidh na sgeulachd air leth. Chaidh gach atharrachadh a ghluasad le làimh mar phasgan stàlaidh mean air mhean air leth. An uairsin thàinig clàradh làimhe ann an Jira agus stàladh làimhe air àrainneachdan. Airson pasganan fa leth, bha a h-uile dad a ’coimhead soilleir, ach le ullachadh an naidheachd, bha cùisean nas toinnte.

Chaidh co-chruinneachadh a dhèanamh aig ìre lìbhrigidh fa leth, a bha nan nithean neo-eisimeileach. Tha atharrachadh sam bith na lìbhrigeadh ùr. Am measg rudan eile, chaidh dreachan teignigeach 60-70 a chur ris na pasganan 10-15 den phrìomh sgrìobhadh fuasglaidh - dreachan a gheibhear nuair a chaidh rudeigin a chuir ris no a thoirmeasg bhon fhoillseachadh agus a’ nochdadh atharrachaidhean ann an reic taobh a-muigh fiosan.

Bha nithean taobh a-staigh nan lìbhrigeadh a’ dol thairis air a chèile, gu sònraichte anns a’ chòd so-ghnìomhaichte, a bha nas lugha na leth gun samhail. Bha mòran eisimeileachd an dà chuid air a’ chòd a chaidh a chuir a-steach mu thràth agus air an fhear aig an robh an stàladh dìreach air a phlanadh. 

Gus an dreach riatanach den chòd fhaighinn, bha e riatanach cumail gu teann ris an òrdugh stàlaidh, nuair a chaidh nithean ath-sgrìobhadh gu corporra iomadh uair, cuid de thursan 10-12.

Às deidh dhomh baidse de phasgan a chuir a-steach, bha agam ri stiùireadh a leantainn le làimh gus na roghainnean a thòiseachadh. Chaidh an sgaoileadh a chuir ri chèile agus a chuir a-steach leis an neach-reic. Chaidh co-dhèanamh an fhoillseachaidh a shoilleireachadh cha mhòr ron àm a chaidh a bhuileachadh, a bha a’ toirt a-steach cruthachadh pasganan “dì-cheangail”. Mar thoradh air an sin, ghluais pàirt chudromach den t-solar bho bhith air a leigeil ma sgaoil le earball fhèin de “decouplings”.

A-nis tha e soilleir, leis an dòigh-obrach seo - a’ cur ri chèile an tòimhseachan fuasglaidh aig ìre pacaid - nach robh ciall practaigeach aig aon phrìomh mheur. Thug an stàladh air cinneasachadh bho uair gu leth gu dà uair de shaothair làimhe. Tha e math gun deach òrdugh giollachd stuthan a shònrachadh co-dhiù aig ìre an stàlaichear: chaidh raointean agus structaran a chuir a-steach ron dàta dhaibh agus modhan-obrach. Ach, cha do dh'obraich seo ach taobh a-staigh pasgan air leth.

B ’e toradh loidsigeach an dòigh-obrach seo na h-uireasbhaidhean stàlaidh èigneachail ann an cruth dreachan cam de nithean, còd neo-riatanach, stiùireadh a bha a dhìth agus gun chunntas air buaidhean co-phàirteach de nithean, a chaidh a chuir às le fiabhras às deidh an leigeil ma sgaoil. 

A’ chiad ùrachadh: cuir air dòigh co-chruinneachadh agus lìbhrigeadh

Thòisich fèin-ghluasad le bhith a’ tar-chuir còd tro phìob air an t-slighe seo:

  • Tog an lìbhrigeadh crìochnaichte bhon stòradh;
  • Stàlaich e air àrainneachd shònraichte;
  • ruith autotests;
  • Dèan measadh air toradh an stàlaidh;
  • Cuir fòn chun na loidhne-phìoban a leanas air taobh an àithne deuchainn.

Bu chòir don ath loidhne-phìoban an gnìomh a chlàradh ann an Jira agus feitheamh gus òrdughan a sgaoileadh gu lùban deuchainn taghte, a tha an urra ri àm buileachadh na h-obrach. Trigger - litir mu dheidhinn deiseil airson lìbhrigeadh gu seòladh sònraichte. Bha seo, gu dearbh, na chrutch follaiseach, ach bha agam ri tòiseachadh an àiteigin. Anns a’ Chèitean 2019, thòisich gluasad còd le sgrùdaidhean air na h-àrainneachdan againn. Tha am pròiseas air tòiseachadh, chan eil air fhàgail ach a thoirt gu cumadh math:

  • Bidh gach atharrachadh air a dhèanamh ann am meur air leth, a tha a rèir a’ phacaid stàlaidh agus a ’tighinn còmhla ris a’ phrìomh mheur targaid;
  • Is e an inneal tòiseachaidh loidhne-phìoban coltas gealltanas ùr anns a’ phrìomh mheur tro iarrtas aonaidh, a tha dùinte le luchd-gleidhidh bhon sgioba a-staigh;
  • Bidh stòran air an sioncronadh aon uair gach còig mionaidean;
  • Thathas a’ tòiseachadh air cruinneachadh a’ phacaid stàlaidh - a’ cleachdadh a’ cho-chruinneachaidh a fhuaireadh bhon neach-reic.

Às deidh seo, bha ceumannan ann mar-thà gus an còd a sgrùdadh agus a ghluasad, gus a ’phìob a chuir air bhog agus a chruinneachadh air ar taobh.

Chaidh an roghainn seo a chuir air bhog san Iuchar. Mar thoradh air duilgheadasan a’ ghluasaid bha beagan mì-riarachaidh am measg an neach-reic agus an loidhne aghaidh, ach thairis air an ath mhìos chaidh againn air na h-oirean garbh a thoirt air falbh agus pròiseas a stèidheachadh am measg nan sgiobaidhean. Tha co-chruinneachadh againn a-nis le gealltanas agus lìbhrigeadh.
Anns an Lùnastal, chaidh againn air crìoch a chuir air a’ chiad stàladh de phasgan air leth air cinneasachadh a’ cleachdadh ar loidhne-phìoban, agus bhon t-Sultain, gun eisgeachd, chaidh a h-uile stàladh de phasgan neo-sgaoilidh fa leth a dhèanamh tron ​​​​inneal CD againn. A bharrachd air an sin, chaidh againn air cuibhreann de ghnìomhan a-staigh a choileanadh ann an 40% den sgrìobhadh fuasglaidh le sgioba nas lugha na an neach-reic - tha seo na shoirbheachadh cinnteach. Dh'fhuirich an obair as miosa - a bhith a 'cruinneachadh agus a' stàladh an t-sgaoilidh.

Am fuasgladh mu dheireadh: pasganan stàlaidh tionalach 

Bha sinn a’ tuigsinn gu math gur e fèin-ghluasad cho math a bh’ ann a bhith a’ sgrìobhadh stiùireadh an neach-reic; bha againn ri ath-bheachdachadh air a’ phròiseas fhèin. Bha am fuasgladh follaiseach - gus solar mean air mhean a chruinneachadh bhon mheur fuasglaidh leis a h-uile nì de ​​na dreachan a bha a dhìth.

Thòisich sinn le dearbhadh air bun-bheachd: chruinnich sinn am pasgan fuasglaidh le làimh stèidhichte air na bha san àm a dh'fhalbh agus chuir sinn a-steach e air na h-àrainneachdan againn. Dh’ obraich a h-uile càil a-mach, thionndaidh am bun-bheachd gu bhith comasach. An uairsin, dh ’fhuasgail sinn a’ chùis mu bhith a ’sgrìobhadh nan roghainnean tòiseachaidh agus gan toirt a-steach don ghealladh. Dh ’ullaich sinn pasgan ùr agus rinn sinn deuchainn air ann an àrainneachdan deuchainn mar phàirt den ùrachadh contour. Bha an stàladh soirbheachail, ged a bha raon farsaing de bheachdan bhon sgioba gnìomhachaidh. Ach is e am prìomh rud gun d’ fhuair sinn cead a dhol a-steach gu cinneasachadh ann am brath na Samhna leis a’ cho-chruinneachadh againn.

Le beagan a bharrachd air mìos air fhàgail, bha na stuthan a chaidh a thaghadh le làimh a’ nochdadh gu soilleir gu robh ùine a’ ruith a-mach. Cho-dhùin iad an togail a dhèanamh bhon mheur fuasglaidh, ach carson a bu chòir a sgaradh? Chan eil coltas Prod againn, agus chan eil na meuran a th’ ann mar-thà math - tha tòrr còd neo-riatanach ann. Feumaidh sinn gu h-èiginneach coltas prothaid a ghearradh, agus tha seo còrr air trì mìle gealltanas. Chan eil cruinneachadh le làimh na roghainn idir. Rinn sinn sgeidse de sgriobt a bhios a’ ruith tro log stàlaidh an toraidh agus a’ cruinneachadh geallaidhean don mheur. An treas uair dh'obraich e gu ceart, agus an dèidh "crìochnachadh le faidhle" bha am meur deiseil. 

Sgrìobh sinn an neach-togail againn fhèin airson a’ phacaid stàlaidh agus chrìochnaich sinn e ann an seachdain. An uairsin bha againn ris an stàlaichear atharrachadh bho phrìomh ghnìomhachd an t-siostaim, leis gu bheil e fosgailte. Às deidh sreath de sgrùdaidhean agus atharrachaidhean, bhathas den bheachd gu robh an toradh soirbheachail. Anns an eadar-ama, thàinig cumadh an t-sgaoilidh air adhart, airson an stàladh ceart bha e riatanach an cuairteachadh deuchainn a cho-thaobhadh leis an riochdachadh, agus chaidh sgriobt air leth a sgrìobhadh airson seo.

Gu nàdarra, bha mòran bheachdan ann mun chiad stàladh, ach san fharsaingeachd dh'obraich an còd. Agus às deidh timcheall air an treas stàladh thòisich a h-uile dad a ’coimhead math. Chaidh smachd sgrìobhaidh agus smachd dreach de nithean a sgrùdadh air leth ann am modh làimhe, a bha gu math reusanta aig an ìre seo.

B’ e dùbhlan a bharrachd an àireamh mhòr de dhaoine nach deach fhoillseachadh a dh’ fheumadh suim a ghabhail. Ach leis a’ mheur coltach ri Prod agus Rebase, dh’ fhàs an obair follaiseach.

A’ chiad uair, gu sgiobalta agus gun mhearachdan

Chaidh sinn faisg air an naidheachd le sealladh dòchasach agus còrr air dusan ionad soirbheachail air diofar chuairtean. Ach gu litearra latha ron cheann-latha, thionndaidh e a-mach nach robh an neach-reic air crìoch a chuir air an obair gus an sgaoileadh ullachadh airson an stàladh san dòigh ris an deach gabhail. Mura obraich an togail againn airson adhbhar air choireigin, thèid dragh a chuir air an fhoillseachadh. A bharrachd air an sin, tro ar n-oidhirpean, a tha gu sònraichte mì-thlachdmhor. Cha robh dòigh againn air tilleadh. Mar sin, smaoinich sinn tro roghainnean eile, dh'ullaich sinn planaichean gnìomh agus thòisich sinn air an stàladh.

Gu h-iongantach, thòisich an sgaoileadh gu lèir, anns a bheil còrr air 800 rud, gu ceart, a ’chiad uair agus ann an dìreach 10 mionaidean. Chuir sinn seachad uair a thìde a’ sgrùdadh nan logaichean a’ coimhead airson mearachdan, ach cha do lorg sinn gin.

An ath latha bha sàmhchair anns a ’chat fuasglaidh: cha robh duilgheadasan buileachaidh ann, dreachan cam no còd“ neo-iomchaidh ”. Bha e eadhon rudeigin neònach. Nas fhaide air adhart, nochd cuid de bheachdan, ach an taca ri siostaman eile agus eòlas roimhe, bha an àireamh agus am prìomhachas aca gu math nas ìsle.

B’ e buaidh a bharrachd bhon bhuaidh thionalach àrdachadh ann an càileachd cruinneachaidh is deuchainn. Mar thoradh air iomadh stàladh den làn sgaoileadh, chaidh uireasbhaidhean togail agus mearachdan cleachdadh a chomharrachadh ann an deagh àm. Le bhith a’ dèanamh deuchainn ann an làn rèiteachadh fuasglaidh bha e comasach cuideachd uireasbhaidhean a chomharrachadh ann an co-bhuaidh nithean nach do nochd aig àm stàlaidhean mean air mhean. Bha e gu cinnteach air leth soirbheachail, gu sònraichte leis na chuir sinn 57% ris an fhoillseachadh.

Toraidhean agus co-dhùnaidhean

Ann an nas lugha na bliadhna chaidh againn air:

  • Tog leasachadh làn-chuimseach a-staigh a’ cleachdadh siostam coimheach;
  • Cur às do eisimeileachd reiceadair èiginneach;
  • Cuir air bhog CI/CD airson dìleab gu math mì-chàirdeil;
  • Àrdaich pròiseasan buileachaidh gu ìre theicnigeach ùr;
  • Lùghdachadh gu mòr air an ùine cleachdaidh;
  • Lùghdachadh gu mòr air an àireamh de mhearachdan buileachaidh;
  • Cuir an cèill thu fhèin gu misneachail mar phrìomh eòlaiche leasachaidh.

Gu dearbh, tha mòran de na tha air a mhìneachadh a’ coimhead coltach ri crap gu tur, ach is iad sin feartan an t-siostaim agus na crìochan pròiseas a tha ann. Aig an àm seo, thug na h-atharrachaidhean buaidh air toraidhean is seirbheisean Pròifil IS (prìomh chunntasan, cairtean plastaig, cunntasan sàbhalaidh, escrow, iasadan airgid), ach dh’ fhaodadh an dòigh-obrach a bhith air a chuir an sàs ann an IS sam bith airson a bheil an gnìomh cleachdaidhean DevOps air a shuidheachadh. Faodar am modail tionalach ath-riochdachadh gu sàbhailte airson buileachadh às deidh sin (a’ toirt a-steach feadhainn nach deach an leigeil ma sgaoil) bho iomadh lìbhrigeadh.

Source: www.habr.com

Cuir beachd ann