Kubva ku monoliths kusvika ku microservices: ruzivo rweM.Video-Eldorado uye MegaFon

Kubva ku monoliths kusvika ku microservices: ruzivo rweM.Video-Eldorado uye MegaFon

Musi waKubvumbi 25, isu paMail.ru Group takaita musangano nezvemakore nekutenderera - mailto:CLOUD. Zvimwe zvinonyanya kukosha:

  • The main Russian providers - Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center uye Yandex.Cloud yakataura pamusoro pezvakanyanya zvemusika wedu wegore nemasevhisi avo;
  • Vashandi vekuBitrix24 vakataura kuti vakaita sei akauya kune multicloud;
  • Leroy Merlin, Otkritie, Burger King uye Schneider Electric vakapa zvinonakidza maonero kubva kune vatengi vefu - ndeapi mabasa anosetwa nebhizinesi ravo kuIT uye ndeapi matekinoroji, kusanganisira iwo emakore, avanoona seanonyanya kuvimbisa.

Unogona kuona mavhidhiyo ese kubva kune mailto:CLOUD musangano batanidzo, uye pano unogona kuverenga kuti nhaurirano nezve microservices yakafamba sei. Alexander Deulin, mukuru weMegaFon business systems research and development centre, naSergey Sergeev, information technology director weM.Video-Eldorado group, vakagovera nyaya dzavo dzakabudirira dzekubvisa monoliths. Isu takakurukura zvakare zvine chekuita nenyaya dzeIT zano, maitiro uye kunyangwe HR.

Panelists

  • Sergey Sergeev, Group CIO "M.Vhidhiyo-Eldorado";
  • Alexander Deulin, mukuru wecentre yekutsvaga nekusimudzira masisitimu ebhizinesi MegaFon;
  • Moderator - Dmitry Lazarenko, Musoro wePaaS kutungamira Mail.ru Cloud Solutions.

Mushure mekutaura kwaAlexander Deulin "MegaFon iri kuwedzera sei bhizinesi rayo kuburikidza ne microservice platform" akabatanidzwa kuti akurukurwe naSergey Sergeev kubva kuM.Video-Eldorado uye mutungamiri wehurukuro Dmitry Lazarenko, Mail.ru Cloud Solutions.

Pazasi takakugadzirira chinyorwa chehurukuro, asi iwe unogonawo kuona vhidhiyo:

Shanduko kune microservices imhinduro kune zvinodiwa pamusika

Dmitriy:

Wakambove neruzivo rwakabudirira rwekutamira kune microservices? Uye kazhinji: ndekupi kwaunoona bhizinesi rakakura kubatsirika kubva pakushandisa microservices kana kufamba kubva ku monoliths kuenda ku microservices?

Sergey:

Isu takatouya neimwe nzira mukuchinja kuenda kumamicroservices uye tave tichishandisa nzira iyi kweanopfuura makore matatu. Chinodiwa chekutanga chakaruramisa kudiwa kwemamicroservices kwaive kusanganisa kusingagumi kweakasiyana-ekupedzisira zvigadzirwa nehofisi yekumashure. Uye nguva imwe neimwe yatakamanikidzwa kuita kuwedzera kwekubatanidza nekusimudzira, kushandisa mitemo yedu pachedu yekushanda kweichi kana kuti sevhisi.

Pane imwe nguva, takaona kuti taifanira kukurumidzira kushanda kwemaitiro edu uye kubuda kwekushanda. Panguva iyoyo, pfungwa dzakadai se microservices uye microservice nzira yakanga yatovapo pamusika, uye takasarudza kuedza. Izvi zvakatanga muna 2016. Ipapo chikuva chakaiswa uye masevhisi gumi ekutanga akaitwa nechikwata chakasiyana.

Imwe yemasevhisi ekutanga, akanyanya kutakurwa, yaive sevhisi yekuverenga mutengo. Nguva dzose paunouya kune chero chiteshi, kune M.Video-Eldorado boka remakambani, ingave webhusaiti kana chitoro chekutengesa, sarudza chigadzirwa ipapo, ona mutengo pawebhusaiti kana mu "Basket", mutengo unongoitika zvakaverengwa nesevhisi imwe. Sei izvi zvichidikanwa: izvi zvisati zvaitika, imwe neimwe system yaive nemisimboti yayo yekushanda nekusimudzira - ine zvidzikiso uye zvichingodaro. Hofisi yedu yekumashure inobata mitengo; dhizaini mashandiro anoitwa mune imwe system. Izvi zvaida kuve nechepakati uye yakasarudzika, inopatsanurika sevhisi yakagadzirwa nenzira yebhizinesi maitiro ayo aizotitendera kuita izvi. Ndiwo matangiro atakaita.

Kukosha kwemigumisiro yekutanga kwaive kwakanyanya. Chekutanga, takakwanisa kugadzira masangano akapatsanurwa anotitendera kuti tishande takaparadzana uye nenzira yakaunganidzwa. Chechipiri, takadzikisa mutengo wevaridzi maererano nekubatanidzwa nemamwe masisitimu.

Kwemakore matatu apfuura, takawedzera matatu epamberi masisitimu. Zvakanga zvakaoma kuvachengetedza nehuwandu hwezvinhu izvo kambani yaikwanisa kutenga. Nokudaro, basa rakamuka kuti ritarise zvitsva zvitsva, kupindura pamusika maererano nekukurumidzira, maererano nemari yemukati uye kubudirira.

Nzira yekuyera sei kubudirira kwekutamira kune microservices

Dmitriy:

