Ungakha kanjani ukuthuthukiswa kwendlu yangaphakathi okuphelele usebenzisa i-DevOps - isipiliyoni se-VTB

Imikhuba ye-DevOps iyasebenza. Saqiniseka ngalokhu ngokwethu lapho sinciphisa isikhathi sokufakwa kokukhululwa izikhathi ezingu-10. Kuhlelo lwe-FIS Profile, esilusebenzisa ku-VTB, ukufakwa manje kuthatha amaminithi angu-90 kune-10. Isikhathi sokwakhiwa kokukhishwa sehlile kusukela emavikini amabili kuya ezinsukwini ezimbili. Inani leziphambeko zokusetshenziswa eziqhubekayo lehle laya cishe kwabancane. Ukuze sibaleke “emsebenzini wezandla” futhi siqede ukuncika kumthengisi, kwakudingeka sisebenze ngezinduku futhi sithole izixazululo ezingalindelekile. Ngezansi kokusikiwe kunendaba enemininingwane yokuthi sakha kanjani ukuthuthukiswa kwangaphakathi okuphelele.

Ungakha kanjani ukuthuthukiswa kwendlu yangaphakathi okuphelele usebenzisa i-DevOps - isipiliyoni se-VTB
 

Isingeniso: I-DevOps ifilosofi

Onyakeni odlule, senze umsebenzi omningi ukuhlela ukuthuthukiswa kwangaphakathi nokusebenzisa izinqubo ze-DevOps e-VTB:

  • Sakha izinqubo zokuthuthukisa zangaphakathi zezinhlelo eziyi-12;
  • Sethule amapayipi ayi-15, amane awo akhiqizwa;
  • Izimo zokuhlola ezizenzakalelayo eziyi-1445;
  • Senze ngempumelelo inani lokukhishwa okulungiselelwe amaqembu angaphakathi.

Okunye okunzima kakhulu ukuhlela ukuthuthukiswa kwangaphakathi kanye nokuqaliswa kwezinqubo ze-DevSecOps kuvele ukuthi uhlelo lwephrofayili ye-FIS - iphrosesa yomkhiqizo wokuthengisa ku-DBMS engahlobene. Noma kunjalo, sikwazile ukwakha ukuthuthukiswa, ukwethula ipayipi, ukufaka amaphakheji angakhishiwe angawodwana emkhiqizweni, futhi safunda ukuhlanganisa ukukhishwa. Umsebenzi wawungelula, kodwa uyathakazelisa futhi ngaphandle kwemingcele ecacile ekusetshenzisweni: nansi uhlelo - udinga ukwakha ukuthuthukiswa kwangaphakathi. Umbandela kuphela ukusebenzisa i-CD ngaphambi kwendawo ekhiqizayo.

Ekuqaleni, i-algorithm yokuqaliswa yayibonakala ilula futhi icacile:

  • Sithuthukisa ubuchwepheshe bokuqala bokuthuthukisa futhi sifinyelele izinga elamukelekayo lekhwalithi eqenjini lamakhodi ngaphandle kokulimala okukhulu;
  • Sihlanganisa ezinqubweni ezikhona ngangokunokwenzeka;
  • Ukudlulisa ikhodi phakathi kwezigaba ezisobala, sinqamula ipayipi bese sicindezela enye yeziphetho zayo ekuqhubekeni.

Ngalesi sikhathi, ithimba lokuthuthukisa losayizi odingekayo kufanele lithuthukise amakhono futhi likhulise isabelo somnikelo walo ekukhishweni libe sezingeni elamukelekayo. Futhi yilokho kuphela, singacabangela umsebenzi oqediwe.

Kungase kubonakale sengathi lena indlela ewonga amandla ngokuphelele emphumeleni odingekayo: nansi i-DevOps, nawa amamethrikhi okusebenza kweqembu, nabu ubuchwepheshe obuqoqiwe... Kodwa ngokwenza, sithole esinye isiqinisekiso sokuthi i-DevOps isakhuluma ngefilosofi. , futhi "okunamathiselwe kwinqubo ye-gitlab, i-ansible, nexus kanye nokunye okuphansi kohlu."

