Site na monoliths ruo microservices: ahụmịhe nke M.Video-Eldorado na MegaFon

Site na monoliths ruo microservices: ahụmịhe nke M.Video-Eldorado na MegaFon

Na Eprel 25, anyị nọ na Mail.ru Group nwere ọgbakọ gbasara igwe ojii na gburugburu - mailto:CLOUD. Isi ihe ole na ole:

  • Isi Ndị na-eweta Russia - Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center na Yandex.Cloud kwuru banyere nkọwa nke ahịa igwe ojii na ọrụ ha;
  • Ndị ọrụ ibe si Bitrix24 gwara ka ha si bịara multicloud;
  • Leroy Merlin, Otkritie, Burger King na Schneider Electric nyere mmasị echiche sitere n'aka ndị na-azụ ahịa igwe ojii - kedu ihe na-arụ ọrụ azụmahịa ha na-ahazi maka IT yana teknụzụ, gụnyere igwe ojii, ha na-ahụ dị ka ihe na-ekwe nkwa.

Ị nwere ike lelee vidiyo niile site na mailto:CLOUD ogbako njikọ, ma ebe a ị nwere ike ịgụ ka mkparịta ụka gbasara microservices si gaa. Alexander Deulin, onye isi nke MegaFon azụmahịa usoro nyocha na mmepe center, na Sergey Sergeev, ozi technology director nke M.Video-Eldorado otu, kesara ha ihe ịga nke ọma ikpe nke iwepụ monoliths. Anyị tụlekwara okwu metụtara atụmatụ IT, usoro na ọbụna HR.

Ndị omebe iwu

  • Sergey Sergeev, Group CIO "M.Video-Eldorado";
  • Alexander Deulin, onye isi nke center maka nyocha na mmepe nke usoro azụmahịa MegaFon;
  • Onye nhazi - Dmitry Lazarenko, Isi ntụziaka PaaS Mail.ru Cloud Solutions.

Mgbe okwu Alexander Deulin gasịrị "Ka MegaFon si gbasaa azụmahịa ya site na ikpo okwu microservice" ọ na-esonyere maka mkparịta ụka Sergey Sergeev sitere na M.Video-Eldorado na onye nhazi mkparịta ụka Dmitry Lazarenko, Mail.ru Cloud Solutions.

N'okpuru ebe a, anyị akwadola gị transcript nke mkparịta ụka, mana ị nwekwara ike ikiri vidiyo:

Ntughari na microservices bụ nzaghachi nye mkpa ahịa

Dmitriy:

Ị nwetala ahụmịhe ọ bụla na-aga nke ọma ịkwaga na microservices? Na n'ozuzu: kedu ebe ị na-ahụ uru azụmahịa kachasị ukwuu site na iji microservices ma ọ bụ ịkwaga site na monoliths gaa na microservices?

Sergey:

Anyị abịalarị n'ụzọ ụfọdụ na mgbanwe na microservices ma na-eji usoro a ihe karịrị afọ atọ. Mkpa mbụ nke kwadoro mkpa microservices bụ njikọ na-adịghị agwụ agwụ nke ngwaahịa dị iche iche n'ihu na ụlọ ọrụ azụ. Na oge ọ bụla a manyere anyị ime ntinye na mmepe ọzọ, na-emejuputa iwu nke anyị maka ịrụ ọrụ nke a ma ọ bụ ọrụ ahụ.

N'oge ụfọdụ, anyị ghọtara na anyị kwesịrị ime ngwa ngwa nke usoro anyị na mmepụta nke ọrụ. N'oge ahụ, echiche ndị dị ka microservices na a microservice ụzọ adịlarị na ahịa, anyị kpebiri na-agbalị ya. Nke a malitere na 2016. Mgbe ahụ, a tọgbọrọ ikpo okwu na ọrụ 10 mbụ nke otu ndị ọzọ na-arụ ọrụ.

Otu n'ime ọrụ mbụ, nke kacha ibu, bụ ọrụ ịgbakọ ọnụ ahịa. Mgbe ọ bụla ị na-abịa na ọwa ọ bụla, na M.Video-Eldorado otu ụlọ ọrụ, ma ọ bụ ebe nrụọrụ weebụ ma ọ bụ ụlọ ahịa na-ere ahịa, họrọ ngwaahịa n'ebe ahụ, hụ ọnụahịa na weebụsaịtị ma ọ bụ na "Basket", ọnụ ahịa na-akpaghị aka. gbakọọ site na otu ọrụ. Gịnị kpatara nke a ji dị mkpa: tupu nke a, usoro ọ bụla nwere ụkpụrụ nke ya maka ịrụ ọrụ na nkwalite - na ego na ihe ndị ọzọ. Ụlọ ọrụ azụ anyị na-ejikwa ọnụahịa; arụ ọrụ ego na-arụ ọrụ na usoro ọzọ. Nke a dị mkpa ka ọ bụrụ ebe etiti na ọrụ pụrụ iche, nke a na-ekewapụ n'ụdị usoro azụmahịa nke ga-enye anyị ohere ịme nke a. Otú ahụ ka anyị siri malite.

Uru nke nsonaazụ mbụ dị oke oke. Nke mbụ, anyị nwere ike ịmepụta ụlọ ọrụ ndị na-ekewapụ nke na-enye anyị ohere ịrụ ọrụ iche iche yana n'ụzọ gbakọtara. Nke abuo, anyị ebelatala ọnụ ahịa nke onye nwe ya na ntinye aka na usoro ndị ọzọ.

N'ime afọ atọ gara aga, anyị atụkwasịla usoro atọ frontline. O siri ike iji otu ego nke ụlọ ọrụ ahụ nwere ike ijikwa ha. Ya mere, ọrụ ahụ bilitere ịchọ ụlọ ahịa ọhụrụ, na-azaghachi ahịa na ọsọ ọsọ, n'ihe banyere ụgwọ dị n'ime na arụmọrụ.

Otu esi amata ihe ịga nke ọma nke ịkwaga na microservices

Dmitriy:

Kedu ka esi ekpebi ihe ịga nke ọma n'ịkwaga na microservices? Kedu ihe bụ "mbụ" na ụlọ ọrụ ọ bụla? Kedu metric iji chọpụta ọganiihu nke mgbanwe ahụ, na onye kpebisiri ike ya?