Kubudirira kwekutamira kune microservices kunogadziriswa sei? Chii chaiva "kare" mukambani imwe neimwe? Ndeipi metric yawakashandisa kuona budiriro yeshanduko, uye ndiani chaizvo akazvisarudza?

Sergey:

Chekutanga pane zvese, yakazvarwa mukati meIT senge inogonesa - "kuvhura" hunyanzvi hutsva. Taive nechido chekuita zvese nekukurumidza nemari yakafanana, tichipindura matambudziko emusika. Ikozvino budiriro inoratidzwa muhuwandu hwemasevhisi akashandiswa zvakare neakasiyana masisitimu, kubatana kwemaitiro pakati pavo. Iye zvino zvave, asi panguva iyoyo yaive mukana wekugadzira chikuva uye kusimbisa fungidziro yekuti tinogona kuita izvi, ichapa mhedzisiro uye kuverenga iyo bhizinesi kesi.

Alexander:

Kubudirira pane manzwiro emukati. Bhizinesi rinogara richida zvakawanda, uye kudzika kwemashure edu chiratidzo chekubudirira. Zvinoita sezviri kwandiri.

Sergey:

Hongu, ndinobvuma. Mumakore matatu, tatova neanopfuura mazana maviri masevhisi uye kumashure. Kudiwa kwezviwanikwa mukati mechikwata kuri kukura - ne30% pagore. Izvi zviri kuitika nekuti vanhu vakanzwa: inokurumidza, yakasiyana, kune akasiyana matekinoroji, zvese izvi zviri kusimukira.

Microservices ichauya, asi iyo yakakosha icharamba iripo

Dmitriy:

Zvakafanana nemaitiro asingaperi ekuti unoisa mari mubudiriro. Shanduko yekuenda kumamicroservices ebhizinesi yatopera here kana kuti kwete?

Sergey:

Zviri nyore kwazvo kupindura. Unofungei: kutsiva mafoni inzira isingaperi? Isu pachedu tinotenga mafoni gore rega rega. Uye hezvino izvi: chero bedzi pane chido chekukurumidza, kugadzirisa kumusika, dzimwe shanduko dzichadiwa. Izvi hazvirevi kuti tinosiya zvinhu zvakajairika.

Asi isu hatigone kuvhara uye kugadzirisa zvese zvese panguva imwe chete. Isu tine nhaka, yakajairwa yekubatanidza masevhisi aivepo kare: bhizinesi mabhazi uye zvichingodaro. Asi pane kusarira shure, uye panewo kudiwa. Huwandu hwemafoni ekushandisa uye kushanda kwawo kuri kukura. Panguva imwecheteyo, hapana anoti iwe uchapihwa 30% mari yakawanda. Ndiko kuti, pane nguva dzose zvinodiwa kune rumwe rutivi, uye kutsvaga kwekushanda kune imwe.

Dmitriy:

Hupenyu huri muchimiro chakanaka. (Kuseka)

Alexander:

Kazhinji, hongu. Isu hatina nzira dzechimurenga dzekubvisa chikamu chepakati kubva muchimiro. Basa rakarongeka riri kuenderera mberi rekuodza masisitimu kuitira kuti aenderane neiyo microservice architecture, kuderedza pesvedzero yemasisitimu pane mumwe nemumwe.

Asi isu tinoronga kuchengetedza iyo yakakosha chikamu, sezvo munzvimbo yemushandisi pachagara paine mamwe mapuratifomu atinotenga. Zvekare, isu tinoda hutano hwakanaka: isu hatifanirwe kumhanyisa mukucheka musimboti. Isu tinoisa masisitimu parutivi, uye zvino zvinozoitika kuti isu tatova pamusoro pezvizhinji zvepakati zvikamu. Kupfuurirazve, kuvandudza kushanda, isu tinogadzira inomiririra inodiwa kune ese machani anoshanda nemasevhisi edu ekutaurirana.

Maitiro ekutengesa mamicroservices kumabhizinesi

Dmitriy:

Iniwo ndinofarira - kune avo vasina kuchinjika, asi vari kuronga ku: zvaive nyore sei kutengesa iyi pfungwa kune bhizinesi uye chaive chinhambwe, chirongwa chekudyara? Kana kuti raive zano rekuziva: ikozvino tave kuenda kumamicroservices uye ndizvozvo, hapana chinozotimisa. Kwanga kuri sei kwauri?

Sergey:

Isu takanga tisiri kutengesa nzira, asi bhizinesi bhenefiti. Paive nedambudziko mubhizinesi, uye takaedza kurigadzirisa. Panguva iyoyo, yakaratidzwa mukuti nzira dzakasiyana-siyana dzakashandisa mitemo yakasiyana-siyana yekuverenga mitengo - zvakasiyana-siyana zvekusimudzira, zvekusimudzira, nezvimwe zvakadaro. Zvakanga zvakaoma kuchengetedza, kukanganisa kwakaitika, uye takateerera zvichemo zvevatengi. Kureva kuti takanga tichitengesa gadziriso yedambudziko, asi takauya nenyaya yekuti taida mari yekugadzira chikuva. Uye vakaratidza nyaya yebhizinesi vachishandisa muenzaniso wedanho rekutanga rekudyara: kuti isu ticharamba tichiidzosera sei uye izvo zvichatibvumira kuita.

Dmitriy:

Wakambonyora here nguva yedanho rekutanga?

Sergey:

Hongu chokwadi. Isu takagovera mwedzi mitanhatu yekugadzira iyo yakakosha sepuratifomu uye kuyedza mutyairi. Munguva iyi, takaedza kugadzira puratifomu yekutsvedza mutyairi. Ipapo iyo hypothesis yakasimbiswa, uye sezvo ichishanda, zvinoreva kuti tinogona kuenderera. Vakatanga kudzokorora uye kusimbisa timu - vakaifambisa mune imwe divi rinoita izvo chaizvo.

Inotevera inouya yakarongeka basa rakavakirwa pane zvinodiwa zvebhizinesi, mikana, kuwanikwa kwezvinhu uye zvese zviri mumabasa izvozvi.

Dmitriy:

OK. Alexander, unoti chii?

Alexander:

Masevhisi edu madiki akazvarwa kubva ku "furo regungwa" - nekuda kwekuchengetedza zviwanikwa, nekuda kwezvimwe zvakasara muchimiro che server simba uye kugovaniswa kwemauto mukati mechikwata. Pakutanga, hatina kutengesa chirongwa ichi kune vebhizimisi. Iri raive purojekiti apo isu tose takatsvagisa uye takagadzira zvinoenderana. Takatanga pakutanga kwegore ra2018 uye takangogadzira nzira iyi nechido. Sales ichangotanga uye isu tiri mukugadzirisa.

Dmitriy:

Zvinoitika here kuti bhizinesi rinokutendera iwe kuita zvinhu zvakadai seGoogle - pazuva rimwe remahara pasvondo? Une gwara rakadaro here?

Alexander:

Panguva imwecheteyo sekutsvaga, takabatawo nematambudziko ebhizinesi, saka ese mamicroservices edu mhinduro kumatambudziko ebhizinesi. Chete pakutanga takavaka mamicroservices aifukidza chikamu chidiki chevanyoreri base, uye ikozvino isu tiripo mune zvingangoita zvese zvigadzirwa zvemureza.

Uye kukanganiswa kwezvinhu kwatove kwakajeka - isu tinogona kutoverengerwa, kumhanya kwechigadzirwa kuburitswa uye kurasikirwa kwemari kunogona kufungidzirwa dai isu takatevera nzira yekare. Izvi ndizvo zvatiri kuvaka nyaya yacho.

Microservices: hype kana kudikanwa?

Dmitriy:

Nhamba inhamba. Uye mari kana mari yakachengetwa yakakosha zvikuru. Ko kana ukatarisa kune rimwe divi? Zvinoita sekuti microservices itsika, hype uye makambani mazhinji ari kuishandisa zvisizvo? Iwe unosiyanisa zvakajeka sei pakati pezvaunoita uye kusaturikira kumamicroservices? Kana nhaka ikozvino, iwe uchave uine legacy mumakore mashanu? Ndeipi ichange iri zera rehurongwa hwemashoko hunoshanda paM.Video-Eldorado neMegaFon mumakore mashanu? Pachava nemakore gumi, ane makore gumi namashanu eruzivo masisitimu here kana kuti chichava chizvarwa chitsva? Unoona sei izvi?

Sergey:

Zvinoratidzika kwandiri kuti zvakaoma kufunga kure kure. Kana tikatarisa kumashure, ndiani aifungidzira kuti musika wetekinoroji ungasimukira nenzira iyi, kusanganisira kudzidza kwemichina uye kuzivikanwa kwemushandisi nechiso? Asi kana iwe ukatarisa kumakore anotevera, zvinoratidzika kwandiri kuti masisitimu epakati, bhizinesi ERP-kirasi masisitimu mumakambani - anga achishanda kwenguva yakareba.

Makambani edu pamwe chete ane makore makumi maviri neshanu ekuzvarwa, ane classic ERP yakadzika zvakanyanya muhurongwa hwemamiriro. Zviripachena kuti tiri kutora zvimwe zvidimbu kubva ipapo uye kuyedza kuzvibatanidza kuita mamicroservices, asi musimboti uchasara. Zvakandiomera ikozvino kufungidzira kuti isu tichatsiva ese epakati masisitimu ipapo uye nekukasira kuenda kune imwe, yakajeka divi rehurongwa hutsva.

Ini ndiri mutsigiri wenyaya yekuti zvese zviri padyo nemutengi uye mutengi ndipo panowanikwa bhizinesi rakakura uye kukosha, uko kuchinjika uye kutarisa nekukurumidza, pane shanduko, pa "edza, kanzura, shandisazve, ita chimwe chinhu chakasiyana" inodiwa "-ndipo panochinja mamiriro ezvinhu. Uye zvigadzirwa zvebhokisi hazvikodzeri imomo zvakanyanya. At least hatizvione. Idzo dzakareruka, dzakareruka mhinduro dzinodiwa ipapo.

Isu tinoona ichi chiitiko:

  • misimboti yeruzivo masisitimu (kunyanya kumashure hofisi);
  • zvidimbu zvepakati mumhando ye microservices inobatanidza nheyo, kuunganidza, kugadzira cache, nezvimwe zvakadaro;
  • nzira dzepamberi dzakanangana nemutengi;
  • chikamu chekubatanidza icho chinowanzo sanganiswa mumisika, mamwe masisitimu uye ecosystems. Iri dura rakareruka sezvinobvira, rakapfava, uye rine hushoma hwepfungwa dzebhizinesi.

Asi panguva imwecheteyo, ini ndiri mutsigiri wekuenderera mberi nekushandisa mitemo yekare kana yakashandiswa zvakakodzera.

