Gikan sa monoliths ngadto sa microservices: ang kasinatian sa M.Video-Eldorado ug MegaFon

Gikan sa monoliths ngadto sa microservices: ang kasinatian sa M.Video-Eldorado ug MegaFon

Kaniadtong Abril 25, kami sa Mail.ru Group nagpahigayon usa ka komperensya bahin sa mga panganod ug sa palibot - mailto:CLOUD. Pipila ka mga highlight:

  • Ang nag-unang Mga tighatag sa Russia β€” Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center ug Yandex.Cloud naghisgot bahin sa mga detalye sa among cloud market ug sa ilang mga serbisyo;
  • Ang mga kauban gikan sa Bitrix24 nagsulti kung giunsa nila niabot sa multicloud;
  • Leroy Merlin, Otkritie, Burger King ug Schneider Electric naghatag makapaikag panglantaw gikan sa cloud consumers - unsa nga mga buluhaton ang gitakda sa ilang negosyo alang sa IT ug unsa nga mga teknolohiya, lakip ang mga cloud, ilang nakita nga labing maayo.

Mahimo nimong tan-awon ang tanang video gikan sa mailto:CLOUD conference link, ug dinhi imong mabasa kung giunsa ang paghisgot bahin sa mga microservice. Alexander Deulin, pangulo sa MegaFon business systems research and development center, ug Sergey Sergeev, information technology director sa M.Video-Eldorado group, mipaambit sa ilang malampusong mga kaso sa pagtangtang sa mga monolith. Gihisgutan usab namo ang mga may kalabutan nga isyu sa estratehiya sa IT, mga proseso ug bisan sa HR.

Mga panelista

  • Sergey Sergeev, Group CIO "M.Video-Eldorado";
  • Alexander Deulin, pangulo sa sentro alang sa panukiduki ug pagpalambo sa mga sistema sa negosyo MegaFon;
  • Moderator β€” Dmitry Lazarenko, Ulo sa direksyon sa PaaS Mail.ru Cloud Solutions.

Human sa pakigpulong ni Alexander Deulin "Giunsa ang MegaFon pagpalapad sa iyang negosyo pinaagi sa usa ka microservice platform" giapil siya alang sa diskusyon ni Sergey Sergeev gikan sa M.Video-Eldorado ug moderator sa diskusyon nga si Dmitry Lazarenko, Mail.ru Cloud Solutions.

Sa ubos nag-andam kami og usa ka transcript sa panaghisgot alang kanimo, apan mahimo usab nimo tan-awon ang video:

Ang pagbalhin ngadto sa microservices usa ka tubag sa mga panginahanglanon sa merkado

Dmitriy:

Aduna ka bay malampuson nga kasinatian sa paglalin ngadto sa microservices? Ug sa kinatibuk-an: asa nimo makita ang pinakadako nga benepisyo sa negosyo gikan sa paggamit sa mga microservice o pagbalhin gikan sa monoliths ngadto sa microservices?

Sergey:

Nakaabut na kami sa usa ka paagi sa pagbalhin sa mga microservice ug gigamit kini nga pamaagi sa sobra sa tulo ka tuig. Ang una nga panginahanglan nga nagpakamatarung sa panginahanglan alang sa mga microservice mao ang walay katapusan nga paghiusa sa lainlaing mga produkto sa unahan sa likod nga opisina. Ug sa matag higayon nga kami napugos sa pagbuhat sa dugang nga integration ug kalamboan, pagpatuman sa atong kaugalingong mga lagda alang sa operasyon niini o niana nga serbisyo.

Sa pila ka punto, nahibal-an namon nga kinahanglan namon nga mapadali ang operasyon sa among mga sistema ug ang output sa pagpaandar. Nianang higayona, ang mga konsepto sama sa microservices ug usa ka pamaagi sa microservice naglungtad na sa merkado, ug nakahukom kami nga sulayan kini. Nagsugod kini kaniadtong 2016. Dayon ang plataporma gibutang ug ang unang 10 ka serbisyo gipatuman sa usa ka bulag nga grupo.

Usa sa unang mga serbisyo, ang pinakabug-at nga load, mao ang serbisyo sa pagkalkula sa presyo. Sa matag higayon nga moabut ka sa bisan unsang channel, sa M.Video-Eldorado nga grupo sa mga kompanya, kini usa ka website o usa ka retail store, pagpili og usa ka produkto didto, tan-awa ang presyo sa website o sa "Basket", ang gasto awtomatiko kalkulado sa usa ka serbisyo. Ngano nga kini gikinahanglan: ​​sa wala pa kini, ang matag sistema adunay kaugalingon nga mga prinsipyo sa pagtrabaho sa mga promosyon - nga adunay mga diskwento ug uban pa. Ang among back office maoy nagdumala sa presyo; ang pag-andar sa diskwento gipatuman sa laing sistema. Kinahanglan kini nga sentralisado ug usa ka talagsaon, mabulag nga serbisyo nga gihimo sa porma sa usa ka proseso sa negosyo nga magtugot kanamo sa pagpatuman niini. Mao na kaayo ang among pagsugod.

Ang bili sa unang mga resulta dako kaayo. Una, nakahimo kami sa paghimo og mga separable entity nga nagtugot kanamo sa pagtrabaho nga bulag ug sa usa ka aggregated nga paagi. Ikaduha, gipaubos namo ang gasto sa pagpanag-iya sa termino sa paghiusa sa daghang mga sistema.

Sa miaging tulo ka tuig, nakadugang kami og tulo ka mga frontline system. Lisud ang pagmentinar kanila sa samang gidaghanon sa mga kahinguhaan nga makaya sa kompanya. Busa, ang buluhaton mitungha sa pagpangita alang sa bag-ong mga outlets, pagtubag sa merkado sa mga termino sa katulin, sa mga termino sa internal nga gasto ug efficiency.

Giunsa pagsukod ang kalampusan sa paglalin sa mga microservice

Dmitriy:

