Ukusuka kwi-monoliths ukuya kwii-microservices: amava kaM.Video-Eldorado kunye neMegaFon

Ukusuka kwi-monoliths ukuya kwii-microservices: amava kaM.Video-Eldorado kunye neMegaFon

Nge-25 ka-Epreli, thina kwi-Mail.ru Group sabamba inkomfa malunga namafu kunye neenxa zonke- mailto:ILIFU. Amagqabantshintshi ambalwa:

  • Eyona ababoneleli Russian - I-Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, iZiko leDatha yeRostelecom kunye neYandex.Cloud yathetha ngokuthe ngqo kwimarike yethu yefu kunye neenkonzo zabo;
  • Oogxa babo baseBitrix24 babalise ukuba bathini weza kumafu amaninzi;
  • ULeroy Merlin, u-Otkritie, u-Burger King kunye no-Schneider Electric banikeze umdla imbono evela kubathengi bamafu - yiyiphi imisebenzi esetyenzisiweyo ishishini labo kwi-IT kunye nokuba yeyiphi iteknoloji, kubandakanywa nefu, abayibona njengeyona nto ithembisayo.

Unokuzibukela zonke iividiyo kwi-mailto:I-CLOUD inkomfa ikhonkco, kwaye apha unokufunda indlela ingxoxo malunga ne-microservices yahamba ngayo. U-Alexander Deulin, intloko yeziko lophando kunye nophuhliso lweenkqubo zoshishino lweMegaFon, kunye noSergey Sergeev, umlawuli weteknoloji yolwazi lweqela leM.Video-Eldorado, babelane ngeemeko zabo eziphumelelayo zokulahla i-monoliths. Siphinde saxoxa ngemiba enxulumeneyo yeqhinga le-IT, iinkqubo kunye neHR.

Abenzi bephaneli

  • Sergey Sergeev, Iqela leCIO "M.Video-Eldorado";
  • Alexander Deulin, intloko yeziko lophando kunye nophuhliso lweenkqubo zoshishino IMegaFon;
  • Umongameli - NguDmitry Lazarenko, INtloko ye-PaaS isikhokelo Mail.ru Cloud Solutions.

Emva kwentetho ka-Alexander Deulin "Indlela iMegaFon eyandisa ngayo ishishini layo ngeqonga lenkonzo encinci" ujoyine ingxoxo nguSergey Sergeev evela kuM.Video-Eldorado kunye nomphathi wengxoxo uDmitry Lazarenko, i-Mail.ru Cloud Solutions.

Ngezantsi sikulungiselele ushicilelo lwengxoxo, kodwa unokubukela ividiyo:

Utshintsho kwiinkonzo ezincinci yimpendulo kwiimfuno zemarike

Dmitriy:

Ngaba uye wawafumana amava ayimpumelelo ngokufudukela kwiimicroservices? Kwaye ngokubanzi: uyibona phi inzuzo enkulu yeshishini ekusebenziseni ii-microservices okanye ukusuka kwi-monoliths ukuya kwii-microservices?

USergey:

Sele sifikile ngandlel’ ithile kuguqulo lweenkonzo ezincinci kwaye kudala sisebenzisa le ndlela ngaphezulu kweminyaka emithathu. Isidingo sokuqala esithethelela imfuno yee-microservices yayikukudityaniswa okungapheliyo kweemveliso ezahlukeneyo zangaphambili kunye neofisi yangasemva. Kwaye ixesha ngalinye siphoqeleka ukuba senze ukudibanisa okongeziweyo kunye nophuhliso, ukuphumeza imithetho yethu yokusebenza kwale nto okanye loo nkonzo.

Ngexesha elithile, saqonda ukuba kufuneka sikhawulezise ukusebenza kweenkqubo zethu kunye nesiphumo sokusebenza. Ngelo xesha, iikhonsepthi ezinje ngee-microservices kunye nendlela ye-microservice sele ikhona kwimarike, kwaye sagqiba kwelokuba siyizame. Oku kwaqala ngo-2016. Emva koko iqonga labekwa kwaye iinkonzo zokuqala ezili-10 zaphunyezwa liqela elahlukileyo.

Enye yeenkonzo zokuqala, eyona ilayishwe kakhulu, yayiyinkonzo yokubala ixabiso. Ngalo lonke ixesha ufika kuyo nayiphi na ishaneli, kwiqela le-M.Video-Eldorado leenkampani, nokuba yiwebhusayithi okanye ivenkile yokuthengisa, khetha umkhiqizo apho, ubone ixabiso kwiwebhusayithi okanye kwi "Basket", ixabiso lizenzekelayo. ibalwa ngenkonzo enye. Kutheni le nto iyimfuneko: phambi koku, inkqubo nganye yayinemigaqo yayo yokusebenza ngokunyusa - ngezaphulelo njalo njalo. I-ofisi yethu yangasemva iphethe amaxabiso; ukusebenza kwesaphulelo kuphunyezwa kwenye inkqubo. Oku bekufuneka kubekwe kwindawo enye kunye nenkonzo eyodwa, eyahlukanayo eyenziwe ngohlobo lwenkqubo yoshishino eya kusivumela ukuba sikuphumeze oku. Intle kakhulu indlela esiqale ngayo.

Ixabiso leziphumo zokuqala lalilikhulu kakhulu. Okokuqala, sikwazile ukwenza izigqeba ezahlukanayo ezisivumela ukuba sisebenze ngokwahlukeneyo nangendlela edityanisiweyo. Okwesibini, siye sacutha iindleko zobunini malunga nokudityaniswa neenkqubo ezininzi.

Kule minyaka mithathu idlulileyo, songeze iinkqubo ezintathu eziphambili. Kwakunzima ukubagcina benobuncwane obulinganayo obunokufikelela kwinkampani. Ngoko ke, kwavela umsebenzi wokukhangela iivenkile ezintsha, ukuphendula kwiimarike ngokubhekiselele kwisantya, ngokweendleko zangaphakathi kunye nokusebenza kakuhle.