Ngatitii une classic business system. Inowanikwa munzvimbo yemumwe mutengesi uye ine ma module maviri anoshanda pamwe chete. Kune zvakare yakajairwa yekubatanidza interface. Sei uchizviita zvakare uye kuunza microservice ipapo?

Asi kana pane 5 modules muhofisi yekumashure, kubva kune zvidimbu zvemashoko zvinounganidzwa kuva bhizinesi rebhizimisi, iro rinozoshandiswa ne8-10 pamberi pe-line-line systems, kubatsirwa kunobva kuoneka. Iwe unotora kubva kushanu kumashure-hofisi masisitimu uye kugadzira sevhisi, yakasarudzika, iyo inotariswa pane bhizinesi maitiro. Ita sevhisi yepamusoro-soro - kuitira kuti ichengetedze ruzivo uye inoshivirira kukanganisa, uye inoshandawo nemagwaro kana masangano ebhizinesi. Uye iwe unoibatanidza maererano nenheyo imwe chete nezvose zvepamberi zvigadzirwa. Vakadzima chigadzirwa chepamberi - vakangodzima kubatanidzwa. Mangwana iwe unofanirwa kunyora nharembozha kana kugadzira webhusaiti diki uye kuisa chikamu chimwe chete mukuita - zvese zviri nyore: wakazviunganidza semugadziri. Ini ndinoona budiriro yakawedzera munzira iyi - zvirinani munyika yedu.

Alexander:

Sergey akatsanangura zvizere maitiro edu, ndinokutendai. Ini ndinongotaura kwatisingazoendi - kune yakakosha chikamu, kune musoro wekubhadharisa online. Ndiko kuti, kuyera uye kubhadharisa kuchasara, chokwadi, "hombe" yekupura iyo inozonyora yakavimbika mari. Uye iyi hurongwa icharamba ichisimbiswa nemasimba edu ekutonga. Zvese zvimwe zvinotarisa kune vatengi, hongu, ndeye microservices.

Dmitriy:

Pano chitupa inyaya imwe chete. Pamwe tsigiro yakawanda. Kana iwe ukashandisa zvishoma pane tsigiro kana sisitimu haidi kutsigirwa uye kugadziridzwa, zviri nani kuti urege kuibata. Kubvumirana kunonzwisisika.

Nzira yekugadzira microservices yakavimbika

Dmitriy:

Fine. Asi ndichiri kufarira. Iye zvino wave kutaura nyaya yekubudirira: zvese zvaive zvakanaka, isu takachinjira kumamicroservices, takadzivirira zano kubhizinesi, uye zvese zvakabuda. Asi ndakanzwa dzimwe nyaya.

Makore akati wandei apfuura, imwe kambani yeSwitzerland yakanga yadyara makore maviri mukugadzira itsva microservice platform yemabhanga yakazovhara chirongwa ichi. Yakapunzika zvachose. Mamirioni mazhinji eSwiss francs akashandiswa, uye pakupedzisira timu yakaparadzirwa - hazvina kushanda.

Wakambove nenyaya dzakafanana here? Paiva here kana kuti pane matambudziko? Semuenzaniso, kuchengetedza mamicroservices uye kutarisa zvakare musoro mumabasa ekushanda kwekambani. Mushure mezvose, nhamba yezvikamu zvinowedzera makumi enguva. Unozviona sei, pave nemienzaniso isina kubudirira yekudyara pano? Uye chii chaungapa vanhu zano kuti vasasangana nematambudziko akadaro?

Alexander:

Mienzaniso isina kubudirira yaisanganisira mabhizinesi achichinja zvakakosha uye kudzima mapurojekiti. Kana padanho rakanaka rekugadzirira (chaizvoizvo, MVP yakagadzirira), bhizinesi rakati: "Tine zvitsva zvekutanga, tiri kuenda kune chimwe chirongwa, uye tiri kuvhara ichi."

Isu takanga tisina kutadza kwepasirese nemamicroservices. Isu tinorara murunyararo, tine 24/7 duty shift iyo inosevha iyo yese BSS [bhizinesi rekutsigira system].

Uye chimwezve chinhu - isu tinorenda mamicroservices maererano nemitemo inoshanda kune zvigadzirwa zvebhokisi. Kiyi yekubudirira ndeyekuti iwe unoda, chekutanga, kuunganidza timu inozogadzirira zvizere iyo microservice yekugadzira. Iyo budiriro pachayo ndeye, nemamiriro, 40%. Iyo yasara ndeye analytics, DevSecOps methodology, iyo chaiyo yekubatanidza uye iyo chaiyo yekuvaka. Isu tinobhadhara zvakanyanya kumitemo yekuvaka yakachengeteka zvikumbiro. Vamiriri vekuchengetedza ruzivo vanotora chikamu muchirongwa chega chega padanho rekuronga rekuvaka uye panguva yekuita. Ivo zvakare vanobata masisitimu ekuongorora kodhi yekusagadzikana.

Ngatitii tinoendesa masevhisi edu asina nyika - tinawo muKubernetes. Izvi zvinobvumira munhu wese kurara murunyararo nekuda kweauto-scaling uye auto-kusimudza masevhisi, uye basa rekuchinja rinotora zviitiko.

Mukuvapo kwese kwema microservices edu, kwangove nechiitiko chimwe chete kana zviviri zvakasvika mutsetse wedu. Iye zvino hapana matambudziko nekushanda. Isu, hongu, hatina mazana maviri, asi anenge makumi mashanu microservices, asi anoshandiswa muzvigadzirwa zvemureza. Kana vakakundikana, taizove vekutanga kuziva nezvazvo.