Ngemva kokuhlaziya uhlelo lokusebenza, sabona ukuthi sakha uhlobo oluthile lomthengisi ngaphakathi kwethu. Ngakho-ke, ukwenziwa kabusha kwenqubo kwengezwe ku-algorithm echazwe ngenhla, kanye nokuthuthukiswa kochwepheshe kuwo wonke umzila wokuthuthukisa ukuze kuzuzwe indima ehamba phambili kule nqubo. Akuyona inketho elula, kodwa lena indlela yokuthuthuka okulungile ngokwemibono.
 

Iqala kuphi intuthuko yasendlini? 

Kwakungelona uhlelo olunobungane kakhulu ukusebenza nalo. Ngokwezakhiwo, kwakuyi-DBMS eyodwa enkulu engahlobene, equkethe izinto eziningi ezihlukene ezisebenzisekayo (izikripthi, izinqubo, amaqoqo, njll.), ezazibizwa ngokuthi zidingeka, futhi zasebenza ngomgomo webhokisi elimnyama: lithola isicelo nezinkinga. impendulo. Obunye ubunzima okufanele buphawulwe buhlanganisa:

  • Ulimi lwangaphandle (MUMPS);
  • Isikhombikubona sekhonsoli;
  • Ukuntuleka kokuhlanganiswa namathuluzi athandwayo nezinhlaka ezizenzakalelayo;
  • Ivolumu yedatha kumashumi ama-terabytes;
  • Umthwalo wemisebenzi engaphezu kwezigidi ezi-2 ngehora;
  • Ukubaluleka - Ibhizinisi-Libalulekile.

Ngesikhathi esifanayo, yayingekho inqolobane yekhodi yomthombo ngasohlangothini lwethu. Kube bonke. Kwakukhona imibhalo, kodwa lonke ulwazi olubalulekile nekhono kwakusohlangothini lwenhlangano yangaphandle.
Saqala ukuqonda ukuthuthukiswa kwesistimu cishe kusukela ekuqaleni, sicabangela izici zayo nokusabalalisa okuphansi. Iqale ngo-Okthoba 2018:

  • Wafunda imibhalo kanye nezisekelo zokwenza amakhodi;
  • Sifunde izifundo ezimfishane zokuthuthuka esizithole kumthengisi;
  • Amakhono okuthuthukisa asekuqaleni;
  • Sihlanganise ibhukwana lokuqeqesha lamalungu amasha eqembu;
  • Savuma ukufaka iqembu kumodi “yokulwa”;
  • Ixazulule inkinga ngokulawula ikhwalithi yekhodi;
  • Sahlela isitendi sentuthuko.

Sichithe izinyanga ezintathu sithuthukisa ubuchwepheshe futhi sizicwilisa ohlelweni, futhi kusukela ekuqaleni kuka-2019, ukuthuthukiswa kwangaphakathi kwaqala umnyakazo wakho obheke ekusaseni eliqhakazile, ngezinye izikhathi ngobunzima, kodwa ngokuzethemba nangenhloso.

Ukufuduka kwenqolobane nokuhlola okuzenzakalelayo

Umsebenzi wokuqala we-DevOps uyinqolobane. Savumelana ngokushesha ngokunikeza ukufinyelela, kodwa kwakudingeka ukuthi sisuke ku-SVN yamanje negatsha elilodwa lesiqu siye ku-Git yethu esiqondiswe kuyo ngokushintshela kumodeli wamagatsha amaningana nokuthuthukiswa kwe-Git Flow. Futhi sinamaqembu ama-2 anengqalasizinda yawo, kanye nengxenye yeqembu labathengisi phesheya. Bekufanele ngiphile nama-Gits amabili futhi ngiqinisekise ukuvumelanisa. Esimweni esinjalo, kwakungububi obuncane obubili.