Indlela yokulinganisa impumelelo yokufudukela kwi-microservices

Dmitriy:

Ithathwa njani impumelelo ekufudukeleni kwiimicroservices? Yayiyintoni β€œngaphambili” kwinkampani nganye? Yeyiphi i-metric oye wayisebenzisa ukumisela impumelelo yotshintsho, kwaye ngubani ngokwenene oyimiseleyo?

USergey:

Okokuqala, yazalwa ngaphakathi kwe-IT njengesixhobo - "ukuvula" amandla amatsha. Besinesidingo sokwenza yonke into ngokukhawuleza kwimali elinganayo, sisabela kwimingeni yemarike. Ngoku impumelelo ibonakaliswa kwinani leenkonzo eziphinda zisetyenziswe ziinkqubo ezahlukeneyo, ukudityaniswa kweenkqubo phakathi kwabo. Ngoku kunjalo, kodwa ngelo xesha kwakuyithuba lokudala iqonga kwaye uqinisekise i-hypothesis yokuba sinokukwenza oku, kuya kunika umphumo kwaye ubale ityala leshishini.

UAlexander:

Impumelelo yimvakalelo yangaphakathi. Ishishini lihlala lifuna ngaphezulu, kwaye ubunzulu bokusilela kwethu bubungqina bempumelelo. Kubonakala kunjalo kum.

USergey:

Ewe ndiyavuma. Kwiminyaka emithathu, sele sineenkonzo ezingaphezulu kwamakhulu amabini kunye nokusilela. Imfuno yezibonelelo phakathi kweqela ikhula kuphela - ngama-30% ngonyaka. Oku kwenzeka ngenxa yokuba abantu baziva: ngokukhawuleza, kuyahluka, kukho itekhnoloji eyahlukileyo, konke oku kuphuhliswa.

I-Microservices iya kuza, kodwa ingundoqo iya kuhlala

Dmitriy:

Kufana nenkqubo engapheliyo apho utyala imali kuphuhliso. Ngaba inguqu kwiinkonzo ezincinci zeshishini sele iphelile okanye hayi?

USergey:

Kulula kakhulu ukuphendula. Ucinga ntoni: ukutshintsha iifowuni yinkqubo engapheliyo? Thina ngokwethu sithenga iifowuni minyaka le. Kwaye nantsi: ngokude nje kukho imfuneko yesantya, ukulungelelanisa kwimarike, utshintsho oluthile luya kufuneka. Oku akuthethi ukuba silahla izinto eziqhelekileyo.

Kodwa asinakugquma kwaye siphinde senze yonke into ngaxeshanye. Sinelifa, iinkonzo zokudibanisa ezisemgangathweni ezazikho ngaphambili: iibhasi zeshishini njalo njalo. Kodwa kukho ukusilela, kwaye kukho nemfuneko. Inani lezicelo zeselula kunye nokusebenza kwazo kuyakhula. Ngelo xesha, akukho mntu uthi uya kunikwa i-30% yemali engaphezulu. Oko kukuthi, kukho rhoqo iimfuno kwicala elinye, kunye nokukhangela ukusebenza kakuhle kwelinye.

Dmitriy:

Ubomi bukwimo entle. (Ehleka)

UAlexander:

Ngokubanzi, ewe. Asinazo iindlela zoguqulo-nguquko zokususa eyona nxalenye ingundoqo kwimbonakalo-mhlaba. Umsebenzi ocwangcisiweyo uyaqhubeka ukubola iinkqubo ukuze zihambelane ngakumbi ne-microservice architecture, ukunciphisa impembelelo yeenkqubo enye kwenye.

Kodwa siceba ukugcina eyona nxalenye ingundoqo, kuba kumhlaba wabaqhubi kuya kuhlala kukho amaqonga esiwathengayo. Kwakhona, sifuna ukulinganisela okunempilo: akufanele singxamele ukusika undoqo. Sibeka iinkqubo ngapha nangapha, kwaye ngoku kuvela ukuba sele siphezulu kwiindawo ezininzi eziphambili. Ngaphezulu, ukuphuhlisa ukusebenza, sidala ukubonakaliswa okuyimfuneko kuwo onke amajelo asebenza ngeenkonzo zethu zonxibelelwano.

Uzithengisa njani ii-microservices kumashishini

Dmitriy:

Ndikwanomdla - kwabo bangakhange batshintshe, kodwa bacwangcisa: bekulula kangakanani ukuthengisa le ngcamango kwishishini kwaye ingaba i-adventure, iprojekthi yotyalo-mali? Okanye ngaba yayilicebo lokuqonda: ngoku siya kwi-microservices kwaye yiyo loo nto, akukho nto iya kusimisa. Bekunjani kuwe?

USergey:

Besingathengisi indlela, kodwa inzuzo yeshishini. Kwakukho ingxaki kwishishini, kwaye sazama ukuyisombulula. Ngelo xesha, kwavezwa kwinto yokuba amajelo ahlukeneyo asebenzisa imigaqo eyahlukeneyo yokubala amaxabiso - ngokwahlukileyo ukukhushulwa, ukukhushulwa, njalo njalo. Kwakunzima ukuyigcina, iimpazamo zenzeka, kwaye saphulaphula izikhalazo zabathengi. Oko kukuthi, sasithengisa isisombululo kwingxaki, kodwa size nento yokuba sifuna imali yokwenza iqonga. Kwaye babonise imeko yezoshishino ngokusebenzisa umzekelo wesigaba sokuqala sotyalo-mali: indlela esiya kuqhubeka ngayo ukuyibuyisela kunye nokuba oku kuya kusivumela ukuba senze ntoni.

Dmitriy:

Ngaba ngandlel’ ithile urekhode ixesha lenqanaba lokuqala?

USergey:

Ewe okuqinisekile. Sabele iinyanga ezi-6 ukwenza i-core njengeqonga kunye nokuvavanya umqhubi. Ngeli xesha, sizame ukwenza iqonga ekuza kutyibilika kulo umqhubi wenqwelomoya. Emva koko i-hypothesis yaqinisekiswa, kwaye ekubeni isebenza, ithetha ukuba sinokuqhubeka. Baqala ukuphindaphinda kwaye bomeleza iqela - balihambisa kwicandelo elahlukileyo elenza loo nto kanye.

Okulandelayo kuza umsebenzi ocwangcisiweyo osekelwe kwiimfuno zoshishino, amathuba, ukufumaneka kwezixhobo kunye nayo yonke into ekhoyo ngoku.

Dmitriy:

KULUNGILE. Alexander, uthini?

UAlexander:

Iinkonzo zethu ezincinci zazalwa "kwigwebu lolwandle" - ngenxa yogcino lwezixhobo, ngenxa yokushiyeka okuthile ngendlela yomthamo weseva kunye nokwabiwa kwakhona kwemikhosi ngaphakathi kweqela. Ekuqaleni, asizange sithengise le projekthi kumashishini. Le yayiyiprojekthi apho sobabini saphanda saza saphuhlisa ngokufanelekileyo. Siqale ekuqaleni kuka-2018 kwaye siphuhlise lo mkhombandlela ngomdla. Intengiso isandula ukuqalisa kwaye sikwinkqubo.

Dmitriy:

Ngaba kuyenzeka ukuba ishishini likuvumela ukuba wenze izinto ezinje ngoGoogle-ngosuku olunye lwasimahla ngeveki? Ngaba unalo ulwalathiso olunjalo?

UAlexander:

Kwangaxeshanye njengophando, sikwajongene neengxaki zeshishini, ngoko ke zonke iinkonzo ezincinci zizisombululo kwiingxaki zeshishini. Kuphela ekuqaleni sakha ii-microservices ezigubungela inxalenye encinci yesiseko sobhaliso, kwaye ngoku sikhona phantse kuzo zonke iimveliso zeflegi.

Kwaye impembelelo yezinto eziphathekayo sele icacile - sele sinokubalwa, isantya sokuqaliswa kwemveliso kunye nengeniso elahlekileyo inokuqikelelwa ukuba sasilandele indlela endala. Yile nto sakha ngayo ityala.

Microservices: hype okanye imfuneko?

Dmitriy:

Amanani ngamanani. Kwaye ingeniso okanye imali egciniweyo ibaluleke kakhulu. Kuthekani ukuba ujonge kwelinye icala? Kubonakala ngathi ii-microservices ziyindlela, i-hype kwaye iinkampani ezininzi zizisebenzisa kakubi? Wahlula njani ngokucacileyo phakathi kwento oyenzayo kwaye ungayiguquleli kwiinkonzo ezincinci? Ukuba ulilifa ngoku, ngaba usenalo ilifa kwiminyaka emi-5? Iya kuba yintoni iminyaka yeenkqubo zolwazi ezisebenza kwi-M.Video-Eldorado kunye neMegaFon kwiminyaka eyi-5? Ngaba kuya kubakho iminyaka elishumi, inkqubo yolwazi yeminyaka elishumi elinesihlanu okanye iya kuba sisizukulwana esitsha? Uyibona njani le nto?

USergey:

Kum kubonakala kunzima ukucinga kude kakhulu. Ukuba sijonga ngasemva, ngubani owayecinga ukuba imakethe yetekhnoloji iya kuphuhlisa ngale ndlela, kubandakanya ukufundwa komatshini kunye nokuchongwa komsebenzisi ngobuso? Kodwa ukuba ujonga kule minyaka izayo, kum kubonakala ngathi iinkqubo ezingundoqo, iinkqubo ze-ERP-class kwiinkampani - zisebenze ixesha elide.

Iinkampani zethu ngokudibeneyo zineminyaka engama-25 ubudala, kunye ne-ERP yakudala inzulu kakhulu kwiinkqubo zomhlaba. Kucacile ukuba sithatha amaqhekeza apho kwaye sizama ukuwadibanisa kwiinkonzo ezincinci, kodwa undoqo uya kuhlala. Kunzima kum ngoku ukucinga ukuba siya kuthatha indawo yazo zonke iinkqubo eziphambili apho kwaye sihambe ngokukhawuleza siye kwelinye, icala eliqaqambileyo leenkqubo ezintsha.

Ndingumxhasi wenyaniso yokuba yonke into ekufutshane kumxhasi kunye nomthengi kulapho inzuzo enkulu yeshishini kunye nexabiso likhoyo, apho ukulungelelaniswa kunye nokugxila kwisantya, kutshintsho, "zama, ukukhansela, ukusebenzisa kwakhona, ukwenza into eyahlukileyo" "-kulapho imbonakalo yomhlaba iya kutshintsha. Kwaye iimveliso zebhokisi azingeni apho kakuhle. Noko asiyiboni. Ezona zisombululo zilula nezilula ziyafuneka apho.

Sibona olu phuhliso:

  • iinkqubo zolwazi ezingundoqo (ubukhulu becala emva kweofisi);
  • imigangatho ephakathi ngendlela ye-microservices idibanisa i-core, i-aggregate, yenza i-cache, njalo njalo;
  • iinkqubo ze-front-line zijolise kumthengi;
  • umaleko odityanisiweyo odityaniswe ngokubanzi kwiimarike, ezinye iinkqubo kunye ne-ecosystems. Olu maleko lulula kangangoko, lulula, kwaye luqulathe ubuncinci bengqiqo yeshishini.

Kodwa kwangaxeshanye, ndingumxhasi wokuqhubeka nokusebenzisa imigaqo emidala ukuba isetyenziswa ngokufanelekileyo.