Microservices uye HR

Sergey:

Ini ndinobvumirana nemumwe wangu nezve kuendeswa kunotsigira - kuti basa rinoda kurongeka nemazvo. Asi ini ndichakuudza nezve matambudziko ayo, hongu, aripo.

Chekutanga, tekinoroji itsva. Iyi ihype nenzira yakanaka, uye kutsvaga nyanzvi inonzwisisa uye inogona kugadzira iri idambudziko rakakura. Makwikwi ezviwanikwa anopenga, saka nyanzvi dzinokosha uremu hwavo mugoridhe.

Chechipiri, nekusikwa kwemamwe matunhu uye nenhamba iri kukura yemasevhisi, dambudziko rekushandisazve rinofanira kugara richigadziriswa. Sezvo vanogadzira vanoda kuita: "Ngatinyorei zvinhu zvakawanda zvinonakidza pano ikozvino ..." Nemhaka yeizvi, hurongwa hunokura uye hunorasikirwa nekubudirira kwayo maererano nemari, mari yehutori, nezvimwe zvakadaro. Kureva kuti, zvinodikanwa kusanganisa kushandiswazve muhurongwa hwekuvaka, kuisanganisira mumigwagwa yekusuma masevhisi uye kuendesa nhaka kune nyowani yekuvaka.

Rimwe dambudziko - kunyangwe izvi zvakanaka nenzira yaro - makwikwi emukati. "Ah, vakomana vatsva vefashoni vauya pano, vanotaura mutauro mutsva." Vanhu, chokwadika, vakasiyana. Kune avo vakajaira kunyora muJava, uye avo vanonyora nekushandisa Docker uye Kubernetes. Ava vanhu vakasiyana zvachose, vanotaura zvakasiyana, vanoshandisa mazwi akasiyana uye dzimwe nguva havanzwisisi. Kugona kana kusakwanisa kugovera maitiro, kugovana ruzivo, mupfungwa iyi idambudziko zvakare.

Zvakanaka, kuwedzera zviwanikwa. β€œZvakanaka, handei! Uye ikozvino tinoda nekukurumidza, zvakanyanya. Chii, iwe haugone? Hazviiti here kuendesa zvakapetwa kaviri pagore? Uye sei?" Marwadzo ekukura akadai angangove akajairwa pazvinhu zvakawanda, nzira dzakawanda, uye unogona kuzvinzwa.

About monitoring. Zvinoita kwandiri sekuti masevhisi kana maindasitiri ekutarisa maturusi ave kutodzidza kana kukwanisa kushanda neDocker uye Kubernetes mune imwe nzira, isiri-yakajairwa. Saka kuti, semuenzaniso, haupedze ne500 Java michina pasi iyo zvese izvi zviri kushanda, zvinoti, inounganidza. Asi zvigadzirwa izvi zvichiri kushaya kukura; ivo vanofanirwa kupfuura neizvi. Musoro wacho ndewechokwadi, ucharamba uchikura.

Dmitriy:

Hongu, zvinonakidza zvikuru. Uye izvi zvinoshanda kune HR. Zvichida maitiro ako eHR uye mhando yeHR zvachinja zvishoma pamakore matatu aya. Wakatanga kutsvaga vamwe vanhu vane hunyanzvi hwakasiyana. Uye zvichida pane zvose zvakanakira nezvazvakaipira. Pakutanga, blockchain uye sainzi yedata yaive hype, uye nyanzvi mazviri dzaive dzakakosha mamirioni. Iye zvino mutengo uri kudonha, musika uri kuzara, uye kune maitiro akafanana mune microservices.

Sergey:

Hongu, zvachose.

Alexander:

HR anobvunza mubvunzo: "Pink unicorn yako iripi pakati pekumashure nemberi?" HR haanzwisise kuti microservice chii. Takavaudza chakavanzika ndokuvaudza kuti backend yakaita zvese, uye hapana unicorn. Asi HR iri kuchinja, kudzidza nekukurumidza uye kutora vanhu vane ruzivo rwekutanga IT.

Iko kushanduka kwe microservices

Dmitriy:

Kana iwe ukatarisa kune yakanangwa dhizaini, microservices inotaridzika sechikara chakadaro. Rwendo rwako rwakatora makore akati kuti. Vamwe vane gore, vamwe makore matatu. Wakamboona here matambudziko ese, chinangwa chekuvaka, pane chachinja? Semuenzaniso, mune iyo microservices, magedhi uye masevhisi meshes ave kuoneka zvakare. Wakambovashandisa pakutanga here kana kuti wakachinja mavakirwo acho pachawo? Une matambudziko akadaro here?

Sergey:

Takatonyora patsva akati wandei maprotocol. Pakutanga pakanga pane imwe protocol, zvino takachinja kune imwe. Isu tinowedzera kuchengeteka uye kuvimbika. Takatanga nemabhizinesi matekinoroji - Oracle, Webhu Logic. Ikozvino tave kuenda kure nezvigadzirwa zvetekinoroji zvebhizinesi mumamicroservices uye kuenda kunovhura sosi kana kuvhurika tekinoroji. Isu tinosiya dhatabhesi uye tinoenda kune izvo zvinoshanda zvakanyanya kwatiri mune iyi modhi. Isu hatichada Oracle tekinoroji.