Ukufuduka kwenqolobane kuhlehliswe kaningi, kwaqedwa ngo-Ephreli kuphela, ngosizo lozakwabo abavela phambili. Nge-Git Flow, sinqume ukugcina izinto zilula ekuqaleni futhi sazinza esikimini sakudala nge-hotfix, ukuthuthukisa nokukhulula. Banquma ukushiya u-master (owaziwa njenge-prod-like). Ngezansi sizochaza ukuthi kungani le nketho ibe yinhle kithi. Inqolobane yangaphandle engekamthengisi, evamile emaqenjini amabili, yasetshenziswa njengesisebenzi. Ivunyelaniswe nenqolobane yangaphakathi ngokweshejuli. Manje nge-Git ne-Gitlab bekungenzeka ukwenza izinqubo ngokuzenzakalelayo.

Udaba lwama-autotests lwaxazululwa kalula ngokumangazayo - sinikezwe uhlaka olwakhiwe ngomumo. Ngokucabangela izici ezihlukile zesistimu, ukubiza ukusebenza okuhlukile kwakuyingxenye eqondakalayo yenqubo yebhizinisi futhi ngesikhathi esifanayo kusebenza njengokuhlolwa kweyunithi. Okwakusele kwakuwukulungiselela idatha yokuhlola nokusetha i-oda oyifunayo yokubiza imibhalo nokuhlola imiphumela. Njengoba uhlu lwezimo, olwakhiwe ngesisekelo sezibalo zokusebenza, ukubaluleka kwezinqubo kanye nendlela yokuhlehla ekhona, egcwalisiwe, ukuhlolwa okuzenzakalelayo kwaqala ukuvela. Manje sesingaqala ukwakha ipayipi.

Kwakunjani: imodeli ngaphambi kwe-automation

Imodeli ekhona yenqubo yokuqaliswa iyindaba ehlukile. Ukuguqulwa ngakunye kudluliselwe mathupha njengephakheji ehlukile yokufaka yokwengeza. Okulandelayo kwalandela ukubhalisa mathupha ku-Jira kanye nokufakwa mathupha ezindaweni. Kumaphakheji ngamanye, yonke into yayibukeka icacile, kodwa ngokulungiselela ukukhululwa, izinto zaziyinkimbinkimbi kakhulu.

Umhlangano wenziwa ezingeni lokudiliva ngabanye, okwakuyizinto ezizimele. Noma yiluphi ushintsho ukulethwa okusha. Phakathi kwezinye izinto, izinguqulo ezingu-60–70 zobuchwepheshe zengezwe kumaphakheji angu-10-15 okwakhiwa okuyinhloko okukhishiwe - izinguqulo ezitholwe lapho kwengezwa noma kungafaki okuthile ekukhishweni futhi kubonisa izinguquko ekuthengisweni kwangaphandle.

Izinto ezingaphakathi kokulethwa zidlulelane, ikakhulukazi kukhodi esebenzisekayo, ebihlukile kunengxenye. Bekunokuningi okuncike kukho kukhodi esivele ifakiwe nakuleyo okusanda kuhlelwa ukufakwa kwayo. 

Ukuze uthole inguqulo edingekayo yekhodi, kwakudingeka ukulandela ngokuqinile umyalelo wokufakwa, lapho izinto zibhalwa kabusha ngokomzimba izikhathi eziningi, izikhathi ezingu-10-12.

Ngemva kokufaka inqwaba yamaphakheji, kwadingeka ngilandele imiyalelo ngesandla ukuze ngiqalise izilungiselelo. Ukukhishwa kwahlanganiswa futhi kwafakwa umthengisi. Ukwakhiwa kokukhishwa kwacaciswa cishe ngaphambi kwesikhathi sokusetshenziswa, okuhlanganisa ukudalwa kwamaphakheji "wokuhlukanisa". Ngenxa yalokho, ingxenye ebalulekile yempahla isuke ekukhululweni yaya kokukhululwa ngomsila wayo "we-decouplings".