Sergey:

Nke mbụ, a mụrụ ya n'ime IT dị ka onye na-enyere aka - "ịkpọghe" ikike ọhụrụ. Anyị nwere mkpa ime ihe niile ngwa ngwa maka otu ego ahụ, na-anabata ihe ịma aka ahịa. Ugbu a, a na-egosipụta ihe ịga nke ọma na ọnụ ọgụgụ nke ọrụ ndị na-eji usoro dị iche iche eme ihe, ịdị n'otu nke usoro n'etiti onwe ha. Ugbu a ọ bụ, ma n'oge ahụ ọ bụ ohere ịmepụta ikpo okwu ma kwado echiche na anyị nwere ike ime nke a, ọ ga-enye mmetụta ma gbakọọ ikpe azụmahịa.

Alexander:

Ihe ịga nke ọma bụ mmetụta dị n'ime. Azụmahịa na-achọkarị karịa, na omimi nke backlog anyị bụ ihe akaebe nke ịga nke ọma. Ọ dị m ka ọ dị m.

Sergey:

Ee, ekwenyere m. N'ime afọ atọ, anyị nwere ihe karịrị narị abụọ ọrụ na backlog. Mkpa akụrụngwa n'ime otu na-eto eto - site na 30% kwa afọ. Nke a na-eme n'ihi na ndị mmadụ chere: ọ dị ngwa ngwa, ọ dị iche, enwere teknụzụ dị iche iche, ihe a niile na-etolite.

Microservices ga-abịa, mana isi ga-adị

Dmitriy:

Ọ dị ka usoro na-adịghị agwụ agwụ ebe ị na-etinye ego na mmepe. Ntugharị na microservices maka azụmahịa agafeela ma ọ bụ na ọ gwụla?

Sergey:

Ọ dị mfe ịza. Kedu ihe ị chere: dochie ekwentị bụ usoro na-adịghị agwụ agwụ? Anyị onwe anyị na-azụta ekwentị kwa afọ. Na ebe a bụ: ọ bụrụhaala na ọ dị mkpa maka ọsọ ọsọ, maka ime mgbanwe na ahịa, a ga-achọ mgbanwe ụfọdụ. Nke a apụtaghị na anyị na-ahapụ ihe ndị e ji mara ụkpụrụ.

Mana anyị enweghị ike ikpuchi ma megharịa ihe niile ozugbo. Anyị nwere ihe nketa, ọrụ njikọta ọkọlọtọ nke dịbu: ụgbọ ala ụlọ ọrụ na ihe ndị ọzọ. Ma e nwere ihe ndọghachi azụ, e nwekwara mkpa. Ọnụ ọgụgụ nke ngwa mkpanaka na ọrụ ha na-eto eto. N'otu oge ahụ, ọ dịghị onye na-ekwu na a ga-enye gị 30% ego ọzọ. Nke ahụ bụ, enwere mkpa mgbe niile n'otu aka, yana ịchọ arụmọrụ n'akụkụ nke ọzọ.

Dmitriy:

Ndụ dị ezigbo mma. (Ọchị)

Alexander:

N'ozuzu, ee. Anyị enweghị ụzọ mgbanwe iji wepụ akụkụ bụ isi na odida obodo. A na-arụ ọrụ nhazi iji mebie sistemu ka ha wee kwekọọ na ihe owuwu microservice, iji belata mmetụta nke sistemu na ibe ha.

Mana anyị na-eme atụmatụ idobe akụkụ bụ isi, ebe ọ bụ na n'ọdịdị nke onye ọrụ, a ga-enwe ụfọdụ nyiwe anyị na-azụta mgbe niile. Ọzọ, anyị chọrọ nguzozi dị mma: anyị ekwesịghị ngwa ngwa bepụ isi. Anyị na-etinye usoro ndị ahụ n'akụkụ, ma ugbu a ọ na-apụta na anyị adịlarị n'elu ọtụtụ akụkụ isi. Ọzọkwa, ịzụlite ọrụ, anyị na-emepụta ihe nnọchianya dị mkpa maka ọwa niile na-arụ ọrụ na ọrụ nkwukọrịta anyị.

Otu esi ere microservice na azụmaahịa

Dmitriy:

Enwere m mmasị - maka ndị na-agbanwebeghị, mana ha na-eme atụmatụ: kedu ka ọ dị mfe ire echiche a na azụmahịa ma ọ bụ njem njem, ọrụ ntinye ego? Ma ọ bụ na ọ bụ atụmatụ mara mma: ugbu a, anyị na-aga microservices na nke ahụ bụ ya, ọ dịghị ihe ga-akwụsị anyị. Kedu ka ọ dị gị?

Sergey:

Anyị anaghị ere ụzọ, mana uru azụmaahịa. Enwere nsogbu na azụmahịa, anyị gbalịrị idozi ya. N'oge ahụ, e gosipụtara n'eziokwu na ọwa dị iche iche na-eji ụkpụrụ dị iche iche eme ihe maka ịgbakọ ọnụ ahịa - iche iche maka nkwalite, maka nkwalite, na ihe ndị ọzọ. O siri ike idowe, njehie mere, anyị gere ntị na mkpesa ndị ahịa. Ya bụ, anyị na-ere ihe ngwọta maka nsogbu, ma anyị bịara na eziokwu ahụ bụ na anyị chọrọ ego iji mepụta ikpo okwu. Na ha gosipụtara ikpe azụmahịa site na iji ihe atụ nke ọkwa mbụ nke itinye ego: otu anyị ga-esi nọgide na-enwetaghachi ya na ihe nke a ga-ekwe ka anyị mee.

Dmitriy:

Ị nwere n'ụzọ ụfọdụ dekọọ oge nke mbụ ogbo?

Sergey:

Ee, n'ezie. Anyị ekenyela ọnwa 6 iji mepụta isi dị ka ikpo okwu ma nwalee onye na-anya ụgbọ elu. N'oge a, anyị gbalịrị ịmepụta ikpo okwu nke anyị ga-eji sket onye na-anya ụgbọelu. Mgbe ahụ, a kwadoro nkwupụta ahụ, ma ebe ọ bụ na ọ na-arụ ọrụ, ọ pụtara na anyị nwere ike ịga n'ihu. Ha malitere imegharị ma wusie ndị otu ahụ ike - ha bufere ya na nkewa dị iche nke na-eme nke ahụ.