Masithi unenkqubo yoshishino yakudala. Ifumaneka kumhlaba womthengisi omnye kwaye ineemodyuli ezimbini ezisebenza kunye. Kukwakho nojongano oluqhelekileyo lokudibanisa. Kutheni uyenza kwakhona kwaye uzise i-microservice apho?

Kodwa xa kukho iimodyuli ezi-5 kwiofisi yangasemva, apho iziqwenga zolwazi ziqokelelwa kwinkqubo yoshishino, esetyenziswa emva koko kwiinkqubo ze-8-10 zangaphambili, inzuzo ibonakala ngokukhawuleza. Uthatha kwiinkqubo ezintlanu ze-back-office kwaye wenze inkonzo, eyodwa, egxile kwinkqubo yoshishino. Yenza inkonzo ihambele phambili ngetekhnoloji - ukwenzela ukuba igcine ulwazi kwaye ikwazi ukunyamezela iimpazamo, kwaye isebenza namaxwebhu okanye amaqumrhu oshishino. Kwaye udibanisa ngokomgaqo omnye kunye nazo zonke iimveliso zangaphambili. Baye bacima imveliso yomgca wangaphambili-bavele bacima ukudibanisa. Ngomso kufuneka ubhale isicelo esiphathwayo okanye wenze iwebhusayithi encinci kwaye ubeke inxalenye enye kuphela ekusebenzeni - yonke into ilula: uyiqokelele njengomakhi. Ndibona uphuhliso olungakumbi kweli cala - ubuncinci kwilizwe lethu.

UAlexander:

USergey uchaze ngokupheleleyo indlela yethu, enkosi. Ndiza kuthetha apho ngokuqinisekileyo asiyi kuya khona - kwindawo ephambili, kwisihloko sokuhlawula kwi-intanethi. Oko kukuthi, ukulinganisa kunye nokutshaja kuya kuhlala, ngokwenene, i-thresher "enkulu" eya kubhala ngokuthembekileyo imali. Kwaye le nkqubo iya kuqhubeka iqinisekiswa ngabasemagunyeni bethu abalawulayo. Yonke enye into ejonge kubathengi, ewe, ziinkonzo ezincinci.

Dmitriy:

Apha isiqinisekiso libali elinye. Mhlawumbi inkxaso engakumbi. Ukuba uchitha imali encinci kwinkxaso okanye inkqubo ayifuni inkxaso kunye nokuguqulwa, kungcono ukuba ungayichukumisi. Ukulalanisa okufanelekileyo.

Indlela yokuphuhlisa ii-microservices ezithembekileyo

Dmitriy:

Kulungile. Kodwa ndisenomdla. Ngoku ubalisa ibali eliyimpumelelo: yonke into yayilungile, satshintshela kwi-microservices, sakhusela umbono kwishishini, kwaye yonke into yasebenza. Kodwa ndikhe ndeva amanye amabali.

Kwiminyaka embalwa edlulileyo, inkampani yaseSwitzerland eyayityale iminyaka emibini ekuphuhliseni iqonga elitsha le-microservice yeebhanki ekugqibeleni yavala iprojekthi. Iwile ngokupheleleyo. Izigidi ezininzi zeefranc zaseSwitzerland zachithwa, kwaye ekugqibeleni iqela lachithwa-ayizange isebenze.

Ngaba ukhe waba namabali afanayo? Ngaba bekukho okanye kukho nabuphi na ubunzima? Ngokomzekelo, ukugcina ii-microservices kunye nokubeka iliso kukwayintloko kwimisebenzi yokusebenza yenkampani. Emva kwayo yonke loo nto, inani lamacandelo linyusa amashumi amaxesha. Uyibona njani, ingaba kukho imizekelo engaphumelelanga yotyalo-mali apha? Yaye unokubacebisa ngantoni abantu ukuze bangadibani neengxaki ezinjalo?

UAlexander:

Imizekelo engakhange iphumelele iquka amashishini atshintsha izinto eziphambili ngokubaluleka kunye nokurhoxiswa kweeprojekthi. Xa kwinqanaba elihle lokulungela (enyanisweni, i-MVP ilungile), ishishini lathi: "Sinezinto eziphambili eziphambili, siqhubela kwenye iprojekthi, kwaye siyayivala le."

Besingenazo naziphi na iintsilelo zehlabathi ngee-microservices. Silala ngoxolo, sinomsebenzi we-24/7 wokutshintsha inkonzo yonke i-BSS [inkqubo yokuxhasa ishishini].

Kwaye enye into - sirenta ii-microservices ngokwemigaqo esebenza kwiimveliso zebhokisi. Isitshixo sempumelelo kukuba kufuneka, okokuqala, ukuqokelela iqela eliya kulungiselela ngokupheleleyo i-microservice yemveliso. Uphuhliso ngokwalo, ngokwemiqathango, 40%. Eminye i-analytics, indlela ye-DevSecOps, ukudityaniswa okufanelekileyo kunye noyilo oluchanekileyo. Sihlawula ingqalelo ekhethekileyo kwimigaqo yokwakha izicelo ezikhuselekileyo. Abameli bokhuseleko lolwazi bathatha inxaxheba kwiprojekthi nganye kwinqanaba loyilo lwezakhiwo kunye nexesha lokuphunyezwa kwenkqubo. Bakwalawula iinkqubo zokuhlalutya ikhowudi yobuthathaka.

Masithi sihambisa iinkonzo zethu ezingenammiselo- sinazo eKubernetes. Oku kuvumela wonke umntu ukuba alale ngoxolo ngenxa yokunyusa ngokuzenzekelayo kunye nokunyusa okuzenzekelayo kweenkonzo, kwaye i-duty shift ithatha iziganeko.

Kubo bonke ubukho bee-microservices zethu, kukho isiganeko esinye okanye ezibini eziye zafikelela kumgca wethu. Ngoku akukho ngxaki ngokusebenza. Thina, ngokuqinisekileyo, asinayo i-200, kodwa malunga ne-50 microservices, kodwa zisetyenziswa kwiimveliso zeflegi. Ukuba basilela, besiya kuba ngabokuqala ukuyazi ngayo.