Manje sekuyacaca ukuthi ngale ndlela - ukuhlanganisa iphazili yokukhululwa ezingeni lephakheji - igatsha elilodwa eliyinhloko lalingenayo incazelo engokoqobo. Ukufakwa ekukhiqizeni kuthathe ihora elilodwa nesigamu kuya kwamabili lomsebenzi wezandla. Kuhle ukuthi okungenani ezingeni lesifaki uhlelo lokucutshungulwa kwento lucacisiwe: izinkambu nezakhiwo zafakwa ngaphambi kwedatha yazo kanye nezinqubo. Nokho, lokhu kwasebenza kuphela ngaphakathi kwephakheji elihlukile.

Umphumela onengqondo wale ndlela wawuyisibopho sokufaka amaphutha ngendlela yezinguqulo ezigwegwile zezinto, ikhodi engadingekile, iziqondiso ezingekho kanye nokungaziwa kwamathonya afanayo ezinto, ezasuswa ngokushisa ngemva kokukhululwa. 

Izibuyekezo zokuqala: ukuhlanganisa nokudiliva

Ukuzenzakalela kuqale ngokudlulisela ikhodi ngepayipi kulo mzila:

  • Thatha ukulethwa okuphelile endaweni yokugcina;
  • Yifake endaweni ezinikele;
  • Yenza ukuhlola okuzenzakalelayo;
  • Linganisa umphumela wokufaka;
  • Shayela ipayipi elilandelayo ohlangothini lomyalo wokuhlola.

Ipayipi elilandelayo kufanele libhalise umsebenzi ku-Jira futhi lilinde imiyalo ezosatshalaliswa kumaluphu okuhlola akhethiwe, ancike esikhathini sokusetshenziswa komsebenzi. I-Trigger - incwadi emayelana nokulungela ukulethwa ekhelini elinikeziwe. Yiqiniso, lokhu kwakuyindlela ecacile, kodwa kwadingeka ngiqale ndawana thize. NgoMeyi 2019, ukudluliswa kwekhodi kwaqala ngokuhlolwa kwezindawo zethu. Inqubo isiqalile, osekusele nje ukuyiletha esimweni esihle:

  • Ukuguqulwa ngakunye kwenziwa egatsheni elihlukile, elihambisana nephakheji yokufaka futhi lihlanganiswe negatsha eliyinhloko eliqondiwe;
  • I-trigger yokuqaliswa kwepayipi iwukuvela kwesibopho esisha egatsheni eliyinhloko ngesicelo sokuhlanganisa, esivalwa ngabanakekeli abavela eqenjini lasendlini;
  • Amakhosombe avumelaniswa kanye njalo ngemizuzu emihlanu;
  • Ukuhlanganiswa kwephakheji yokufaka kuyaqalwa - kusetshenziswa i-assembler etholwe kumthengisi.

Ngemva kwalokhu, kwakukhona izinyathelo ezikhona kakade zokuhlola nokudlulisa ikhodi, ukuqalisa ipayipi nokuhlangana ohlangothini lwethu.

Lolu khetho lwethulwe ngoJulayi. Ubunzima benguquko bubangele ukunganeliseki okuthile phakathi kwabadayisi kanye nabaphambili, kodwa ngenyanga elandelayo sakwazi ukususa yonke imiphetho emibi futhi sasungula inqubo phakathi kwamaqembu. Manje sinomhlangano ngokuzibophezela nokulethwa.
Ngo-August, sakwazi ukuqedela ukufakwa kokuqala kwephakheji ehlukile ekukhiqizeni sisebenzisa ipayipi lethu, futhi kusukela ngo-September, ngaphandle kokukhetha, konke ukufakwa kwamaphakheji angakhishiwe ngamanye kwenziwa ngethuluzi lethu le-CD. Ngaphezu kwalokho, sikwazile ukuzuza isabelo semisebenzi yangaphakathi ku-40% wokwakhiwa kokukhishwa neqembu elincane kunomthengisi - lokhu kuyimpumelelo eqinisekile. Umsebenzi onzima kakhulu wasala - ukuhlanganisa nokufaka ukukhululwa.