Isu takatanga sesevhisi, tisingafungi nezvekuti taida cache yakawanda sei, zvataizoita kana pasina kubatana ne microservice, asi data yaidiwa, nezvimwe. Iye zvino tiri kugadzira chikuva kuitira kuti zvivakwa zvigone kutsanangurwa. kwete mumutauro webasa, uye mumutauro webhizimisi, tora pfungwa dzebhizimisi kune imwe nhanho apo patinotanga kutaura nemashoko. Iye zvino tadzidza kutaura nemabhii, uye nhanho inotevera ndipo apo masevhisi achaunganidzwa mune imwe mhando yeaggregate, kana iri ratova izwi - semuenzaniso, kadhi rese rechigadzirwa. Iyo yakaunganidzwa kubva ku microservices, asi iyo API yakavakirwa pamusoro peiyi.

Kuchengetedza kwakakosha zvikuru. Paunongotanga kuwanikwa uye uine sevhisi iyo iwe unogona kuwana zvinhu zvakawanda zvinonakidza, uye nekukurumidza, muchikamu chechipiri, ipapo pane chishuwo chekuchiwana nenzira isiri yakachengeteka. Kuti tibve pane izvi, taifanira kushandura nzira dzekuyedza nekutarisa. Taifanira kushandura timu, dhizaini manejimendi chimiro, CI/CD.

Uku ndiko kushanduka - senge nemafoni, nekukurumidza zvakanyanya: kutanga kwaive nemafoni e-push-bhatani, ipapo mafoni akaonekwa. Vakanyora patsva nekugadzirazve chigadzirwa nekuti musika waive nechido chakasiyana. Aya ndiwo magadzirirwo atinoita: giredhi rekutanga, giredhi regumi, shanda.

Iteratively, chimwe chinhu chakaiswa pagore kubva pakuona kwehunyanzvi, chimwe chinhu kubva pakuona kwekumashure uye zvinodiwa. Isu tinobatanidza chimwe chinhu kune chimwe. Chikwata chinoshandisa 20% pachikwereti chehunyanzvi uye rutsigiro rwehunyanzvi kuchikwata, 80% pane bhizinesi rebhizinesi. Uye isu tinofamba nekunzwisisa kuti sei tiri kuzviita, nei tiri kuita izvi kuvandudza tekinoroji, izvo zvavachatungamira. Saizvozvo.

Dmitriy:

Kutonhora. Chii chiri muMegaFon?

Alexander:

Dambudziko guru patakasvika kumamicroservices kwaive kusawira mumhirizhonga. Ihofisi yekuvaka yeMegaFon yakabva yabatana nesu, yakatozova muvambi uye mutyairi - iye zvino tine chivakwa chakasimba kwazvo. Basa rake raive rekunzwisisa kuti ndeipi modhi yatiri kuenda uye ndeapi matekinoroji anofanirwa kuongororwa. Nezvivakwa, takaitisa vatyairi vendege ava isu pachedu.

Mubvunzo unotevera waive: "Saka kushandisa zvese izvi?" Uye imwezve: "Sei yekuve nechokwadi chekudyidzana kwakajeka pakati pe microservices?" Service mesh yakatibatsira kupindura mubvunzo wekupedzisira. Takaedza Istio uye takafarira mhedzisiro. Iye zvino tave pachinhanho chekupinda munzvimbo dzinogadzira. Isu tine mafungiro akanaka kune ese matambudziko - chokwadi chekuti isu tinofanirwa kugara tichichinja stack, kudzidza chimwe chinhu chitsva. Isu tinofarira kugadzira, kwete kushandisa zvigadziriso zvekare.

Dmitriy:

Mashoko egoridhe! Matambudziko akadaro anochengeta timu nebhizinesi pazvigunwe zvavo uye kugadzira ramangwana. GDPR yakagadzira maofficial ekudzivirira data, uye matambudziko aripo anogadzira ma microservices makuru nevakuru vezvivakwa. Uye zvinofadza.

Takakurukura zvakawanda. Chinhu chikuru ndechekuti dhizaini yakanaka yemicroservices uye chivakwa pachacho chinokubvumira kuti udzivise zvikanganiso zvakawanda. Hongu, maitiro acho anodzokororwa uye anoshanduka-shanduka, asi inguva yemberi.

Kutenda kune vese vatori vechikamu, nekuda kwaSergei naAlexander!

Mibvunzo inobva kuvateereri

Mubvunzo wevateereri (1):

Sergey, IT management yakachinja sei mukambani yako? Ini ndinonzwisisa kuti kana paine hombe yemasisitimu akati wandei, mafambisirwo ayo inonyatsojeka uye ine musoro maitiro. Wakavaka sei zvakare manejimendi echikamu cheIT mushure mehuwandu hukuru hwema microservices akabatanidzwa munguva pfupi yakadai?

Sergey:

Ndinobvumirana nemumwe wangu kuti zvivakwa zvakakosha semutyairi wekuchinja. Takatanga nekuva nechikamu chekuvaka. Architects vari panguva imwe chete varidzi vekugovera kwekushanda uye zvinodikanwa zvekuti ichaonekwa sei munzvimbo. Saka vanoitawo sevarongi veshanduko idzi. Nekuda kweizvozvo, pakanga paine shanduko chaiyo kune chaiyo yekuendesa maitiro patakagadzira CI/CD chikuva.

Asi chiyero, misimboti yekusimudzira, kuongororwa kwebhizinesi, kuyedzwa uye kusimudzira hazvina kubviswa. Takangowedzera speed. Pakutanga, kutenderera kwakatora zvakanyanya, kuisirwa munzvimbo dzekuyedza kwakatora zvakanyanya. Iye zvino bhizinesi rinoona kubatsira uye rinoti: "Nei isu tisingakwanisi kuita zvimwe chete mune dzimwe nzvimbo?"