Iinkonzo ezincinci kunye neHR

USergey:

Ndivumelana nomlingane wam malunga nokudluliselwa kwinkxaso - ukuba umsebenzi kufuneka ulungelelaniswe ngokuchanekileyo. Kodwa ndiza kukuxelela ngeengxaki ezikhoyo.

Okokuqala, itekhnoloji entsha. Le yi-hype ngendlela elungileyo, kwaye ukufumana ingcali eya kuqonda kwaye inokudala oku kungumngeni omkhulu. Ukhuphiswano lwezibonelelo luyaphambana, ngoko ke iingcali zifanelekile ubunzima bazo kwigolide.

Okwesibini, ngokudalwa kweendawo ezithile kunye nenani elikhulayo leenkonzo, ingxaki yokusetyenziswa kwakhona kufuneka ihlale isombululwe. Njengoko abaphuhlisi bathanda ukwenza: "Masibhale izinto ezininzi ezinomdla apha ngoku ..." Ngenxa yoko, inkqubo ikhula kwaye ilahlekelwe ukusebenza kwayo ngokwemali, iindleko zobunini, njalo njalo. Oko kukuthi, kuyimfuneko ukubandakanya ukusetyenziswa kwakhona kwi-architecture yenkqubo, ukubandakanya kwimephu yendlela yokwazisa iinkonzo kunye nokudlulisa ilifa kwisakhiwo esitsha.

Enye ingxaki – nangona oku kukuhle ngendlela yayo – lukhuphiswano lwangaphakathi. "Owu, abafana abatsha abasefashonini bavele apha, bathetha ulwimi olutsha." Kakade ke, abantu abafani. Kukho abo baqhele ukubhala kwiJava, kunye nabo babhala kwaye basebenzise iDocker kunye neKubernetes. Aba ngabantu abahluke ngokupheleleyo, bathetha ngokwahlukileyo, basebenzisa amagama ahlukeneyo kwaye ngamanye amaxesha abaqondi. Ukukwazi okanye ukungakwazi ukwabelana ngokuziqhelanisa, ukwabelana ngolwazi, ngale ndlela kukwayingxaki.

Ewe, ukonyusa izixhobo. β€œKulungile, masihambe! Kwaye ngoku sifuna ngokukhawuleza, ngakumbi. Yintoni, awukwazi? Ngaba akunakwenzeka ukuhambisa kabini ngonyaka? Kwaye kutheni?" Iintlungu ezikhulayo ezinjalo mhlawumbi zisemgangathweni kwizinto ezininzi, iindlela ezininzi, kwaye unokuziva.

Ngokumalunga nokubeka iliso. Kubonakala kum ukuba iinkonzo okanye izixhobo zokubeka iliso kwimizi-mveliso sele zifunda okanye ziyakwazi ukusebenza kunye ne-Docker kunye ne-Kubernetes ngendlela eyahlukileyo, engekho-standard. Ukuze, umzekelo, ungagqibi ngoomatshini beJava abangama-500 phantsi kwayo yonke le nto, oko kukuthi, iyadityaniswa. Kodwa ezi mveliso zisanqongophala; kufuneka badlule koku. Isihloko sitsha ngokwenene, siya kuqhubeka nokuphuhlisa.

Dmitriy:

Ewe, umdla kakhulu. Kwaye oku kusebenza kwi-HR. Mhlawumbi inkqubo yakho ye-HR kunye nophawu lwe-HR zitshintshile kancinci kule minyaka mi-3. Uqale ukuqasha abanye abantu abanezakhono ezahlukeneyo. Kwaye mhlawumbi kukho zombini okulungileyo kunye nokungalunganga. Ngaphambili, i-blockchain kunye nesayensi yedatha yayiyi-hype, kwaye iingcali kuzo zazixabisa izigidi. Ngoku ixabiso liyehla, imarike iya igcwele, kwaye kukho umkhwa ofanayo kwii-microservices.

USergey:

Ewe, ngokupheleleyo.

UAlexander:

U-HR ubuza umbuzo: "Iphi i-unicorn yakho epinki phakathi kwe-backend kunye ne-frontend?" U-HR akayiqondi ukuba yintoni i-microservice. Sabaxelela imfihlo kwaye sabaxelela ukuba i-backend yenza yonke into, kwaye akukho unicorn. Kodwa i-HR iyatshintsha, ifunda ngokukhawuleza kwaye iqesha abantu abanolwazi olusisiseko lwe-IT.

Ukuvela kwee-microservices

Dmitriy:

Ukuba ujonga i-architecture ekujoliswe kuyo, ii-microservices zikhangeleka njenge-monster enjalo. Uhambo lwakho lwathatha iminyaka eliqela. Abanye banonyaka, abanye iminyaka emithathu. Ngaba uzibonile zonke iingxaki, ulwakhiwo ekujoliswe kulo, ngaba kukho into etshintshileyo? Ngokomzekelo, kwimeko yee-microservices, isango kunye ne-meshes yenkonzo ngoku zivela kwakhona. Ngaba uye wazisebenzisa ekuqaleni okanye ngaba utshintshe i-architecture ngokwayo? Ngaba nawe unalo olo celomngeni?

USergey:

Sele sibhale ngokutsha iinkqubo ezininzi zonxibelelwano. Ekuqaleni kwakukho iprotocol enye, ngoku satshintshela kwenye. Sandisa ukhuseleko kunye nokuthembeka. Siqale ngetekhnoloji yeshishini-Oracle, iWebhu Logic. Ngoku siyashenxa kwiimveliso zeshishini letekhnoloji kwiinkonzo ezincinci kwaye sifudukela kwindawo evulekileyo okanye itekhnoloji evuleke ngokupheleleyo. Silahla uvimba weenkcukacha kwaye sifudukela koko kusisebenzela ngokufanelekileyo kule modeli. Asisafuni teknoloji ye-Oracle.