Giunsa pagtino ang kalampusan sa paglalin sa mga microservice? Unsa ang "kaniadto" sa matag kompanya? Unsang sukatan ang imong gigamit aron mahibal-an ang kalampusan sa transisyon, ug kinsa gyud ang nagtino niini?

Sergey:

Una sa tanan, natawo kini sulod sa IT isip usa ka enabler - "pag-abli" sa bag-ong mga kapabilidad. Kinahanglan namon nga buhaton ang tanan nga mas paspas alang sa parehas nga salapi, pagtubag sa mga hagit sa merkado. Karon ang kalampusan gipahayag sa gidaghanon sa mga serbisyo nga gigamit pag-usab sa lainlaing mga sistema, paghiusa sa mga proseso sa ilang kaugalingon. Karon mao na, apan nianang higayona kini usa ka oportunidad sa paghimo og usa ka plataporma ug pagkumpirma sa pangagpas nga mahimo nato kini, maghatag kini og epekto ug makalkulo ang kaso sa negosyo.

Alexander:

Ang kalampusan kay usa ka internal nga pagbati. Kanunay nga gusto sa negosyo ang labi pa, ug ang giladmon sa among backlog usa ka pamatuod sa kalampusan. Para nako mao na.

Sergey:

Oo, uyon ko. Sa tulo ka tuig, aduna na kitay kapin sa duha ka gatos nga serbisyo ug atraso. Ang panginahanglan alang sa mga kahinguhaan sulod sa team nagkadako lamang - sa 30% kada tuig. Nahitabo kini tungod kay gibati sa mga tawo: kini mas paspas, lahi kini, adunay lainlaing mga teknolohiya, kining tanan nag-uswag.

Ang mga microservice moabut, apan ang kinauyokan magpabilin

Dmitriy:

Kini sama sa usa ka walay katapusan nga proseso diin ikaw mamuhunan sa kalamboan. Nahuman na ba ang pagbalhin sa microservices para sa negosyo o wala pa?

Sergey:

Sayon ra kaayo tubagon. Unsa sa imong hunahuna: ang pag-ilis sa mga telepono usa ka walay katapusan nga proseso? Kami mismo ang namalit og mga telepono kada tuig. Ug ania kini: basta adunay panginahanglan alang sa katulin, alang sa pagpahiangay sa merkado, gikinahanglan ang pipila ka mga pagbag-o. Wala kini magpasabot nga atong biyaan ang naandang mga butang.

Apan dili nato matabonan ug mabag-o ang tanan sa usa ka higayon. Kami adunay kabilin, standard nga mga serbisyo sa paghiusa nga naglungtad kaniadto: mga bus sa negosyo ug uban pa. Apan adunay atraso, ug kinahanglan usab. Ang gidaghanon sa mga mobile application ug ang ilang pag-andar nagkadako. Sa samang higayon, walay nag-ingon nga hatagan ka ug 30% nga dugang nga salapi. Sa ato pa, adunay kanunay nga mga panginahanglan sa usa ka bahin, ug usa ka pagpangita alang sa kahusayan sa pikas.

Dmitriy:

Naa sa maayong kahimtang ang kinabuhi. (Katawa)

Alexander:

Sa kinatibuk-an, oo. Wala kitay mga rebolusyonaryong pamaagi sa pagtangtang sa kinauyokan nga bahin sa talan-awon. Ang sistematikong trabaho nagpadayon sa pag-decompose sa mga sistema aron sila mas nahiuyon sa microservice nga arkitektura, aron makunhuran ang impluwensya sa mga sistema sa usag usa.

Apan nagplano kami nga ipadayon ang kinauyokan nga bahin, tungod kay sa talan-awon sa operator kanunay adunay pipila nga mga platform nga among gipalit. Sa makausa pa, kinahanglan nato ang usa ka himsog nga balanse: dili kita magdali sa pagputol sa kinauyokan. Gibutang namon ang mga sistema sa kilid, ug karon nahimo na namon nga naa sa ibabaw sa daghang mga punoan nga bahin. Dugang pa, ang pagpalambo sa pagpaandar, naghimo kami sa gikinahanglan nga mga representasyon alang sa tanan nga mga channel nga nagtrabaho sa among mga serbisyo sa komunikasyon.

Giunsa ibaligya ang mga microservice sa mga negosyo

Dmitriy:

Interesado usab ako - alang niadtong wala pa mobalhin, apan nagplano sa: unsa kadali ang pagbaligya niini nga ideya sa negosyo ug kini ba usa ka adventure, usa ka proyekto sa pamuhunan? O kini ba usa ka mahunahunaon nga estratehiya: karon moadto kami sa mga microservice ug kana, wala’y makapugong kanamo. Naunsa ka?

Sergey:

Wala kami nagbaligya usa ka pamaagi, apan usa ka benepisyo sa negosyo. Adunay usa ka problema sa negosyo, ug kami naningkamot sa pagsulbad niini. Nianang higayona, kini gipahayag sa kamatuoran nga ang lain-laing mga channel migamit sa lain-laing mga prinsipyo alang sa pagkalkulo sa mga presyo - gilain alang sa promosyon, alang sa promosyon, ug uban pa. Lisud ang pagmentinar, nahitabo ang mga sayup, ug naminaw kami sa mga reklamo sa kustomer. Sa ato pa, nagbaligya kami og solusyon sa usa ka problema, apan mianhi kami uban ang kamatuoran nga nanginahanglan kami og salapi aron makahimo og plataporma. Ug gipakita nila ang usa ka kaso sa negosyo gamit ang panig-ingnan sa una nga yugto sa pagpamuhunan: kung giunsa naton kini ipadayon ug kung unsa ang itugot niini nga mahimo naton.

Dmitriy:

Narekord ba nimo ang oras sa unang yugto?

Sergey:

Oo, sigurado. Among gigahin ang 6 ka bulan sa paghimo sa kinauyokan isip plataporma ug pagsulay sa piloto. Niining panahona, gisulayan namon ang paghimo og usa ka plataporma diin i-skate ang piloto. Dayon ang hypothesis gipamatud-an, ug tungod kay kini nagtrabaho, kini nagpasabot nga kita makapadayon. Gisugdan nila ang pagkopya ug pagpalig-on sa koponan - gibalhin nila kini sa usa ka lahi nga dibisyon nga naghimo niana.

Sunod moabut ang sistematikong trabaho base sa mga panginahanglanon sa negosyo, mga oportunidad, pagkaanaa sa mga kahinguhaan ug tanan nga anaa karon sa mga buhat.

Dmitriy:

OK ra. Alexander, unsay imong isulti?

Alexander:

Ang among mga microservice natawo gikan sa "bula sa dagat" - tungod sa pagtipig sa mga kahinguhaan, tungod sa pipila nga nahabilin sa porma sa kapasidad sa server ug ang pag-apod-apod sa mga pwersa sa sulod sa team. Sa sinugdan, wala namo ibaligya kini nga proyekto sa negosyo. Kini usa ka proyekto diin kaming duha nagsiksik ug nagpalambo sumala niana. Nagsugod kami sa sinugdanan sa 2018 ug yano nga gipalambo kini nga direksyon nga adunay kadasig. Bag-o lang nagsugod ang pagpamaligya ug naa na kami sa proseso.

Dmitriy:

Nahitabo ba nga gitugotan ka sa usa ka negosyo nga buhaton ang mga butang sama sa Google - sa usa ka libre nga adlaw sa usa ka semana? Aduna ka bay ingon nga direksyon?

Alexander:

Sa parehas nga oras sa panukiduki, giatubang usab namon ang mga problema sa negosyo, busa ang tanan namon nga microservice mga solusyon sa mga problema sa negosyo. Sa sinugdanan lamang nagtukod kami og mga microservice nga naglangkob sa gamay nga bahin sa base sa subscriber, ug karon anaa kami sa halos tanan nga mga produkto sa flagship.

Ug klaro na ang epekto sa materyal - maihap na kita, ang katulin sa paglansad sa produkto ug ang nawala nga kita mahimong mabanabana kung gisunod naton ang daan nga dalan. Kini mao ang atong pagtukod sa kaso sa.

Microservices: hype o kinahanglan?

Dmitriy:

Ang mga numero kay mga numero. Ug ang kita o salapi nga natipig hinungdanon kaayo. Unsa kaha kung tan-awon nimo ang pikas bahin? Ingon og ang mga microservice usa ka uso, usa ka hype ug daghang mga kompanya ang nag-abuso niini? Unsa ka klaro ang imong kalainan tali sa imong gibuhat ug dili paghubad sa mga microservice? Kung legacy karon, naa pa ba ka legacy sa 5 ka tuig? Unsa ang edad sa mga sistema sa impormasyon nga nagtrabaho sa M.Video-Eldorado ug MegaFon sa 5 ka tuig? Aduna bay napulo ka tuig, kinse anyos nga sistema sa impormasyon o kini ba usa ka bag-ong henerasyon? Giunsa nimo kini makita?

Sergey:

Para nako lisod kaayo hunahunaon sa layo. Kung atong tan-awon balik, kinsa ang naghunahuna nga ang merkado sa teknolohiya molambo niining paagiha, lakip ang pagkat-on sa makina ug pag-ila sa user pinaagi sa nawong? Apan kung imong tan-awon ang umaabot nga mga tuig, para nako ang mga core system, enterprise ERP-class nga sistema sa mga kompanya - dugay na silang nagtrabaho.

Ang among mga kompanya sa kinatibuk-an 25 ka tuig ang edad, nga adunay klasiko nga ERP nga lawom kaayo sa talan-awon sa mga sistema. Klaro nga gikuha namon ang pipila ka mga piraso gikan didto ug gisulayan nga igrupo kini sa mga microservice, apan ang kinauyokan magpabilin. Lisud alang kanako karon nga mahanduraw nga atong pulihan ang tanan nga mga kinauyokan nga sistema didto ug dali nga mobalhin sa lain, hayag nga bahin sa bag-ong mga sistema.

Usa ako ka tigpaluyo sa kamatuoran nga ang tanan nga mas duol sa kliyente ug konsyumer mao ang labing dako nga benepisyo ug bili sa negosyo, diin ang pagpaangay ug pagtutok sa katulin, sa pagbag-o, sa "pagsulay, pagkansela, paggamit pag-usab, pagbuhat og lahi" gikinahanglan β€œβ€”kana diin ang talan-awon mausab. Ug ang mga kahon nga mga produkto dili mohaum didto pag-ayo. At least dili nato makita. Ang pinakasayon, pinakasimple nga mga solusyon gikinahanglan didto.

Atong makita kini nga pag-uswag:

  • kinauyokan nga sistema sa impormasyon (kasagaran back office);
  • tunga nga mga sapaw sa porma sa mga microservice nagkonektar sa kinauyokan, aggregate, paghimo og cache, ug uban pa;
  • front-line nga mga sistema gitumong sa konsumidor;
  • usa ka layer sa integrasyon nga kasagarang gisagol sa mga merkado, uban pang mga sistema ug ekosistema. Kini nga layer ingon ka gaan kutob sa mahimo, yano, ug adunay labing gamay nga lohika sa negosyo.

Apan sa samang higayon, ako usa ka tigpaluyo sa pagpadayon sa paggamit sa karaang mga prinsipyo kon kini gamiton sa hustong paagi.

Ingnon ta nga ikaw adunay usa ka klasiko nga sistema sa negosyo. Kini nahimutang sa talan-awon sa usa ka vendor ug naglangkob sa duha ka modules nga nagtrabaho sa usag usa. Adunay usab usa ka standard integration interface. Nganong usbon kini ug magdala ug microservice didto?