Ọzọ na-abịa n'usoro ọrụ dabere na mkpa azụmahịa, ohere, nnweta nke akụrụngwa na ihe niile dị ugbu a na-arụ ọrụ.

Dmitriy:

Ọ DỊ MMA. Alexander, gịnị ka ị na-ekwu?

Alexander:

A mụrụ microservices anyị site na "ụfụ nke oké osimiri" - n'ihi ịchekwa ihe onwunwe, n'ihi ụfọdụ ihe fọdụrụ n'ụdị ikike nkesa na redistribution nke ndị agha n'ime otu. Na mbụ, anyị ereghị ọrụ a maka azụmahịa. Nke a bụ oru ebe anyị abụọ nyochara wee mepụta ya. Anyị malitere na mbido 2018 wee jiri ịnụ ọkụ n'obi mepụta ntụzịaka a. Ịre ahịa ka ebidola ma anyị na-eme ya.

Dmitriy:

Ọ na-eme na azụmahịa na-enye gị ohere ịme ihe ndị dị ka Google - n'otu ụbọchị efu n'izu? Ị nwere ntụziaka dị otú ahụ?

Alexander:

N'otu oge ahụ dị ka nyocha, anyị na-emesokwa nsogbu azụmahịa, ya mere microservices anyị niile bụ ngwọta maka nsogbu azụmahịa. Naanị na mmalite anyị wuru microservices na-ekpuchi obere akụkụ nke ndị debanyere aha isi, ma ugbu a, anyị na-na fọrọ nke nta niile flagship ngwaahịa.

Na mmetụta ihe onwunwe apụtalarị - anyị nwere ike ịgụtarịrị, ọsọ nke ngwa ngwa ngwaahịa na ego efu nwere ike ime atụmatụ ma ọ bụrụ na anyị gbasoro ụzọ ochie. Nke a bụ ihe anyị na-ewu ụlọ ikpe na.

Microservices: hype ma ọ bụ mkpa?

Dmitriy:

Ọnụọgụ bụ ọnụọgụgụ. Na ego enwetara ma ọ bụ ego echekwara dị ezigbo mkpa. Gịnị ma ọ bụrụ na ị na-ele anya n'akụkụ nke ọzọ? Ọ dị ka microservices bụ ihe na-emekarị, hype na ọtụtụ ụlọ ọrụ na-emegbu ya? Kedu ka ị si akọwa nke ọma n'etiti ihe ị na-eme na ịsụgharịghị ya na microservices? Ọ bụrụ ihe nketa ugbu a, ị ga-enwe ihe nketa n'ime afọ 5? Kedu ihe ga-abụ afọ nke usoro ozi na-arụ ọrụ na M.Video-Eldorado na MegaFon na 5 afọ? A ga-enwe usoro ozi afọ iri, afọ iri na ise ka ọ ga-abụ ọgbọ ọhụrụ? Kedu ka ị si ahụ nke a?

Sergey:

Ọ dị m ka ọ na-esiri m ike iche echiche n'ebe dị anya. Ọ bụrụ na anyị eleghachi anya azụ, onye chere na ahịa teknụzụ ga-etolite n'ụzọ dị otú a, gụnyere mmụta igwe na njirimara onye ọrụ site na ihu? Ma ọ bụrụ na ị na-ele anya na-abịa afọ, o yiri ka m na isi usoro, Enterprise ERP-klaasị usoro na ụlọ ọrụ - ha na-arụ ọrụ ruo ogologo oge.

Companieslọ ọrụ anyị gbakọtara afọ 25, yana ERP kpochapụwo nke ọma na mpaghara sistemụ. O doro anya na anyị na-ewepụ ụfọdụ iberibe n'ebe ahụ ma na-agbalị ịchịkọta ha na microservices, ma isi ga-anọgide. Ọ na-esiri m ike ugbu a iche na anyị ga-edochi usoro isi ihe niile dị n'ebe ahụ wee gaa ngwa ngwa gaa n'akụkụ nke ọzọ, nke na-egbuke egbuke nke usoro ọhụrụ.

Abụ m onye na-akwado eziokwu ahụ bụ na ihe ọ bụla dị nso na onye ahịa na ndị ahịa bụ ebe uru azụmahịa kachasị mma na uru bụ, ebe mgbanwe na-elekwasị anya na ọsọ ọsọ, na mgbanwe, na "gbalịa, kagbuo, iji ọzọ, mee ihe dị iche" bụ. achọrọ "-nke ahụ bụ ebe ala ga-agbanwe. Na ngwaahịa igbe adịghị adabara ebe ahụ nke ọma. Opekempe, anyị ahụghị ya. A na-achọ ihe ngwọta kachasị mfe, dị mfe n'ebe ahụ.

Anyị na-ahụ mmepe a:

  • usoro ozi isi (ọkachasị ụlọ ọrụ azụ);
  • etiti etiti n'ụdị microservices jikọtara isi, mkpokọta, mepụta cache, na ihe ndị ọzọ;
  • usoro n'ihu na-ezubere maka ndị na-azụ ahịa;
  • oyi akwa mwekota nke a na-ejikọta n'ozuzu n'ahịa, usoro ndị ọzọ na gburugburu ebe obibi. Nke a oyi akwa dị ka ìhè dị ka o kwere mee, dị mfe, na nwere opekempe nke azụmahịa mgbagha.

Ma n'otu oge ahụ, abụ m onye na-akwado ịnọgide na-eji ụkpụrụ ochie eme ihe ma ọ bụrụ na ejiri ha mee ihe n'ụzọ kwesịrị ekwesị.

Ka anyị kwuo na ị nwere usoro ụlọ ọrụ kpochapụwo. Ọ dị na mbara ala nke otu onye na-ere ahịa ma mejupụtara modul abụọ na-arụ ọrụ na ibe ha. E nwekwara ọkọlọtọ mwekota interface. Kedu ihe kpatara megharịa ya wee weta microservice ebe ahụ?