Saqala ngokulula njengenkonzo, ngaphandle kokucinga malunga nokuba sifuna kangakanani i-cache, yintoni esiya kuyenza xa kungekho xhulumaniso kunye ne-microservice, kodwa idatha yayifuneka, njl. hayi ngolwimi lweenkonzo, kwaye ngolwimi lweshishini, thatha ingqiqo yeshishini ukuya kwinqanaba elilandelayo xa siqala ukuthetha ngamagama. Ngoku siye safunda ukuthetha ngeeleta, kwaye inqanaba elilandelayo xa iinkonzo ziya kuqokelelwa zibe luhlobo oluthile lwe-aggregate, xa eli sele ligama - umzekelo, ikhadi lemveliso yonke. Idityaniswe kwii-microservices, kodwa yi-API eyakhelwe phezulu koku.

Ukhuseleko lubaluleke kakhulu. Ngokukhawuleza ukuba uqalise ukufikeleleka kwaye unenkonzo apho unokufumana izinto ezininzi ezinomdla, kwaye ngokukhawuleza, kwisibini esiqhekezayo, ngoko kukho umnqweno wokuyifumana ngendlela engakhuselekanga kakhulu. Ukuze simke koku, kuye kwafuneka sitshintshe iindlela zokuvavanya nokubeka iliso. Kwafuneka sitshintshe iqela, isakhiwo solawulo lokuhanjiswa, i-CI / CD.

Le yindaleko-efana neefowuni, ngokukhawuleza kakhulu: okokuqala bekukho iifowuni ezicofayo, emva koko kwavela ii-smartphones. Babhala ngokutsha kwaye bayila ngokutsha imveliso kuba imarike yayinemfuno eyahlukileyo. Le yindlela esiphuhla ngayo: ibakala lokuqala, ibakala leshumi, umsebenzi.

Ngokuphindaphindiweyo, kukho into ebekwe ngonyaka ukusuka kwindawo yokujonga iteknoloji, enye into evela kwindawo yokujonga ukusilela kunye neemfuno. Sidibanisa into enye kwenye. Iqela lichitha i-20% kwityala lobugcisa kunye nenkxaso yobugcisa kwiqela, i-80% kwiziko loshishino. Kwaye sihamba ngokuqonda ukuba kutheni siyenza, kutheni sisenza olu phuculo lwetekhnoloji, yintoni abaya kukhokelela kuyo. Kanjalo.

Dmitriy:

Kuhle. Yintoni ekwiMegaFon?

UAlexander:

Owona mceli mngeni xa sifika kwiinkonzo ezincinci yayikukuba singaweli kwisiphithiphithi. Iofisi yezokwakha yeMegaFon yasijoyina ngokukhawuleza, yada yaba ngumqalisi kunye nomqhubi - ngoku sinoyilo olunamandla kakhulu. Umsebenzi wakhe yayikukuqonda ukuba yeyiphi imodeli ekujoliswe kuyo esiya kuyo kwaye zeziphi iiteknoloji ekufuneka zilingwe. Ngobugcisa bokwakha, sabaqhuba ngokwethu aba baqhubi.

Umbuzo olandelayo wawusithi: "Ke ngoku kusetyenziswe njani konke oku?" Kwaye enye: "Ukuqinisekisa njani ukusebenzisana okuselubala phakathi kwee-microservices?" Umnatha wenkonzo usincede saphendula umbuzo wokugqibela. Siye salinga i-Istio kwaye sazithanda iziphumo. Ngoku sikwinqanaba lokunabela kwiindawo ezinemveliso. Sinesimo sengqondo esihle kuyo yonke imingeni-inyaniso yokuba kufuneka sitshintshe rhoqo isitaki, sifunde into entsha. Sinomdla wokuphuhlisa, hayi ukusebenzisa izisombululo ezindala.

Dmitriy:

Amazwi egolide! Imingeni enjalo igcina iqela kunye neshishini kwiinzwane zabo kunye nokudala ikusasa. I-GDPR idale amagosa ayintloko okukhusela idatha, kunye nemingeni ekhoyo ngoku idala ii-microservices eziphambili kunye namagosa okwakha. Kwaye kuyavuyisa.

Sancokola kakhulu. Into ephambili kukuba uyilo olulungileyo lwee-microservices kunye nezakhiwo ngokwazo zikuvumela ukuba ugweme iimpazamo ezininzi. Kakade ke, le nkqubo iphindaphindwa kwaye indaleko, kodwa ikamva.

Enkosi kubo bonke abathathi-nxaxheba, enkosi Sergei kunye Alexander!

Imibuzo evela kubaphulaphuli

Umbuzo wabaphulaphuli (1):

Sergey, lutshintshe njani ulawulo lwe-IT kwinkampani yakho? Ndiyaqonda ukuba xa kukho isitakhi esikhulu seenkqubo ezininzi, indlela elawulwa ngayo yinkqubo ecacileyo nesengqiqweni. Ulwakhe njani kwakhona ulawulo lwecandelo le-IT emva kokuba inani elikhulu kakhulu leenkonzo ezincinci ezidityanisiweyo ngexesha elifutshane?

USergey:

Ndivumelana nomlingane wam ukuba i-architecture ibaluleke kakhulu njengomqhubi wenguqu. Saqala ngokuba necandelo lezokwakha. Abayili bezakhiwo ngaxeshanye abanini bokusasazwa kokusebenza kunye neemfuno zendlela eza kubonakala ngayo kumhlaba. Ngoko ke bakwasebenza njengabaququzeleli bolu tshintsho. Ngenxa yoko, kukho utshintsho oluthile kwinkqubo ethile yokuhanjiswa xa sidala iqonga le-CI / CD.