Apan kung adunay 5 nga mga module sa likod nga opisina, diin ang mga piraso sa kasayuran nakolekta sa usa ka proseso sa negosyo, nga unya gigamit sa 8-10 nga mga sistema sa atubangan nga linya, ang kaayohan makita dayon. Nagkuha ka gikan sa lima ka mga sistema sa back-office ug naghimo usa ka serbisyo, usa nga nahimulag, nga naka-focus sa proseso sa negosyo. Himua nga abante sa teknolohiya ang serbisyo - aron kini magtago sa kasayuran ug matugoton sa sayup, ug magamit usab sa mga dokumento o entidad sa negosyo. Ug imong gihiusa kini sumala sa usa ka prinsipyo sa tanan nga mga produkto sa unahan. Gikansela nila ang produkto sa linya sa unahan - gipalong ra nila ang panagsama. Ugma kinahanglan nimo nga magsulat usa ka mobile application o maghimo usa ka gamay nga website ug ibutang ang usa ka bahin sa pag-andar - ang tanan yano ra: gitigum nimo kini sama sa usa ka tigtukod. Nakita nako ang dugang nga pag-uswag sa kini nga direksyon - labing menos sa atong nasud.

Alexander:

Hingpit nga gihulagway ni Sergey ang among pamaagi, salamat. Isulti ra nako kung diin kami siguradong dili moadto - sa kinauyokan nga bahin, sa hilisgutan sa online billing. Sa ato pa, ang pag-rate ug pagsingil magpabilin, sa tinuud, usa ka "dako" nga thresher nga kasaligan nga isulat ang salapi. Ug kini nga sistema magpadayon nga sertipikado sa among mga awtoridad sa regulasyon. Ang tanan nga nagtan-aw sa mga kliyente, siyempre, mga microservice.

Dmitriy:

Dinhi ang sertipikasyon usa ka istorya. Tingali dugang suporta. Kung gamay ra ang imong gasto sa suporta o ang sistema wala magkinahanglan suporta ug pagbag-o, mas maayo nga dili kini hikapon. Usa ka makatarunganon nga pagkompromiso.

Giunsa paghimo ang kasaligan nga microservice

Dmitriy:

Maayo. Pero interesado gihapon ko. Karon nagsulti ka usa ka istorya sa kalampusan: maayo ang tanan, mibalhin kami sa mga microservice, gidepensahan ang ideya sa negosyo, ug nahimo ang tanan. Pero naa koy nadunggan nga ubang storya.

Pipila ka tuig ang milabay, usa ka Swiss nga kompanya nga namuhunan sa duha ka tuig sa pagpalambo sa usa ka bag-ong microservice platform alang sa mga bangko sa katapusan nagsira sa proyekto. Hingpit nga nahugno. Daghang milyon nga Swiss franc ang gigasto, ug sa katapusan ang koponan nagkatibulaag - wala kini molihok.

Aduna ka bay susama nga mga istorya? Aduna ba o adunay bisan unsang mga kalisud? Pananglitan, ang pagpadayon sa mga microservice ug pag-monitor usa usab ka sakit sa ulo sa mga kalihokan sa operasyon sa kompanya. Pagkahuman, ang gidaghanon sa mga sangkap nagdugang napulo ka beses. Giunsa nimo pagtan-aw kini, aduna bay dili malampuson nga mga pananglitan sa mga pamuhunan dinhi? Ug unsa ang imong ikatambag sa mga tawo aron dili sila makasugat sa ingon nga mga problema?

Alexander:

Ang dili malampuson nga mga pananglitan naglakip sa mga negosyo nga nagbag-o sa mga prayoridad ug pagkansela sa mga proyekto. Kung naa sa maayong yugto sa pagkaandam (sa tinuud, andam na ang MVP), ang negosyo miingon: "Kami adunay bag-ong mga prayoridad, nagpadayon kami sa lain nga proyekto, ug gitapos namon kini."

Wala kami bisan unsang global nga kapakyasan sa mga microservice. Kami matulog nga malinawon, kami adunay 24/7 nga pagbalhin sa katungdanan nga nagserbisyo sa tibuok BSS [business support system].

Ug usa pa ka butang - nag-abang kami sa mga microservice sumala sa mga lagda nga magamit sa mga produkto nga naka-box. Ang yawe sa kalampusan mao nga kinahanglan nimo, una, ang pag-assemble sa usa ka team nga hingpit nga mag-andam sa microservice alang sa produksiyon. Ang pag-uswag mismo, sa kondisyon, 40%. Ang nahabilin mao ang analytics, DevSecOps methodology, ang husto nga mga panagsama ug ang husto nga arkitektura. Naghatag kami og espesyal nga pagtagad sa mga prinsipyo sa pagtukod og luwas nga mga aplikasyon. Ang mga representante sa seguridad sa impormasyon moapil sa matag proyekto sa yugto sa pagplano sa arkitektura ug sa panahon sa proseso sa pagpatuman. Nagdumala usab sila sa mga sistema alang sa pag-analisar sa code alang sa mga kahuyangan.

Ingnon ta nga nag-deploy kami sa among mga stateless nga serbisyo - naa sila sa Kubernetes. Gitugotan niini ang tanan nga matulog nga malinawon tungod sa auto-scaling ug auto-raising sa mga serbisyo, ug ang pagbalhin sa katungdanan nagkuha sa mga insidente.

Sa kinatibuk-an nga paglungtad sa among mga microservice, adunay usa o duha ra nga insidente nga nakaabot sa among linya. Karon wala’y mga problema sa operasyon. Kami, siyempre, wala’y 200, apan mga 50 nga microservice, apan gigamit kini sa mga produkto sa punoan nga punoan. Kung mapakyas sila, kami ang una nga makahibalo bahin niini.

Microservices ug HR

Sergey:

Uyon ko sa akong kauban bahin sa pagbalhin sa pagsuporta - nga ang trabaho kinahanglan nga organisado sa husto. Apan isulti ko kanimo ang bahin sa mga problema nga, siyempre, naglungtad.