Isixazululo sokugcina: amaphakheji wokufaka aqoqekile 

Sasiqonda kahle ukuthi ukubhala imiyalo yomthengisi kwakuyinto ezenzakalelayo; bekufanele sicabange kabusha inqubo ngokwayo. Isixazululo sasisobala - ukuqoqa ukunikezwa okuqongelelwe egatsheni lokukhululwa nazo zonke izinto zezinguqulo ezidingekayo.

Siqale ngobufakazi bomqondo: sihlanganise ngesandla iphakheji yokukhipha ngokuya ngokuqukethwe kokusetshenziswa okudlule futhi salifaka ezindaweni zethu. Konke kwaphumelela, umqondo wabonakala uyasebenza. Okulandelayo, sixazulule inkinga yokubhala izilungiselelo zokuqalisa futhi sizifake kusibopho. Silungise iphakheji entsha futhi sayihlola ezindaweni zokuhlola njengengxenye yesibuyekezo sekhonta. Ukufakwa kube yimpumelelo, nakuba kube nenani elibanzi lamazwana avela eqenjini elisebenza. Kodwa okubalulekile ukuthi sinikezwe imvume yokungena ekukhiqizweni ngoNovemba nomhlangano wethu.

Njengoba sekusele isikhathi esingaphezudlwana kwenyanga, izinto ezithathwe ngesandla zazikhomba ngokusobala ukuthi isikhathi sasihamba. Banquma ukwenza isakhiwo esivela egatsheni elikhululiwe, kodwa kungani kufanele sihlukaniswe? Asinayo i-Prod-like, namagatsha akhona awalungile - maningi amakhodi angadingekile. Sidinga ngokuphuthumayo ukunqamula ukuthandwa, futhi lokhu kungaphezu kwezinkulungwane ezintathu zokuzibophezela. Ukuhlanganisa ngesandla akuyona inketho nhlobo. Sidwebe iskripthi esingena kulogi yokufaka umkhiqizo bese siqoqa imisebenzi egatsheni. Okwesithathu yasebenza kahle, futhi ngemva “kokuqeda ngefayela” igatsha lase lilungile. 

Sabhalela umakhi wethu wephakheji yokufaka futhi saqeda ngeviki. Khona-ke bekufanele siguqule isifaki kusukela ekusebenzeni okuyisisekelo kwesistimu, njengoba iwumthombo ovulekile. Ngemva kochungechunge lokuhlola nokulungiswa, umphumela wawubhekwa njengempumelelo. Phakathi naleso sikhathi, ukwakheka kokukhishwa kwathatha isimo, ukuze kufakwe okulungile okwakudingeka ukuvumelanisa isifunda sokuhlola nokukhiqiza, futhi umbhalo ohlukile wabhalelwa lokhu.

Ngokwemvelo, kwakukhona ukuphawula okuningi mayelana nokufakwa kokuqala, kodwa ikhodi yonke yasebenza. Futhi ngemva kokufakwa kwesithathu konke kwaqala ukubukeka kukuhle. Ukulawulwa kokuqamba kanye nokulawulwa kwenguqulo yezinto kwaqashwa ngokwehlukana ngemodi eyenziwa ngesandla, okwathi kulesi sigaba kwakufaneleka kakhulu.

Inselele eyengeziwe kube yinani elikhulu lezinto ezingakhishiwe okufanele zibhekwe. Kodwa ngegatsha elifana ne-Prod kanye ne-Rebase, umsebenzi waba sobala.

Okokuqala, ngokushesha futhi ngaphandle kwamaphutha