Kodwa umgangatho, imigaqo esisiseko yophuhliso, uhlalutyo lweshishini, uvavanyo kunye nophuhliso aluzange lucinywe. Sisanda kongeza isantya. Ngaphambili, umjikelo wathatha kakhulu, ukufakwa kwiindawo zovavanyo kwathatha okuninzi kakhulu. Ngoku ishishini liyayibona ingenelo kwaye lithi: β€œKutheni singenakwenza okufanayo kwezinye iindawo?”

Kufana, ngendlela efanelekileyo, isitofu ngendlela yesitofu sokugonya esibonisa: unokwenza ngale ndlela, kodwa ungayenza ngenye indlela. Ngokuqinisekileyo, kukho ingxaki kubasebenzi, kwizakhono, kulwazi, ekuchaseni.

Umbuzo wabaphulaphuli (2):

Abagxeki boyilo lwe-microservice bathi uvavanyo kunye nophuhliso lunzima. Oku kusengqiqweni apho izinto ziba nzima. Yeyiphi imingeni elijongene nayo iqela lakho kwaye uye wayoyisa njani? Umbuzo kumntu wonke.

UAlexander:

Kukho ubunzima xa usuka kwii-microservices ukuya kwiqonga, kodwa zinokusonjululwa.

Umzekelo, senza imveliso equkethe i-5-7 microservices. Kufuneka sinikeze iimvavanyo zokudityaniswa kuyo yonke i-microservices stack ukunika ukukhanya okuluhlaza ukuya kwi-master branch. Lo msebenzi wawungeyonto intsha kuthi: besikwenza oku ixesha elide kwi-BSS, xa umthengisi wasinika izisombululo esele zithunyelwe.

Kwaye ingxaki yethu ikwiqela elincinane kuphela. Enye injineli ye-QA iyadingeka kwimveliso enye enemiqathango. Kwaye ke, sithumela imveliso ye-5-7 microservices, apho i-2-3 inokuphuhliswa ngabantu besithathu. Ngokomzekelo, sinemveliso ekuphuhlisweni kwayo umthengisi wenkqubo yokuhlawula, i-Mail.ru Group kunye ne-MegaFon R&D inxaxheba. Kufuneka sikugqume oku ngovavanyo phambi kokuba siyithumele kwimveliso. Injineli ye-QA isebenze kule mveliso inyanga nesiqingatha, kwaye lonke iqela lishiywe ngaphandle kwenkxaso yakhe.

Oku kuntsonkotha kubangelwa kuphela kukukala. Siyaqonda ukuba ii-microservices azikwazi ukubakho kwi-vacuum; ukubekwa wedwa ngokupheleleyo akukho. Xa sitshintsha inkonzo enye, sihlala sizama ukugcina isivumelwano se-API. Ukuba kukho into eguqukayo phantsi kwe-hood, inkonzo yangaphambili ihlala. Ukuba utshintsho lubulalayo, uhlobo oluthile lokuguqulwa kwezakhiwo lwenzeka kwaye sifudukela kwi-metamodel yedatha eyahlukileyo ngokupheleleyo, engahambelani ngokupheleleyo - kuphela emva koko sithetha malunga ne-v2 yenkonzo ye-API yenkcazo evelayo. Sixhasa inguqulelo yokuqala neyesibini ngaxeshanye, kwaye emva kokuba bonke abathengi batshintshele kwinguqulelo yesibini, sivala nje eyokuqala.

USergey:

Ndifuna ukongeza. Ndivumelana ngokupheleleyo malunga neengxaki - ziyenzeka. Imbonakalo-mhlaba iya isiba nzima, kwaye iindleko ezingaphezulu ziyenyuka, ngakumbi zovavanyo. Indlela yokujongana nale nto: tshintshela kuvavanyo oluzenzekelayo. Ewe, kuya kufuneka utyale imali ngokubhala ii-autotests kunye novavanyo lweyunithi. Ukuze abaphuhlisi bangakwazi ukwenza ngaphandle kokuphumelela uvavanyo, abanako ukutshintsha ikhowudi. Ukuze nokuba iqhosha lokutyhala lingasebenzi ngaphandle kwe-autotest, uvavanyo lweyunithi.

Kubalulekile ukugcina ukusebenza kwangaphambili, kwaye oku kungaphezulu okongezelelweyo. Ukuba uphinda ubhale iteknoloji kwenye iprotocol, emva koko uyibhale kwakhona de uvale yonke into ngokupheleleyo.

Ngamanye amaxesha asenzi uvavanyo lokugqibela ukuya ekupheleni ngenjongo, kuba asifuni ukuyeka uphuhliso, nangona sinayo into enye emva kwenye. I-landscape inkulu kakhulu, inzima, zininzi iinkqubo. Ngamanye amaxesha iba yi-stubs-ewe, uthoba umda wokhuseleko, umngcipheko ongaphezulu uvela. Kodwa kwangaxeshanye ukhulula unikezelo.

UAlexander:

Ewe, uvavanyo oluzenzekelayo kunye novavanyo lweyunithi lukuvumela ukuba wenze inkonzo ekumgangatho ophezulu. Simele umbhobho ongenakugqithiswa ngaphandle kweyunithi kunye novavanyo lokudibanisa. Kuhlala kufuneka sitsale ii-emulators kunye neenkqubo zorhwebo kwiindawo zovavanyo kunye neendawo zophuhliso, kuba ayizizo zonke iinkqubo ezinokubekwa kwiindawo zovavanyo. Ngaphezu koko, abagcini nje ngokuba manzi - sivelisa impendulo epheleleyo kwinkqubo. Le yinxalenye enzulu yokusebenza ngeemicroservices, kwaye sikwatyala imali kuyo. Ngaphandle koku, kuya kubakho isiphithiphithi.

Umbuzo wabaphulaphuli (3):

Ngokokuqonda kwam, ii-microservices ekuqaleni zakhula zisuka kwiqela elahlukileyo kwaye ngoku zikhona kule modeli. Ziziphi iingenelo neengozi zayo?