Una, ang teknolohiya bag-o. Kini usa ka hype sa maayong paagi, ug ang pagpangita sa usa ka espesyalista nga makasabut ug makahimo niini usa ka dako nga hagit. Ang kompetisyon alang sa mga kahinguhaan kay buang, mao nga ang mga eksperto takus sa ilang gibug-aton sa bulawan.

Ikaduha, sa paghimo sa pipila ka mga talan-awon ug nagkadaghan nga mga serbisyo, ang problema sa paggamit pag-usab kinahanglan nga kanunay nga masulbad. Sama sa gusto sa mga developers nga buhaton: "Magsulat kita og daghang makapaikag nga mga butang dinhi karon ..." Tungod niini, ang sistema motubo ug mawad-an sa pagka-epektibo niini sa mga termino sa salapi, gasto sa pagpanag-iya, ug uban pa. Sa ato pa, gikinahanglan nga ilakip ang paggamit pag-usab sa arkitektura sa sistema, ilakip kini sa mapa sa dalan alang sa pagpaila sa mga serbisyo ug pagbalhin sa kabilin sa usa ka bag-ong arkitektura.

Ang laing problema - bisan kung kini maayo sa kaugalingon nga paagi - mao ang internal nga kompetisyon. "Oh, bag-ong mga uso nga lalaki ang nagpakita dinhi, nagsulti sila usa ka bag-ong sinultihan." Ang mga tawo, siyempre, lahi. Adunay mga naanad sa pagsulat sa Java, ug kadtong nagsulat ug naggamit sa Docker ug Kubernetes. Kini mao ang bug-os nga lain-laing mga tawo, sila sa pagsulti sa lain-laing, sa paggamit sa lain-laing mga termino ug usahay dili makasabut sa usag usa. Ang abilidad o kawalay katakus sa pagpaambit sa praktis, pagpaambit sa kahibalo, sa niini nga diwa usa usab ka problema.

Aw, pag-scale sa mga kapanguhaan. β€œGrabe, lakaw ta! Ug karon gusto namon nga mas paspas, labi pa. Unsa, dili nimo mahimo? Dili ba mahimo nga maghatud kaduha sa usa ka tuig? Ug ngano?" Ang ingon nga nagtubo nga mga kasakit tingali sukaranan alang sa daghang mga butang, daghang mga pamaagi, ug mabati nimo kini.

Mahitungod sa pagmonitor. Para nako, ang mga serbisyo o mga gamit sa pag-monitor sa industriya nakakat-on na o makahimo sa pagtrabaho kauban ang Docker ug Kubernetes sa lahi, dili standard nga mode. Mao nga, pananglitan, dili ka mahuman sa 500 nga mga makina sa Java diin ang tanan nga kini nagdagan, nga mao, kini naghiusa. Apan kini nga mga produkto kulang pa sa pagkahamtong; kinahanglan nila kini nga agian. Bag-o gyud ang hilisgutan, magpadayon kini sa pag-uswag.

Dmitriy:

Oo, makapaikag kaayo. Ug kini magamit sa HR. Tingali ang imong proseso sa HR ug HR brand nausab gamay sa niining 3 ka tuig. Nagsugod ka sa pagrekrut sa ubang mga tawo nga adunay lainlaing mga kahanas. Ug tingali adunay mga pro ug kontra. Kaniadto, ang blockchain ug data science mao ang hype, ug ang mga espesyalista niini nagkantidad og milyon-milyon. Karon ang gasto nahulog, ang merkado nahimong saturated, ug adunay susama nga uso sa microservices.

Sergey:

Oo, hingpit.

Alexander:

Gipangutana sa HR ang pangutana: "Hain ang imong pink nga unicorn taliwala sa backend ug frontend?" Dili masabtan sa HR kung unsa ang microservice. Gisultihan namo sila sa sekreto ug gisultihan sila nga ang backend naghimo sa tanan, ug walay unicorn. Apan ang HR nagbag-o, dali nga nakakat-on ug nagrekrut sa mga tawo nga adunay sukaranan nga kahibalo sa IT.

Ang ebolusyon sa microservices

Dmitriy:

Kung imong tan-awon ang target nga arkitektura, ang mga microservice morag usa ka monster. Ang imong panaw mikabat ug pipila ka tuig. Ang uban adunay usa ka tuig, ang uban tulo ka tuig. Nakita ba nimo ang tanan nga mga problema, ang target nga arkitektura, adunay nabag-o? Pananglitan, sa kaso sa mga microservice, ang mga gateway ug mga service meshes karon nagpakita na usab. Gigamit ba nimo kini sa sinugdanan o giusab nimo ang arkitektura mismo? Aduna ka bay ingon nga mga hagit?

Sergey:

Nakasulat na kami pag-usab sa daghang mga protocol sa komunikasyon. Sa una adunay usa ka protocol, karon mibalhin kami sa lain. Atong dugangan ang kaluwasan ug kasaligan. Nagsugod kami sa mga teknolohiya sa negosyo - Oracle, Web Logic. Karon nagpalayo na kami sa mga produkto sa teknolohikal nga negosyo sa mga microservice ug mibalhin sa bukas nga gigikanan o hingpit nga bukas nga mga teknolohiya. Gibiyaan namo ang mga database ug mibalhin sa kung unsa ang mas epektibo alang kanamo niini nga modelo. Dili na namo kinahanglan ang mga teknolohiya sa Oracle.

Nagsugod kami sa yano ingon usa ka serbisyo, nga wala maghunahuna kung unsa kadaghan ang among kinahanglan nga usa ka cache, kung unsa ang among buhaton kung wala’y koneksyon sa usa ka microservice, apan gikinahanglan ang datos, ug uban pa. Karon nag-develop kami usa ka plataporma aron mahulagway ang arkitektura dili sa pinulongan sa mga serbisyo, ug sa negosyo nga pinulongan, dad-a ang negosyo lohika ngadto sa sunod nga ang-ang sa diha nga kita magsugod sa pagsulti sa mga pulong. Karon nakakat-on na kami sa pagsulti sa mga sulat, ug ang sunod nga lebel mao kung ang mga serbisyo makolekta sa usa ka matang sa aggregate, kung kini usa na ka pulong - pananglitan, usa ka tibuuk nga kard sa produkto. Gitigum kini gikan sa mga microservice, apan kini usa ka API nga gitukod sa ibabaw niini.