Zvakafanana, nenzira yakanaka, jekiseni muchimiro chejekiseni yakaratidza: unogona kuzviita nenzira iyi, asi iwe unogona kuzviita neimwe nzira. Zvechokwadi, pane dambudziko muvashandi, mukukwanisa, muzivo, mukupikisa.

Mubvunzo wevateereri (2):

Vatsoropodzi ve microservice architecture vanoti kuyedzwa nekusimudzira kwakaoma. Izvi zvine musoro panonetsa zvinhu. Ndeapi matambudziko akasangana nechikwata chako uye wakaakunda sei? Mubvunzo kune wese.

Alexander:

Pane zvinonetsa kana uchifamba kubva kumamicroservice uchienda kuchikuva, asi zvinogona kugadziriswa.

Semuenzaniso, tiri kugadzira chigadzirwa chine 5-7 microservices. Isu tinofanirwa kupa bvunzo dzekubatanidza mukati meiyo yese microservices stack kuti ipe girinhi mwenje kuti uende kune master bazi. Iri basa rakanga risiri idzva kwatiri: takanga tichiita izvi kwenguva yakareba paBSS, apo mutengesi akatipa mhinduro dzakatotumirwa.

Uye dambudziko redu riri muchikwata chidiki chete. Imwe QA injinjini inodiwa kune chimwe chigadzirwa chine mamiriro. Uye saka, tinotumira chigadzirwa che 5-7 microservices, iyo 2-3 inogona kugadzirwa nevechitatu mapato. Semuenzaniso, isu tine chigadzirwa mukuvandudza icho mutengesi wedu wekubhadhara system, Mail.ru Group neMegaFon R&D vanotora chikamu. Isu tinofanirwa kuvhara izvi nemiedzo tisati taendesa kune kugadzira. Injiniya yeQA yave ichishanda pachigadzirwa ichi kwemwedzi nehafu, uye vamwe vose veboka vanosara vasina rubatsiro rwake.

Kuoma uku kunokonzerwa chete nekuyera. Isu tinonzwisisa kuti mamicroservices haagone kuve muvacuum; zvachose kuzviparadzanisa nevamwe hakuna. Kana tichichinja sevhisi imwe, tinogara tichiedza kuchengetedza kondirakiti yeAPI. Kana chimwe chinhu chichichinja pasi pehodhi, sevhisi yepamberi inoramba iripo. Kana shanduko dzichiuraya, imwe mhando yeshanduko yekuvaka inoitika uye isu tinotamira kune yakasarudzika data metamodel, iyo isingaenderane zvachose - chete ipapo ndipo patinotaura nezve v2 sevhisi API yakatarwa inooneka. Isu tinotsigira yekutanga uye yechipiri shanduro panguva imwe chete, uye mushure mekunge vatengi vese vachinja kune yechipiri vhezheni, isu tinongovhara yekutanga.

Sergey:

Ndinoda kuwedzera. Ini ndinobvumirana zvachose nezve matambudziko - anoitika. Mamiriro acho ari kuwedzera kuoma, uye mutengo wepamusoro uri kuwedzera, kunyanya wekuyedza. Maitiro ekuita neizvi: chinja kune otomatiki kuyedzwa. Ehe, iwe uchafanirwa kuisa mari yekuwedzera mukunyora autotests uye unit bvunzo. Saka kuti vagadziri vaisakwanisa kuzvipira vasina kupasa bvunzo, havagone kuchinja kodhi. Zvekuti kunyangwe bhatani rekusundidzira harishande pasina autotest, unit test.

Zvakakosha kuchengetedza kushanda kwekare, uye izvi zvinowedzera pamusoro. Kana iwe ukanyora zvakare tekinoroji kune imwe protocol, wozoinyorazve kusvikira wavhara zvese zvachose.

Isu dzimwe nguva hatiite yekupedzisira-ku-kuguma bvunzo nemaune, nekuti isu hatidi kumisa budiriro, kunyangwe isu tine chinhu chimwe mushure mechimwe. Nzvimbo yacho yakakura kwazvo, yakaoma, kune akawanda masisitimu. Dzimwe nguva angori ma stubs - hongu, iwe unodzikisa muganho wekuchengetedza, njodzi dzakawanda dzinoonekwa. Asi panguva imwechete iwe unosunungura kupa.

Alexander:

Ehe, autotests uye bvunzo dzeyuniti dzinokutendera iwe kugadzira yemhando yepamusoro sevhisi. Isu tiri vepombi isingagone kupfuudzwa pasina yuniti uye yekubatanidza bvunzo. Isu kazhinji tinofanirwa kudhonza emulators uye masystem ekutengesa munzvimbo dzekuyedza uye nharaunda dzekusimudzira, nekuti haasi ese masisitimu anogona kuiswa munzvimbo dzekuyedza. Zvakare, ivo havangonyorova - isu tinoburitsa yakazara-yakazara mhinduro kubva kuhurongwa. Ichi chikamu chakakomba chekushanda nemamicroservices, uye isu tiri kuisawo mari mazviri. Pasina izvi, mhirizhonga ichaitika.

Mubvunzo wevateereri (3):

Sekunzwisisa kwandinoita, mamicroservices akatanga kukura kubva kuchikwata chakasiyana uye avepo mune iyi modhi. Ndezvipi zvayakanakira nezvayakaipira?