Sinebali elifanayo nje: kwavela uhlobo lwee-microservices factory. Ngoku sifikelele kwinqanaba lokuba sandise le ndlela kwimveliso ngemisinga kunye neenkqubo. Ngamanye amazwi, sisuka kude kuphuhliso olusembindini lwee-microservices, iimodeli ze-microservice, kwaye siya sisondela kwiinkqubo.

Ngokufanelekileyo, ukusebenza kwethu kuya kwiinkqubo, oko kukuthi, sihambisa esi sihloko. Ithini indlela yakho kwaye lithini ibali ojolise kulo?

UAlexander:

Ulahle igama elithi "microservices factory" emlonyeni wakho-sikwafuna ukukala. Okokuqala, ngokwenene sineqela elinye ngoku. Sifuna ukubonelela onke amaqela ophuhliso iMegaFon enalo ithuba lokusebenza kwi-ecosystem efanayo. Asifuni ukuthatha ngokupheleleyo yonke imisebenzi yophuhliso esinayo ngoku. Umsebenzi wasekhaya kukukala, umsebenzi wehlabathi kukukhokela uphuhliso kuwo onke amaqela akwi-microservice layer.

USergey:

Ndiza kukuxelela indlela esiyihambileyo. Ngokwenene saqalisa ukusebenza njengeqela elinye, kodwa ngoku asodwa. Ndingumcebisi woku kulandelayo: kufuneka kubekho umnini wenkqubo. Umntu kufuneka aqonde, alawule, alawule kwaye akhe inkqubo yophuhliso lwee-microservices. Kufuneka abe ngumnikazi wezibonelelo kwaye azibandakanye kulawulo lobutyebi.

Ezi zixhobo, ezaziyo itekhnoloji, iinkcukacha ezithile kunye nokuqonda indlela yokwakha ii-microservices, zinokufumaneka kumaqela emveliso. Sinomxube apho abantu abavela kwiqonga le-microservice bakwiqela lemveliso elenza usetyenziso lweselula. Bakhona, kodwa basebenza ngokwenkqubo yesebe lolawulo lweqonga le-microservice kunye nomphathi wabo wophuhliso. Kweli candelo kukho iqela elahlukileyo elijongene neteknoloji. Oko kukuthi, sixuba i-pool yezixhobo ezifanayo phakathi kwethu kwaye siyahlula, sibanike amaqela.

Ngelo xesha, inkqubo ihlala iqhelekileyo, ilawulwa, iqhubeka ngokwemigaqo yezobuchwepheshe ngokubanzi, kunye novavanyo lweeyunithi kunye nokunye - yonke into eyakhiwe phezulu. Kunokubakho iikholomu ngendlela yemithombo yobutyebi eqokelelwe kumasebe ahlukeneyo endlela yemveliso.

UAlexander:

Sergey, ngokwenene ungumnini wenkqubo, akunjalo? Ngaba umsebenzi osemva kwabelwana ngawo? Ngubani onoxanduva lokusasazwa kwayo?

USergey:

Bonani: nanku uxube kwakhona. Kukho ukusilela okwenziwa ngokusekwe kuphuculo lobuchwepheshe- eli libali elinye. Kukho ukusilela, okuqulunqwe kwiiprojekthi, kwaye kukho ukusilela kweemveliso. Kodwa ukulandelelana kokungeniswa kwimveliso nganye yenkonzo okanye ukudalwa kwale nkonzo kuphuhliswa yingcali yemveliso. Akakho kwicandelo lolawulo lwe-IT; wasuswa ngokukodwa kulo. Kodwa abantu bam ngokuqinisekileyo basebenza ngokwenkqubo efanayo.

Umnini we-backlog kwiindlela ezahlukeneyo - ukusilela kweenguqu - baya kuba ngabantu abahlukeneyo. Ukudibanisa kweenkonzo zobuchwepheshe, umgaqo wabo wokulungelelanisa - konke oku kuya kuba kwi-IT. Ndingumnikazi weqonga kunye nezixhobo. Phezulu yintoni echaphazela ukusilela kunye notshintsho olusebenzayo, kunye noyilo lwezakhiwo kule ngqiqo.

Masithi ishishini lithi: "Sifuna lo msebenzi, sifuna ukwenza imveliso entsha - yenza kwakhona imali-mboleko." Siyaphendula: β€œEwe, siza kuyenza kwakhona.” Abayili bezakhiwo bathi: "Masicinge: apho kwimali mboleko siza kubhala ii-microservices kwaye siya kuyenza njani?" Emva koko siyayihlula kwiiprojekthi, iimveliso okanye isitaki setekhnoloji, siyibeke kumaqela kwaye siyiphumeze. Ngaba udale imveliso ngaphakathi kwaye wagqiba ekubeni usebenzise i-microservices kule mveliso? Sithi: "Ngoku iinkqubo zelifa ebesinazo, okanye iinkqubo ezingaphambili, kufuneka zitshintshele kwezi nkonzo zincinci." Abayili bezakhiwo bathi: "Ngoko: kwi-backlog yetekhnoloji ngaphakathi kweemveliso zomgca wangaphambili - utshintsho kwiinkonzo ezincinci. Hamba". Kwaye iingcali zeemveliso okanye abanini bamashishini bayaqonda ukuba ungakanani umthamo owabelweyo, uya kwenziwa nini kwaye kutheni.

Ukuphela kwengxoxo, kodwa hayi zonke

Ingqungquthela ye-mailto: Cloud yaququzelelwa Mail.ru Cloud Solutions.

Senza nezinye iziganeko - umz. @Kubernetes Meetup, apho sihlala sijonge izithethi ezibalaseleyo:

  • Landela @Kubernetes kunye nezinye @Meetup iindaba kwijelo lethu leTelegram t.me/k8s_mail
  • Unomdla wokuthetha kwenye ye @Meetups? Shiya isicelo mcs.mail.ru/speak

umthombo: www.habr.com

Yongeza izimvo