Ma mgbe enwere modul 5 n'ime ụlọ ọrụ azụ, nke a na-anakọta ozi n'ime usoro azụmahịa, nke a na-eji usoro 8-10 n'ihu, uru ahụ ozugbo. Ị na-ewere site na sistemụ ụlọ ọrụ ise ma mepụta ọrụ, nke dịpụrụ adịpụ, nke na-elekwasị anya na usoro azụmahịa. Mee ka ọrụ ahụ nwee ọganihu na teknụzụ - nke mere na ọ na-echekwa ozi ma bụrụ nke na-adịghị mma, ma na-arụkwa ọrụ na akwụkwọ ma ọ bụ ụlọ ọrụ azụmahịa. Ma ị na-ejikọta ya dịka otu ụkpụrụ na ngwaahịa niile dị n'ihu. Ha kagburu ngwaahịa dị n'ihu - ha gbanyụrụ mwekota. Echi ịkwesịrị ide ngwa mkpanaka ma ọ bụ mee obere weebụsaịtị wee tinye naanị otu akụkụ n'ime ọrụ - ihe niile dị mfe: ị kpọkọtara ya dị ka onye nrụpụta. M na-ahụkwu mmepe na ntụziaka a - ọbụlagodi na mba anyị.

Alexander:

Sergey kọwara usoro anyị kpamkpam, daalụ. Aga m ekwu ebe anyị na-agaghị aga - na isi akụkụ, na isiokwu nke ịgba ụgwọ ịntanetị. Ya bụ, ọkwa na nchaji ga-anọgide, n'ezie, "nnukwu ihe nzọcha mkpụrụ" nke ga-eji ntụkwasị obi wepụ ego. Na usoro a ga-aga n'ihu na-akwado ndị ọrụ nchịkwa anyị. Ihe ọ bụla ọzọ na-ele anya ndị ahịa, n'ezie, bụ microservices.

Dmitriy:

Ebe a asambodo bụ otu akụkọ. Ma eleghị anya nkwado ọzọ. Ọ bụrụ na ị na-etinye obere ego na nkwado ma ọ bụ usoro ahụ anaghị achọ nkwado na mgbanwe, ọ ka mma ka ị ghara imetụ ya aka. Nkwekọrịta ezi uche dị na ya.

Otu esi emepụta microservices a pụrụ ịdabere na ya

Dmitriy:

Ọ dị mma. Mana enwere m mmasị. Ugbu a ị na-akọ akụkọ ihe ịga nke ọma: ihe niile dị mma, anyị gbanwere na microservices, gbachitere echiche ahụ na azụmahịa ahụ, ihe niile na-arụkwa ọrụ. Mana anụla m akụkọ ndị ọzọ.

Afọ ole na ole gara aga, otu ụlọ ọrụ Switzerland nke tinyegoro afọ abụọ n'ịmepụta usoro microservice ọhụrụ maka ụlọ akụ mechara mechie ọrụ ahụ. daa kpam kpam. E mefuru ọtụtụ nde Swiss francs, na n'ikpeazụ a gbasasịrị otu - ọ naghị arụ ọrụ.

Ị nweela akụkọ ndị yiri ya? Enwere ma ọ bụ enwere nsogbu ọ bụla? Dịka ọmụmaatụ, idobe microservices na nlekota oru bụkwa isi ọwụwa na ọrụ ụlọ ọrụ ahụ. E kwuwerị, ọnụ ọgụgụ nke components na-abawanye ugboro iri. Kedu ka ị si hụ ya, enweela ihe atụ itinye ego na-emeghị nke ọma ebe a? Gịnịkwa ka ị pụrụ inye ndị mmadụ ndụmọdụ ka ha ghara inwe nsogbu ndị dị otú ahụ?

Alexander:

Ọmụmaatụ emeghị nke ọma gụnyere azụmaahịa na-agbanwe ihe ndị kacha mkpa na ịkagbu ọrụ. Mgbe na ọkwa dị mma nke njikere (n'ezie, MVP dị njikere), azụmahịa ahụ kwuru, sị: "Anyị nwere ihe ndị ọhụrụ, anyị na-aga n'ihu na ọrụ ọzọ, anyị na-emechikwa nke a."

Anyị enweghị ndakpọ zuru ụwa ọnụ na microservices. Anyị na-ehi ụra n'udo, anyị nwere ọrụ 24/7 nke na-arụ ọrụ BSS dum [sistemụ nkwado azụmahịa].

Na otu ihe ọzọ - anyị na-agbazinye microservices dị ka iwu na-emetụta ngwaahịa igbe. Isi ihe maka ịga nke ọma bụ na ịchọrọ, nke mbụ, iji kpọkọta otu ndị ga-akwado nke ọma microservice maka mmepụta. Mmepe ahụ n'onwe ya bụ, na ọnọdụ, 40%. Ndị ọzọ bụ nyocha, usoro DevSecOps, njikọ ziri ezi na ụkpụrụ ụlọ kwesịrị ekwesị. Anyị na-etinye uche pụrụ iche na ụkpụrụ nke iwulite ngwa nchekwa. Ndị nnọchi anya nchekwa ozi na-esonye na ọrụ ọ bụla ma n'oge nhazi ihe owuwu yana n'oge usoro mmejuputa iwu. Ha na-ejikwa usoro maka nyocha koodu maka adịghị ike.

Ka anyị kwuo na anyị na-ebuga ọrụ enweghị obodo - anyị nwere ha na Kubernetes. Nke a na-eme ka onye ọ bụla nwee ike ihi ụra n'udo n'ihi nkwụsị nke onwe na ịkwalite ọrụ, ọrụ ọrụ na-eburu ihe omume.

N'ime ịdị adị nke microservices anyị niile, enwere naanị otu ihe ma ọ bụ abụọ ruru n'ahịrị anyị. Ugbu a enweghi nsogbu na ọrụ. Anyị, n'ezie, enweghị 200, ma banyere 50 microservices, ma ha na-eji na flagship ngwaahịa. Ọ bụrụ na ha ada, anyị ga-abụ ndị mbụ mara banyere ya.

Microservices na HR

Sergey:

Ekwenyere m na onye ọrụ ibe m maka mbufe na nkwado - na ọrụ ahụ kwesịrị ịhazi nke ọma. Ma m ga-agwa gị banyere nsogbu ndị, n'ezie, dị.

Nke mbụ, teknụzụ dị ọhụrụ. Nke a bụ hype n'ụzọ dị mma, na ịchọta onye ọkachamara ga-aghọta ma nwee ike ịmepụta nke a bụ nnukwu ihe ịma aka. Asọmpi maka akụrụngwa dị nzuzu, yabụ ndị ọkachamara kwesịrị ibu arọ ha na ọla edo.

Nke abuo, site n'ichepụta ụfọdụ ọdịdị ala na ọnụ ọgụgụ na-arịwanye elu nke ọrụ, a ghaghị idozi nsogbu nke imegharị ihe mgbe niile. Dị ka ndị mmepe na-amasị ime: "Ka anyị dee ọtụtụ ihe na-adọrọ mmasị ebe a ugbu a ..." N'ihi nke a, usoro ahụ na-eto eto ma na-efunahụ irè ya n'ihe gbasara ego, ọnụ ahịa nke ihe onwunwe, na ihe ndị ọzọ. Nke ahụ bụ, ọ dị mkpa iji tinyegharịa n'ime usoro nhazi usoro, tinye ya na map ụzọ maka iwebata ọrụ na ịnyefe ihe nketa na ụlọ ọhụrụ.

Nsogbu ọzọ - ọ bụ ezie na nke a dị mma n'ụzọ nke ya - bụ asọmpi ime. "Oh, ụmụ okorobịa ejiji ọhụrụ apụtala ebe a, ha na-asụ asụsụ ọhụrụ." N'ezie, ndị mmadụ dị iche. O nwere ndị na-eji ede ihe na Java, na ndị na-ede ma na-eji Docker na Kubernetes. Ndị a bụ ndị dị iche iche kpamkpam, ha na-ekwu okwu dị iche iche, na-eji okwu dị iche iche eme ihe na mgbe ụfọdụ anaghị aghọta ibe ha. Ikike ma ọ bụ enweghị ike ịkekọrịta omume, ikesa ihe ọmụma, n'echiche a bụkwa nsogbu.

Ọfọn, scaling akụrụngwa. “Ọ dị mma, ka anyị gaa! Ma ugbu a, anyị chọrọ ngwa ngwa, karịa. Kedu ihe, ị nweghị ike? Ọ gaghị ekwe omume ịnyefe okpukpu abụọ n'otu afọ? Gịnịkwa mere?" Ihe mgbu dị otú ahụ na-eto eto nwere ike bụrụ ụkpụrụ maka ọtụtụ ihe, ọtụtụ ụzọ, ma ị nwere ike inwe mmetụta ha.

Banyere nlekota oru. Ọ dị m ka ọrụ ma ọ bụ ngwaọrụ nlekota ụlọ ọrụ na-amụtalarị ma ọ bụ nwee ike ịrụ ọrụ na Docker na Kubernetes n'ụdị dị iche, na-abụghị ọkọlọtọ. Yabụ na, dịka ọmụmaatụ, ị gaghị ejedebe na igwe Java 500 nke ihe a niile na-agba, ya bụ, ọ na-agbakọta. Mana ngwaahịa ndị a ka enweghị ntozu oke; ha ga-agarịrị nke a. Isiokwu a bụ n'ezie ọhụrụ, ọ ga-anọgide na-azụlite.

Dmitriy:

Ee, na-akpali nnọọ mmasị. Nke a na-emetụta HR. Ikekwe usoro HR gị na akara HR agbanweela ntakịrị n'ime afọ 3 a. Ị malitere iweta ndị ọzọ nwere ikike dị iche iche. Ma eleghị anya, enwere ma uru na ọghọm. Na mbụ, blockchain na sayensị data bụ hype, na ndị ọkachamara n'ime ha ruru nde mmadụ. Ugbu a ọnụ ahịa na-adaba, ahịa ahụ na-eju afọ, enwerekwa usoro yiri nke ahụ na microservices.

Sergey:

Ee, kpam kpam.

Alexander:

HR na-ajụ ajụjụ a: "Ebee ka unicorn pink gị dị n'etiti azụ azụ na n'ihu?" HR anaghị aghọta ihe microservice bụ. Anyị gwara ha ihe nzuzo ahụ wee gwa ha na onye na-azụ azụ mere ihe niile, na ọ dịghị unicorn. Mana HR na-agbanwe, na-amụta ngwa ngwa ma na-ewe ndị mmadụ nwere ihe ọmụma IT bụ isi.

Evolushọn nke microservices

Dmitriy:

Ọ bụrụ n’ilele anya na ihe owuwu ebumnuche, microservices dị ka nnukwu anụ ọhịa. Njem gị were ọtụtụ afọ. Ndị ọzọ nwere otu afọ, ndị ọzọ nwere afọ atọ. Ị hụrụ nsogbu niile n'ihu, ihe owuwu ụlọ, ọ nwere ihe gbanwere? Dịka ọmụmaatụ, n'ihe gbasara microservices, ọnụ ụzọ ámá na meshes ọrụ na-apụta ugbu a ọzọ. Ị na-eji ha na mmalite ma ọ bụ na ị gbanwere architecture n'onwe ya? Ị nwere ihe ịma aka ndị dị otú ahụ?

Sergey:

Anyị edegharịlarị ọtụtụ usoro nzikọrịta ozi. Na mbụ enwere otu protocol, ugbu a, anyị gbanwere ọzọ. Anyị na-abawanye nchekwa na ntụkwasị obi. Anyị ji teknụzụ ụlọ ọrụ malite - Oracle, Web Logic. Ugbu a, anyị na-apụ na ngwaahịa ụlọ ọrụ teknụzụ na microservices ma na-aga na isi mmalite ma ọ bụ teknụzụ mepere emepe kpamkpam. Anyị na-ahapụ ọdụ data wee gaa n'ihe na-arụ ọrụ nke ọma maka anyị n'ụdị a. Anyị achọkwaghị teknụzụ Oracle ọzọ.

Anyị malitere naanị dị ka ọrụ, n'echeghị echiche ole anyị chọrọ cache, ihe anyị ga-eme mgbe enweghị njikọ na microservice, ma data dị mkpa, wdg Ugbu a, anyị na-emepe emepe n'elu ikpo okwu nke mere na architecture nwere ike kọwara. ọ bụghị n'asụsụ nke ọrụ, na n'asụsụ azụmahịa, were echiche azụmahịa gaa n'ọkwa ọzọ mgbe anyị malitere ikwu okwu n'okwu. Ugbu a, anyị amụtala ikwu okwu na akwụkwọ ozi, na-esote larịị bụ mgbe ọrụ ga-anakọta n'ime ụdị ụfọdụ nke mkpokọta, mgbe nke a bụ ugbua okwu - ihe atụ, ihe dum ngwaahịa kaadị. A na-agbakọta ya site na microservices, mana ọ bụ API arụnyere n'elu nke a.

Nchekwa dị ezigbo mkpa. Ozugbo ị malitere ịnweta ya ma nwee ọrụ nke ị nwere ike nweta ọtụtụ ihe na-adọrọ mmasị, na ngwa ngwa, na nkewa nke abụọ, mgbe ahụ enwere ọchịchọ iji nweta ya n'ụzọ na-adịghị mma. Iji pụọ na nke a, anyị ga-agbanwe ụzọ maka nnwale na nlekota. Anyị aghaghị ịgbanwe otu, nhazi njikwa nnyefe, CI/CD.

Nke a bụ evolushọn - dị ka ekwentị, naanị ngwa ngwa: nke mbụ enwere ekwentị bọtịnụ, mgbe ahụ smartphones pụtara. Ha degharịrị ma megharịa ngwaahịa ahụ n'ihi na ahịa ahụ nwere mkpa dị iche. Nke a bụ otu anyị si etolite: ọkwa mbụ, ọkwa nke iri, ọrụ.

N'otu oge, a na-ewepụta ihe kwa afọ n'ihe gbasara nkà na ụzụ, na ihe ọzọ n'ihe gbasara azụ azụ na mkpa. Anyị na-ejikọta otu ihe na nke ọzọ. Ndị otu ahụ na-etinye 20% na ụgwọ ọrụ nka na nkwado teknụzụ maka otu, 80% na ụlọ ọrụ azụmahịa. Na anyị na-aga n'ihu na nghọta nke ihe mere anyị ji eme ya, ihe mere anyị ji na-emeziwanye nkà na ụzụ ndị a, ihe ha ga-eduga na ya. Dị ka nke ahụ.

Dmitriy:

Jụụ. Kedu ihe dị na MegaFon?

Alexander:

Isi ihe ịma aka mgbe anyị bịara microservices abụghị ịdaba n'ọgba aghara. Ụlọ ọrụ ihe owuwu nke MegaFon sonyeere anyị ozugbo, ọbụna bụrụ onye mbido na onye ọkwọ ụgbọ ala - ugbu a, anyị nwere nnukwu ụlọ ọrụ. Ọrụ ya bụ ịghọta ụdị ebumnuche anyị na-aga yana teknụzụ ndị achọrọ ka enyocha ya. Site na ụkpụrụ ụlọ, anyị na-eduzi ndị na-anya ụgbọ elu n'onwe anyị.

Ajụjụ na-esote bụ: "Mgbe ahụ ka esi erigbu ihe a niile?" Na otu ọzọ: "Kedu ka ị ga-esi hụ na mmekọrịta dị n'etiti microservices?" Ngwa ọrụ nyeere anyị aka ịza ajụjụ ikpeazụ. Anyị na-anya ụgbọ elu Istio ma nwee mmasị na nsonaazụ ya. Ugbu a, anyị nọ n'ọkwa nke ịtụgharị n'ime mpaghara na-arụpụta ihe. Anyị nwere àgwà ziri ezi n'ebe niile nsogbu - eziokwu na anyị kwesịrị mgbe niile ịgbanwe tojupụtara, ịmụta ihe ọhụrụ. Anyị nwere mmasị ịmepụta, ọ bụghị iji ihe ngwọta ochie eme ihe.

Dmitriy:

Okwu ọla edo! Ihe ịma aka ndị dị otú ahụ na-eme ka otu na azụmahịa na mkpịsị ụkwụ ha ma mepụta ọdịnihu. GDPR kere ndị isi nchekwa data, na ihe ịma aka ugbu a na-emepụta ndị isi microservices na ndị ọrụ ụlọ. Ọ masịrị ya.

Anyị kwurịtara ọtụtụ ihe. Isi ihe bụ na ezigbo nhazi nke microservices na ihe owuwu n'onwe ya na-enye gị ohere izere ọtụtụ mmejọ. N'ezie, usoro a na-emeghachi omume na evolushọn, ma ọ bụ ọdịnihu.

Daalụ ndị niile sonyere, ekele Sergei na Alexander!

Ajụjụ ndị na-ege ntị

Ajụjụ sitere n'aka ndị na-ege ntị (1):

Sergey, kedu ka njikwa IT siri gbanwee na ụlọ ọrụ gị? Aghọtara m na mgbe enwere ọtụtụ usoro dị iche iche, otu esi ejikwa ya bụ usoro doro anya na ezi uche. Kedu otu ị siri wughachi njikwa nke akụrụngwa IT mgbe etinyere ọnụ ọgụgụ dị ukwuu nke microservices n'ime obere oge?

Sergey:

Ekwenyere m na onye ọrụ ibe m na ụkpụrụ ụlọ dị ezigbo mkpa dị ka onye na-anya mgbanwe. Anyị malitere site n'inwe ngalaba ụkpụrụ ụlọ. Ndị na-emepụta ihe n'otu oge bụ ndị nwe nkesa nke ọrụ na ihe ndị a chọrọ maka otú ọ ga-esi pụta na mbara ala. Ya mere, ha na-arụkwa ọrụ dị ka ndị nhazi mgbanwe ndị a. N'ihi ya, enwere mgbanwe ụfọdụ na usoro nnyefe a kapịrị ọnụ mgbe anyị mepụtara ikpo okwu CI/CD.

Mana ọkọlọtọ, ụkpụrụ ndị bụ isi nke mmepe, nyocha azụmahịa, nnwale na mmepe akwụsịbeghị. Anyị gbakwụnyere ọsọ. Na mbụ, okirikiri ahụ were ọtụtụ ihe, ntinye na gburugburu ule were ọtụtụ ihe ọzọ. Ugbu a azụmahịa na-ahụ uru ma kwuo, sị: "Gịnị mere na anyị apụghị ime otu ihe ahụ n'ebe ndị ọzọ?"

Ọ dị ka, n'ụzọ dị mma, ntụtụ n'ụdị ọgwụ mgbochi nke gosipụtara: ị nwere ike ime ya otú a, ma ị nwere ike ime ya n'ụzọ ọzọ. N'ezie, enwere nsogbu na ndị ọrụ, na ikike, na ihe ọmụma, na nguzogide.

Ajụjụ sitere n'aka ndị na-ege ntị (2):

Ndị nkatọ nke microservice architecture na-ekwu na nnwale na mmepe siri ike. Nke a bụ ihe ezi uche dị na ya ebe ihe na-agbagwoju anya. Kedu ihe ịma aka ndị otu gị chere ihu na kedu ka i siri merie ha? Ajụjụ maka onye ọ bụla.

Alexander:

Enwere ihe isi ike mgbe ị na-esi na microservices gaa n'elu ikpo okwu, mana enwere ike idozi ha.

Dịka ọmụmaatụ, anyị na-emepụta ngwaahịa nke nwere 5-7 microservices. Anyị kwesịrị ịnye ule ntinye n'ofe mkpokọta microservices iji nye ọkụ ndụ ndụ ịkwaga na ngalaba nna ukwu. Ọrụ a abụghị ihe ọhụrụ nye anyị: anyị anọwo na-eme nke a ogologo oge na BSS, mgbe onye na-ere ahịa wetara anyị ihe ngwọta ebugolarị.

Na nsogbu anyị bụ naanị na obere otu. Achọrọ otu injinia QA maka otu ngwaahịa nwere ọnọdụ. Ya mere, anyị na-ebuga ngwaahịa nke 5-7 microservices, nke 2-3 nwere ike ịmepụta site na ndị ọzọ. Dịka ọmụmaatụ, anyị nwere ngwaahịa na mmepe nke onye na-ere usoro ịgba ụgwọ anyị, Mail.ru Group na MegaFon R&D na-esonye. Anyị kwesịrị iji ule kpuchie nke a tupu ibupu ya na mmepụta. Onye injinia QA na-arụ ọrụ na ngwaahịa a maka otu ọnwa na ọkara, ndị otu ndị ọzọ na-ahapụkwa n'enweghị nkwado ya.

A na-akpata mgbagwoju anya a naanị site na ncha. Anyị ghọtara na microservices enweghị ike ịdị n'ime oghere, ikewapụ ya adịghị adị. Mgbe ị na-agbanwe otu ọrụ, anyị na-agbalị mgbe niile ichekwa nkwekọrịta API. Ọ bụrụ na ihe gbanwere n'okpuru mkpuchi, ọrụ ihu na-anọgide. Ọ bụrụ na mgbanwe ndị ahụ na-egbu egbu, ụfọdụ ụdị mgbanwe ụkpụrụ ụlọ na-ewere ọnọdụ na anyị na-aga na metamodel data dị iche kpamkpam, nke na-ekwekọghị kpamkpam - naanị mgbe ahụ ka anyị na-ekwu maka nkọwapụta v2 API ọrụ. Anyị na-akwado ụdị nke mbụ na nke abụọ n'otu oge, na mgbe ndị na-azụ ahịa gachara gaa na nke abụọ, anyị na-emechi nke mbụ.

Sergey:

Achọrọ m ịgbakwunye. Ekwenyere m nke ukwuu maka nsogbu - ha na-eme. Odida obodo na-aghọwanye mgbagwoju anya, na ọnụ ahịa ego na-abawanye, karịsịa maka ule. Otu esi eme nke a: gbanwee gaa na nnwale akpaaka. Ee, ị ga-etinyekwu ego na ide autotest na otu ule. Yabụ na ndị mmepe enweghị ike ime na-agabigaghị ule ahụ, ha enweghị ike ịgbanwe koodu ahụ. Nke mere na ọbụna bọtịnụ ntinye anaghị arụ ọrụ na-enweghị autotest, ule unit.

Ọ dị mkpa ịnọgide na-arụ ọrụ gara aga, nke a bụkwa ihe ọzọ n'elu. Ọ bụrụ na ị degharịa teknụzụ na protocol ọzọ, ị ga-edegharị ya ruo mgbe imechi ihe niile kpamkpam.

Mgbe ụfọdụ, anyị anaghị eme ule njedebe na njedebe na ebumnuche, n'ihi na anyị achọghị ịkwụsị mmepe, ọ bụ ezie na anyị nwekwara otu ihe ọzọ. Odida obodo dị nnọọ ukwuu, mgbagwoju anya, enwere ọtụtụ usoro. Mgbe ụfọdụ ọ bụ naanị isi ike - ee, ị na-ebelata oke nchekwa, ihe egwu ndị ọzọ na-apụta. Ma n'otu oge ahụ ị na-ahapụ ndị ọkọnọ.

Alexander:

Ee, nnwale akpaaka na otu nleba anya na-enye gị ohere ịmepụta ọrụ dị elu. Anyị bụ maka ọkpọkọ nke na-enweghị ike ịgafe na-enweghị nyocha otu na ntinye. Anyị na-emekarị ịdọrọ emulators na usoro azụmahịa n'ime mpaghara ule na gburugburu mmepe, n'ihi na ọ bụghị usoro niile nwere ike itinye na mpaghara ule. Ọzọkwa, ọ bụghị naanị na ha na-agba mmiri - anyị na-emepụta nzaghachi zuru oke site na usoro. Nke a bụ akụkụ dị mkpa nke ịrụ ọrụ na microservices, anyị na-etinyekwa ego na ya. Enweghị nke a, ọgbaghara ga-abịa.

Ajụjụ sitere n'aka ndị na-ege ntị (3):

Dị ka m ghọtara, microservices na-etolite na mbụ site na otu dị iche iche ma dị ugbu a na ụdị a. Kedu uru na ọghọm ya?

Anyị nwere akụkọ yiri nke ahụ: ụdị ụlọ ọrụ microservices bilitere. Ugbu a, anyị erutela n'echiche na anyị na-agbatị usoro a maka mmepụta site na iyi na site na sistemụ. N'ikwu ya n'ụzọ ọzọ, anyị na-apụ na mmepe nke microservices, ụdị microservice, ma na-abịaru nso na sistemụ.

N'ihi ya, ọrụ anyị na-agakwa na sistemụ, ya bụ, anyị na-ewepụ isiokwu a. Kedu ụzọ gị na gịnị bụ akụkọ ebumnuche gị?

Alexander:

I wepụrụ aha "ụlọ ọrụ microservices" ozugbo n'ọnụ gị - anyị chọkwara itule. Mbụ, anyị nwere n'ezie otu ìgwè ugbu a. Anyị chọrọ inye ndị otu mmepe niile MegaFon nwere ohere ịrụ ọrụ na gburugburu ebe obibi. Anyị achọghị iweghara ọrụ mmepe niile anyị nwere ugbu a kpamkpam. Ọrụ mpaghara bụ ịba ụba, ọrụ zuru ụwa ọnụ bụ iduga mmepe na otu niile na oyi akwa microservice.

Sergey:

Aga m agwa gị ụzọ anyị sirila. Anyị malitere ịrụ ọrụ dị ka otu ìgwè, ma ugbu a, anyị anọghị nanị anyị. Abụ m onye na-akwado ihe ndị a: a ga-enwerịrị onye nwe usoro a. Mmadụ kwesịrị ịghọta, jikwaa, jikwaa ma wuo usoro mmepe microservices. Ọ ga-enwerịrị ihe onwunwe ma tinye aka na njikwa akụ.

Ihe onwunwe ndị a, ndị maara teknụzụ, nkọwa ma ghọta otu esi ewu microservices, nwere ike ịnọ na otu ngwaahịa. Anyị nwere ngwakọta ebe ndị mmadụ sitere na ikpo okwu microservice nọ na otu ngwaahịa na-eme ngwa mkpanaka. Ha nọ ebe ahụ, mana ha na-arụ ọrụ dịka usoro nke ngalaba njikwa ikpo okwu microservice na onye njikwa mmepe ha si dị. N'ime nkewa a, e nwere otu dị iche iche nke na-emekọ ihe na teknụzụ. Ya bụ, anyị na-agwakọta ọdọ mmiri nkịtị n'etiti onwe anyị ma kewaa ha, na-enye ha otu.

N'otu oge ahụ, usoro ahụ na-anọgide n'ozuzu, na-achịkwa, ọ na-aga n'ihu dị ka ụkpụrụ nkà na ụzụ n'ozuzu si dị, na nyocha nke otu na ihe ndị ọzọ - ihe niile e wuru n'elu. Enwere ike ịnwe ogidi n'ụdị akụrụngwa anakọtara site na ngalaba dị iche iche nke ụzọ ngwaahịa.

Alexander:

Sergey, ị bụ n'ezie onye nwe usoro a, nri? Ekekọrịtara ndekọ ndekọ ọrụ ahụ? Kedu onye na-ahụ maka nkesa ya?

Sergey:

Lee: nke a bụ ngwakọta ọzọ. Enwere ndekọ azụ azụ nke emere dabere na nkwalite teknụzụ - nke a bụ otu akụkọ. E nwere a backlog, nke a na-emepụta site na oru ngo, na e nwere a backlog si ngwaahịa. Ma usoro ntinye n'ime ngwaahịa ọrụ ọ bụla ma ọ bụ ịmepụta ọrụ a bụ onye ọkachamara ngwaahịa mepụtara. Ọ nọghị na IT directorate; ewepụrụ ya pụrụ iche na ya. Mana ndị m na-arụ ọrụ dịka otu usoro siri dị.

Onye nwe azụ azụ n'akụkụ dị iche iche - mgbanwe mgbanwe - ga-abụ ndị dị iche iche. Njikọ nke ọrụ teknụzụ, ụkpụrụ nhazi ha - ihe a niile ga-adị na IT. Enwere m ikpo okwu na akụrụngwa. N'elu bụ ihe gbasara azụ azụ na mgbanwe ọrụ, yana ihe owuwu n'echiche a.

Ka anyị kwuo na azụmahịa na-ekwu: "Anyị chọrọ ọrụ a, anyị chọrọ ịmepụta ngwaahịa ọhụrụ - remaking a mbinye ego." Anyị na-aza: "Ee, anyị ga-emegharị ya." Ndị na-ese ụkpụrụ ụlọ na-ekwu, sị: "Ka anyị chee: olee ebe nbinye ego anyị ga-ede microservices na kedu ka anyị ga-esi mee ya?" Mgbe ahụ, anyị na-ekewa ya n'ime ọrụ, ngwaahịa ma ọ bụ nchịkọta teknụzụ, tinye ya n'ime otu ma mejuputa ya. Ị mepụtala ngwaahịa n'ime ma kpebie iji microservices na ngwaahịa a? Anyị na-ekwu, sị: "Ugbu a sistemụ ihe nketa anyị nwere, ma ọ bụ sistemu dị n'ihu, ga-agbanyerịrị na obere ọrụ ndị a." Ndị na-ese ụkpụrụ ụlọ na-ekwu, sị: "Ya mere: na nkà na ụzụ azụ azụ n'ime ngwaahịa ndị dị n'ihu - mgbanwe na microservices. Gaba". Na ndị ọkachamara ngwaahịa ma ọ bụ ndị nwe ụlọ ahịa ghọtara oke ikike ekenyela, mgbe a ga-eme ya na ihe kpatara ya.

Ọgwụgwụ nke mkparịta ụka, ma ọ bụghị ihe niile

A haziri ọgbakọ mailto:CLOUD Mail.ru Cloud Solutions.

Anyị na-emekwa mmemme ndị ọzọ - dịka ọmụmaatụ. @Kubernetes Nzute, ebe anyị na-achọ mgbe niile nnukwu ọkà okwu:

  • Soro @Kubernetes na ozi @Meetup ndị ọzọ na ọwa Telegram anyị t.me/k8s_mail
  • Ị nwere mmasị ikwu okwu n'otu n'ime @Meetups? Hapụ arịrịọ maka mcs.mail.ru/speak

isi: www.habr.com

Tinye a comment