Importante kaayo ang kaluwasan. Sa diha nga magsugod ka nga mahimong ma-access ug ikaw adunay usa ka serbisyo diin mahimo nimo makuha ang daghang makapaikag nga mga butang, ug dali kaayo, sa usa ka segundo, nan adunay tinguha nga makuha kini sa dili labing luwas nga paagi. Aron makalikay niini, kinahanglan namong usbon ang mga pamaagi sa pagsulay ug pagmonitor. Kinahanglan namon nga usbon ang team, ang istruktura sa pagdumala sa pagpadala, CI / CD.

Kini usa ka ebolusyon - sama sa mga telepono, labi ka paspas: una adunay mga push-button nga mga telepono, unya adunay mga smartphone. Gisulat nila pag-usab ug gidesinyo pag-usab ang produkto tungod kay ang merkado adunay lahi nga panginahanglan. Ingon niini ang atong pag-uswag: unang grado, ikanapulo nga grado, trabaho.

Sa pag-ulit, adunay usa ka butang nga gibutang kada tuig gikan sa punto sa panglantaw sa teknolohiya, lain nga butang gikan sa punto sa panglantaw sa backlog ug mga panginahanglan. Gikonektar namo ang usa ka butang ngadto sa lain. Ang team mogasto og 20% ​​sa teknikal nga utang ug teknikal nga suporta para sa team, 80% sa negosyo nga entidad. Ug naglihok kami nga adunay pagsabut kung ngano nga gibuhat namon kini, kung ngano nga gihimo namon kini nga mga pag-uswag sa teknolohiya, kung unsa ang modala niini. Ingon niana.

Dmitriy:

Bugnaw. Unsa ang naa sa MegaFon?

Alexander:

Ang panguna nga hagit sa among pag-abut sa microservices mao ang dili pagkahulog sa kagubot. Ang opisina sa arkitektura sa MegaFon miapil dayon kanamo, nahimo pa gani nga usa ka initiator ug drayber - karon kami adunay lig-on kaayo nga arkitektura. Ang iyang tahas mao ang pagsabut kung unsang target nga modelo ang atong adtoan ug kung unsang mga teknolohiya ang kinahanglan nga piloto. Uban sa arkitektura, kami mismo ang nagdumala niini nga mga piloto.

Ang sunod nga pangutana mao: "Unya unsaon pagpahimulos niining tanan?" Ug usa pa: "Giunsa pagsiguro ang transparent nga interaksyon tali sa mga microservice?" Ang service mesh nakatabang kanamo sa pagtubag sa katapusang pangutana. Among gi-pilot si Istio ug ganahan ang mga resulta. Karon naa na kita sa yugto sa paglihok sa mga produktibong sona. Kami adunay positibo nga kinaiya sa tanan nga mga hagit - ang kamatuoran nga kinahanglan namon kanunay nga usbon ang stack, pagkat-on og bag-o. Interesado kami sa pagpalambo, dili pagpahimulos sa daan nga mga solusyon.

Dmitriy:

Bulawan nga mga pulong! Ang ingon nga mga hagit nagpadayon sa team ug negosyo sa ilang mga tudlo ug nagmugna sa umaabot. Gibuhat sa GDPR ang mga punoan nga opisyal sa pagpanalipod sa datos, ug ang mga karon nga hagit nagmugna mga punoan nga microservice ug mga opisyal sa arkitektura. Ug kini makapahimuot.

Daghan mig nahisgutan. Ang panguna nga butang mao nga ang usa ka maayo nga laraw sa mga microservice ug ang arkitektura mismo nagtugot kanimo nga malikayan ang daghang mga sayup. Siyempre, ang proseso mao ang iterative ug ebolusyonaryo, apan kini mao ang umaabot.

Salamat sa tanang partisipante, salamat kang Sergei ug Alexander!

Mga pangutana gikan sa mamiminaw

Pangutana gikan sa mamiminaw (1):

Sergey, giunsa pagbag-o ang pagdumala sa IT sa imong kompanya? Akong nasabtan nga kung adunay usa ka dako nga stack sa daghang mga sistema, kung giunsa kini pagdumala usa ka klaro ug lohikal nga proseso. Giunsa nimo pagtukod pag-usab ang pagdumala sa bahin sa IT pagkahuman sa daghang mga microservice nga gisagol sa mubo nga panahon?

Sergey:

Uyon ko sa akong kauban nga ang arkitektura importante kaayo isip tigmaneho sa kausaban. Nagsugod kami pinaagi sa pagkabahin sa arkitektura. Ang mga arkitekto dungan nga tag-iya sa pag-apod-apod sa pagpaandar ug ang mga kinahanglanon kung giunsa kini makita sa talan-awon. Busa sila usab naglihok isip mga koordinetor niini nga mga kausaban. Ingon usa ka sangputanan, adunay mga piho nga pagbag-o sa usa ka piho nga proseso sa paghatud sa dihang naghimo kami usa ka plataporma sa CI/CD.

Apan ang sukaranan, sukaranan nga mga prinsipyo sa pag-uswag, pagtuki sa negosyo, pagsulay ug pag-uswag wala gikansela. Gidugangan lang namo ang gikusgon. Kaniadto, ang siklo nagkinahanglan og daghan, ang pag-instalar sa mga palibot sa pagsulay nagkinahanglan og daghan pa. Karon ang negosyo nakakita sa kaayohan ug miingon: "Nganong dili man nato mahimo ang sama sa ubang mga dapit?"