Sisondele ekukhishweni sinesimo sengqondo sokuthemba kanye nokufakwa okuyimpumelelo okungaphezu kweshumi nambili kumasekhethi ahlukene. Kodwa ngokoqobo usuku ngaphambi komnqamulajuqu, kwavela ukuthi umdayisi wayengakaqedi umsebenzi wokulungiselela ukukhululwa ukuze kufakwe ngendlela eyamukelekile. Uma ngesizathu esithile isakhiwo sethu singasebenzi, ukukhishwa kuzophazamiseka. Ngaphezu kwalokho, ngemizamo yethu, okuyinto engathandeki ikakhulukazi. Sasingenayo indlela yokuhlehla. Ngakho-ke, sicabange ngezinye izinketho, salungiselela izinhlelo zokusebenza futhi saqala ukufakwa.

Ngokumangalisayo, ukukhululwa konke, okuhlanganisa izinto ezingaphezu kuka-800, kwaqala ngendlela efanele, okokuqala futhi ngemizuzu eyi-10 nje. Sichithe ihora sihlola izingodo sifuna amaphutha, kodwa asiwatholanga.

Usuku lonke olulandelayo kwaba nokuthula engxoxweni yokukhipha: azikho izinkinga zokusetshenziswa, izinguqulo eziyizigwegwe noma ikhodi “engalungile”. Kwakunzima ngandlela thize. Kamuva, kwavela okunye ukuphawula, kodwa uma kuqhathaniswa nezinye izinhlelo nolwazi lwangaphambilini, inani lazo nokubalulekile kwazo kwakuphansi ngokuphawulekayo.

Umthelela owengeziwe ovela kumthelela oqongelelwe kwaba ukukhuphuka kwekhwalithi yokuhlanganisa nokuhlola. Ngenxa yokufakwa okuningi kokukhishwa okugcwele, amaphutha okwakha namaphutha okusebenzisa ahlonzwe ngesikhathi. Ukuhlola ekulungiselelweni kokukhishwa okugcwele kwenze kwaba nokwenzeka ukungeza ukuhlonza amaphutha ethonyeni elifanayo lezinto ezingazange zivele phakathi nokufakwa okukhulayo. Ibe yimpumelelo impela, ikakhulukazi uma sibheka umnikelo wethu ongu-57% ekukhishweni.

Imiphumela neziphetho

Esikhathini esingaphansi konyaka sikwazile:

  • Yakha ukuthuthukiswa kwangaphakathi okuphelele usebenzisa uhlelo olungavamile;
  • Susa ukuncika okubalulekile komthengisi;
  • Yethula i-CI/CD ukuthola ifa elingenabungane kakhulu;
  • Ukukhuphula izinqubo zokuqalisa ezingeni elisha lobuchwepheshe;
  • Yehlisa kakhulu isikhathi sokuthumela;
  • Yehlisa ngokuphawulekayo inani lamaphutha okusebenzisa;
  • Zimemezele ngokuzethemba njengochwepheshe oholayo wokuthuthukisa.

Yiqiniso, okuningi kwalokho okuchazwayo kubukeka sengathi i-crap, kodwa lezi yizici zesistimu kanye nemikhawulo yenqubo ekhona kuyo. Okwamanje, izinguquko ezithintekile imikhiqizo namasevisi e-IS Profile (ama-akhawunti ayinhloko, amakhadi epulasitiki, ama-akhawunti okulondoloza, i-escrow, imali ebolekiwe), kodwa okungenzeka le ndlela ingasetshenziswa kunoma iyiphi i-IS lapho umsebenzi wokuqalisa izinqubo ze-DevOps usethelwe yona. Imodeli eqongelelwe ingaphindaphindwa ngokuphephile ekusetshenzisweni okulandelayo (okuhlanganisa okungakhishiwe) ekulethweni okuningi.

Source: www.habr.com

Engeza amazwana