Isu tine nyaya yakafanana: rudzi rwe microservices fekitori yakasimuka. Ikozvino tasvika padanho rekuti tave kuwedzera nzira iyi yekugadzira mhiri kwehova uye nemasisitimu ese. Mune mamwe mazwi, isu tiri kuenda kure nekusimudzira kwepakati kwe microservices, microservice modhi, uye tiri kuswedera kune masisitimu.

Saizvozvo, mashandiro edu anoendawo kune masisitimu, ndiko kuti, isu tiri kuendesa nyaya iyi. Ndeipi nzira yako uye ndeipi nyaya yako yaunovavarira?

Alexander:

Wakadonhedza zita rekuti "microservices fekitori" kubva mumuromo mako - isu tinodawo kuyera. Chekutanga, isu tine timu imwe chete ikozvino. Tinoda kupa zvikwata zvese zvebudiriro izvo MegaFon ine mukana wekushanda mune yakajairika ecosystem. Hatidi kunyatsotora zvese zvebudiriro zvatinazvo izvozvi. Basa renzvimbo nderekuyera, basa repasi rose nderekutungamira budiriro kune zvikwata zvese mu microservice layer.

Sergey:

Ndichakuudza nzira yatakatora. Takatanga chaizvo kushanda sechikwata chimwe, asi iye zvino hatisi toga. Ini ndiri mutsigiri wezvinotevera: panofanira kunge paine muridzi wehurongwa. Mumwe munhu anofanirwa kunzwisisa, kubata, kutonga uye kuvaka iyo microservices yekuvandudza maitiro. Anofanira kuva nehupfumi uye kuita basa rekugadzirisa zviwanikwa.

Izvi zviwanikwa, vanoziva matekinoroji, zvakanangana uye vanonzwisisa maitiro ekuvaka mamicroservices, anogona kuwanikwa muzvikwata zvechigadzirwa. Isu tine musanganiswa apo vanhu vanobva kumicroservice papuratifomu vari muchikwata chechigadzirwa chinoita iyo mobile application. Ivo varipo, asi vanoshanda zvinoenderana nemaitiro eiyo microservice platform management department nemaneja wavo webudiriro. Mukati mechikamu ichi pane timu yakaparadzana inobata nehunyanzvi. Ndiko kuti, tinosanganisa dziva rakafanana rezviwanikwa pakati pedu tozvipatsanura, tichizvipa kuzvikwata.

Panguva imwecheteyo, iyo nzira inoramba iri yakajairika, inodzorwa, inoenderera maererano neyakajairwa tekinoroji nheyo, neyuniti yekuyedza uye zvichingodaro - zvese zvakavakwa pamusoro. Panogona kunge paine makoramu muchimiro chezviwanikwa zvakaunganidzwa kubva kune akasiyana madhipatimendi echigadzirwa maitiro.

Alexander:

Sergey, iwe uri muridzi weiyo nzira, handiti? Basa rakasaririra rinogovaniswa here? Ndiani ane mutoro wokugovewa kwayo?

Sergey:

Tarisa: heino musanganiswa zvakare. Pane kusarira shure kunoumbwa zvichienderana nekuvandudzwa kwetekinoroji - iyi inyaya imwe chete. Iko kune backlog, iyo inogadzirwa kubva kumapurojekiti, uye kune kuseri kubva kune zvigadzirwa. Asi kutevedzana kwekusuma mune chimwe nechimwe chezvigadzirwa zvebasa kana kugadzirwa kwesevhisi iyi inogadzirwa nenyanzvi yechigadzirwa. Haasi muIT director; akabviswa zvakanyanya kubva mairi. Asi vanhu vangu vanoshanda zvinoenderana nenzira imwecheteyo.

Muridzi webacklog munzira dzakasiyana - iyo backlog yekuchinja - ichave vanhu vakasiyana. Kubatana kwemasevhisi etekinoroji, nheyo yavo yekuronga - zvese izvi zvichave muIT. Ini ndini ndiri papuratifomu uye zviwanikwa futi. Kumusoro ndiko kune zvine chekuita nekumashure uye shanduko inoshanda, uye dhizaini mupfungwa iyi.

Ngatitii bhizinesi rinoti: "Tinoda basa iri, tinoda kugadzira chigadzirwa chitsva - gadzirisa chikwereti." Tinopindura kuti: β€œEhe, tichazviitazve.” Vagadziri vezvivakwa vanoti: "Ngatifungei: muchikwereti tichanyora kupi microservices uye tichazviita sei?" Zvadaro tinozvityora kuita mapurojekiti, zvigadzirwa kana tekinoroji stack, toiisa muzvikwata uye toishandisa. Wakagadzira chigadzirwa mukati uye wafunga kushandisa microservices muchigadzirwa ichi? Isu tinoti: "Iye zvino masisitimu enhaka ataive nawo, kana masisitimu emberi, anofanira kuchinjira kune aya mamicroservices." Vagadziri vanoti: "Saka: mune tekinoroji yekumashure mukati mezvigadzirwa zvemberi - shanduko kuenda kumamicroservices. Endai". Uye nyanzvi dzezvigadzirwa kana varidzi vebhizinesi vanonzwisisa kuti ingani huwandu hwakagoverwa, kuti ichaitwa riini uye nei.

Kupera kwehurukuro, asi kwete yose

Musangano wemailto:CLOUD wakarongwa Mail.ru Cloud Solutions.

Isu tinoitawo zvimwe zviitiko - semuenzaniso. @Kubernetes Meetup, kwatinogara tichitsvaga vatauri vakanaka:

Source: www.habr.com

Voeg