Sama kini, sa usa ka maayong paagi, usa ka indeyksiyon sa porma sa usa ka bakuna nga nagpakita: mahimo nimo kini nga paagi, apan mahimo nimo kini sa laing paagi. Siyempre, adunay problema sa mga personahe, sa mga kahanas, sa kahibalo, sa pagsukol.

Pangutana gikan sa mamiminaw (2):

Ang mga kritiko sa arkitektura sa microservice nag-ingon nga lisud ang pagsulay ug pag-uswag. Makataronganon kini diin ang mga butang mahimong komplikado. Unsa nga mga hagit ang giatubang sa imong team ug giunsa nimo kini pagbuntog? Pangutana para sa tanan.

Alexander:

Adunay mga kalisud sa pagbalhin gikan sa microservices ngadto sa usa ka plataporma, apan kini masulbad.

Pananglitan, naghimo kami usa ka produkto nga gilangkuban sa 5-7 nga microservice. Kinahanglan namon nga maghatag mga pagsulay sa panagsama sa tibuuk nga stack sa microservice aron mahatagan ang berde nga suga aron mabalhin sa master branch. Kini nga buluhaton dili bag-o alang kanamo: dugay na namo kining gibuhat sa BSS, sa dihang ang vendor naghatag kanamo og mga gipadala na nga mga solusyon.

Ug ang among problema kay sa gamay ra nga team. Usa ka QA engineer ang gikinahanglan alang sa usa ka conditional nga produkto. Ug busa, nagpadala kami usa ka produkto sa 5-7 nga mga microservice, diin ang 2-3 mahimong mapalambo sa mga ikatulo nga partido. Pananglitan, kami adunay usa ka produkto sa pagpalambo diin ang among billing system vendor, Mail.ru Group ug MegaFon R&D miapil. Kinahanglan namon nga tabonan kini sa mga pagsulay sa dili pa ipadala kini sa produksiyon. Ang inhenyero sa QA nagtrabaho sa kini nga produkto sulod sa usa ug tunga ka bulan, ug ang nahabilin nga grupo wala’y suporta.

Kini nga pagkakomplikado tungod lamang sa pag-scaling. Nasabtan namo nga ang mga microservice dili maglungtad sa usa ka haw-ang; ang hingpit nga pagkahimulag wala maglungtad. Kung nag-ilis sa usa ka serbisyo, kanunay namon nga gisulayan nga mapreserbar ang kontrata sa API. Kung adunay mausab sa ilawom sa hood, ang serbisyo sa atubangan magpabilin. Kung makamatay ang mga pagbag-o, mahitabo ang usa ka matang sa pagbag-o sa arkitektura ug mobalhin kami sa usa ka hingpit nga lahi nga metamodel sa datos, nga hingpit nga dili magkatugma - pagkahuman nga naghisgot kami bahin sa pagpakita sa detalye sa serbisyo sa v2 nga API. Gisuportahan namon ang una ug ikaduha nga mga bersyon nga dungan, ug pagkahuman ang tanan nga mga konsumedor mobalhin sa ikaduha nga bersyon, gisirhan namon ang una.

Sergey:

Gusto kong idugang. Ako hingpit nga mouyon bahin sa mga komplikasyon - kini mahitabo. Ang talan-awon nahimong labi ka komplikado, ug ang mga gasto sa overhead nagkadako, labi na alang sa pagsulay. Unsaon pag-atubang niini: switch sa automated testing. Oo, kinahanglan ka nga mamuhunan dugang sa pagsulat sa mga autotest ug mga pagsulay sa yunit. Aron ang mga developers dili makapasalig nga dili makapasar sa pagsulay, dili nila mausab ang code. Mao nga bisan ang push button dili molihok kung wala ang autotest, pagsulay sa yunit.

Importante nga ipadayon ang nauna nga pagpaandar, ug kini dugang nga overhead. Kon imong isulat pag-usab ang usa ka teknolohiya ngadto sa laing protocol, unya imo kining isulat pag-usab hangtod imong isira ang tanan sa hingpit.

Usahay dili kami mohimo sa end-to-end nga pagsulay sa katuyoan, tungod kay dili kami gusto nga mohunong sa pag-uswag, bisan kung kami adunay sunod-sunod nga butang. Ang talan-awon dako kaayo, komplikado, adunay daghang mga sistema. Usahay kini mga stubs lang - oo, gipaubos nimo ang margin sa kaluwasan, daghang mga peligro ang makita. Apan sa samang higayon imong gibuhian ang suplay.

Alexander:

Oo, ang mga autotest ug mga pagsulay sa yunit nagtugot kanimo sa paghimo og taas nga kalidad nga serbisyo. Kami alang sa usa ka pipeline nga dili mapasa kung wala ang mga pagsulay sa yunit ug panagsama. Kanunay namong i-drag ang mga emulator ug komersyal nga sistema ngadto sa mga test zone ug development environment, tungod kay dili tanang sistema mahimong ibutang sa test zones. Dugang pa, dili lang sila basa - naghimo kami usa ka hingpit nga tubag gikan sa sistema. Kini usa ka seryoso nga bahin sa pagtrabaho kauban ang mga microservice, ug namuhunan usab kami niini. Kon wala kini, mahitabo ang kagubot.

Pangutana gikan sa mamiminaw (3):

Sa akong nasabtan, ang mga microservice sa sinugdanan mitubo gikan sa usa ka bulag nga team ug karon anaa na niini nga modelo. Unsa ang mga bentaha ug disbentaha niini?

Adunay kami parehas nga istorya: usa ka klase nga pabrika sa microservice ang mitumaw. Karon kami adunay konsepto nga moabut sa punto nga among gipalapdan kini nga pamaagi sa produksiyon pinaagi sa mga sapa ug pinaagi sa mga sistema. Sa laing pagkasulti, nagpalayo kami gikan sa sentralisadong pag-uswag sa mga microservice, mga modelo sa microservice, ug nagkaduol sa mga sistema.

Tungod niini, ang among operasyon moadto usab sa mga sistema, nga mao, among gi-desentralisa ang kini nga hilisgutan. Unsa ang imong pamaagi ug unsa ang imong target nga istorya?

Alexander:

Gitangtang nimo ang ngalan nga "pabrika sa microservice" sa imong baba - gusto usab namon nga sukdon. Una, naa gyud mi usa ka team karon. Gusto namon nga mahatagan ang tanan nga mga tim sa pagpauswag nga adunay higayon ang MegaFon nga magtrabaho sa usa ka komon nga ekosistema. Dili namon gusto nga hingpit nga makuha ang tanan nga pag-andar sa pag-uswag nga naa kanamo karon. Ang lokal nga tahas mao ang pag-scale, ang global nga buluhaton mao ang paggiya sa kalamboan sa tanan nga mga team sa microservice layer.

Sergey:

Isulti ko kanimo ang dalan nga among giagian. Nagsugod gyud kami sa pagtrabaho isip usa ka team, apan karon wala kami nag-inusara. Ako usa ka tigpasiugda sa mosunod: kinahanglan adunay tag-iya sa proseso. Kinahanglan nga adunay makasabut, magdumala, magkontrol ug magtukod sa proseso sa pagpalambo sa microservices. Kinahanglan siya nga manag-iya sa mga kapanguhaan ug moapil sa pagdumala sa kapanguhaan.

Kini nga mga kapanguhaan, nga nahibal-an ang mga teknolohiya, mga detalye ug nakasabut kung giunsa ang paghimo og mga microservice, mahimong makit-an sa mga team sa produkto. Kami adunay usa ka sagol diin ang mga tawo gikan sa microservice platform naa sa team sa produkto nga naghimo sa mobile application. Anaa sila, apan nagtrabaho sila sumala sa proseso sa departamento sa pagdumala sa platform sa microservice kauban ang ilang manager sa pag-uswag. Sulod niini nga dibisyon adunay usa ka lahi nga team nga naghisgot sa teknolohiya. Sa ato pa, gisagol namo ang usa ka komon nga pundok sa mga kahinguhaan sa among kaugalingon ug gibahin kini, gihatag kini sa mga team.

Sa samang higayon, ang proseso nagpabilin nga kinatibuk-an, kontrolado, kini nagpadayon sumala sa kinatibuk-ang teknolohikal nga mga prinsipyo, uban ang pagsulay sa yunit ug uban pa - ang tanan nga gitukod sa ibabaw. Mahimong adunay mga kolum sa porma sa mga kapanguhaan nga nakolekta gikan sa lainlaing mga departamento sa pamaagi sa produkto.

Alexander:

Sergey, ikaw gyud ang tag-iya sa proseso, di ba? Gipaambit ba ang backlog sa buluhaton? Kinsa ang responsable sa pag-apod-apod niini?

Sergey:

Tan-awa: ania na usab ang sagol. Adunay usa ka backlog nga naporma base sa pag-uswag sa teknolohiya - kini usa ka istorya. Adunay backlog, nga giporma gikan sa mga proyekto, ug adunay backlog gikan sa mga produkto. Apan ang pagkasunod-sunod sa pagpaila sa matag usa sa mga produkto sa serbisyo o ang paghimo niini nga serbisyo gihimo sa usa ka espesyalista sa produkto. Wala siya sa IT directorate; espesyal siya nga gikuha gikan niini. Apan ang akong mga tawo siguradong nagtrabaho sumala sa parehas nga proseso.

Ang tag-iya sa backlog sa lain-laing mga direksyon - ang backlog sa mga kausaban - mahimong lain-laing mga tawo. Ang koneksyon sa mga serbisyo sa teknolohiya, ang ilang prinsipyo sa pag-organisar - kining tanan naa sa IT. Ako ang tag-iya sa plataporma ug sa mga kapanguhaan usab. Sa ibabaw mao ang mahitungod sa backlog ug functional nga mga kausaban, ug ang arkitektura niini nga diwa.

Ingnon ta nga ang usa ka negosyo nag-ingon: "Gusto namon kini nga function, gusto namon nga maghimo usa ka bag-ong produkto - maghimo pag-usab sa usa ka pautang." Kami motubag: "Oo, usbon namo kini." Ang mga arkitekto nag-ingon: "Hunahunaon nato: asa sa pautang isulat nato ang mga microservice ug unsaon nato kini pagbuhat?" Dayon gibahin namo kini ngadto sa mga proyekto, mga produkto o usa ka stack sa teknolohiya, gibutang kini sa mga team ug gipatuman kini. Nakahimo ka ba og usa ka produkto sa sulod ug nakahukom sa paggamit sa mga microservice niini nga produkto? Kami nag-ingon: "Karon ang mga sistema sa panulundon nga naa namo, o mga front-line nga sistema, kinahanglan nga mobalhin sa kini nga mga microservice." Ang mga arkitekto nag-ingon: "Busa: sa teknolohikal nga backlog sa sulod sa mga produkto sa unahan - ang pagbalhin ngadto sa microservices. Lakaw". Ug ang mga espesyalista sa produkto o tag-iya sa negosyo nakasabut kung pila ang kapasidad nga gigahin, kung kanus-a kini buhaton ug ngano.

Ang katapusan sa panaghisgot, apan dili ang tanan

Ang mailto:CLOUD nga komperensya giorganisar Mail.ru Cloud Solutions.

Nagbuhat usab kami sa ubang mga panghitabo - pananglitan. @Kubernetes Meetup, diin kami kanunay nangita alang sa maayo nga mga mamumulong:

  • Sunda ang @Kubernetes ug uban pang balita sa @Meetup sa among Telegram channel t.me/k8s_mail
  • Interesado sa pagsulti sa usa sa @Meetups? Pagbilin ug hangyo alang sa mcs.mail.ru/speak

Source: www.habr.com

Idugang sa usa ka comment