Kuchokera ku monoliths kupita ku microservices: zomwe zinachitikira M.Video-Eldorado ndi MegaFon

Kuchokera ku monoliths kupita ku microservices: zomwe zinachitikira M.Video-Eldorado ndi MegaFon

Pa Epulo 25, ife ku Mail.ru Gulu tidachita msonkhano wokhudza mitambo ndi kuzungulira - mailto:CLOUD. Zowoneka bwino zingapo:

  • Chachikulu Othandizira aku Russia - Mail.ru Cloud Solutions, #CloudMTS, SberCloud, Selectel, Rostelecom Data Center ndi Yandex.Cloud analankhula za zenizeni za msika wathu wamtambo ndi ntchito zawo;
  • Anzake ochokera ku Bitrix24 adanenanso momwe amachitira adafika ku multicloud;
  • Leroy Merlin, Otkritie, Burger King ndi Schneider Electric anapereka chidwi mawonekedwe kuchokera kwa ogula mtambo - ndi ntchito zotani zomwe bizinesi yawo imayika pa IT ndi matekinoloje otani, kuphatikiza amtambo, amawona kuti ndizolimbikitsa kwambiri.

Mutha kuwonera makanema onse kuchokera ku mailto:CLOUD conference kugwirizana, ndipo apa mutha kuwerenga momwe zokambirana za microservices zidayendera. Alexander Deulin, mkulu wa bungwe la kafukufuku ndi chitukuko cha MegaFon business systems, ndi Sergey Sergeev, mkulu wa luso lamakono la gulu la M.Video-Eldorado, adagawana nawo milandu yawo yopambana yochotsa monoliths. Tidakambirananso nkhani zokhudzana ndi njira za IT, njira komanso HR.

Olemba gulu

  • SERGEY Sergeev, Gulu CIO "M.Video-Eldorado";
  • Alexander Deulin, mkulu wa likulu la kafukufuku ndi chitukuko cha machitidwe abizinesi MegaFon;
  • Woyang'anira - Dmitry Lazarenko, Mtsogoleri wa PaaS malangizo Mail.ru Cloud Solutions.

Pambuyo pa mawu a Alexander Deulin "Momwe MegaFon ikukulitsira bizinesi yake kudzera pa nsanja ya microservice" akuphatikizidwa kuti akambirane ndi Sergey Sergeev kuchokera ku M.Video-Eldorado ndi wotsogolera zokambirana Dmitry Lazarenko, Mail.ru Cloud Solutions.

Pansipa takonzerani zolembedwa za zokambiranazo, koma mutha kuwonanso kanema:

Kusintha kwa ma microservices ndikuyankha pazosowa zamsika

Dmitriy:

Kodi mwachita bwino posamukira ku microservices? Ndipo zambiri: mumawona kuti phindu lalikulu la bizinesi pogwiritsa ntchito ma microservices kapena kuchoka ku monoliths kupita ku microservices?

Sergey:

Tabwera kale njira yosinthira kupita ku ma microservices ndipo takhala tikugwiritsa ntchito njirayi kwazaka zopitilira zitatu. Chofunikira choyamba chomwe chinalungamitsa kufunikira kwa ma microservices chinali kuphatikiza kosatha kwa zinthu zosiyanasiyana zakutsogolo ndi ofesi yakumbuyo. Ndipo nthawi iliyonse tinkakakamizika kuchita zowonjezera zowonjezera ndi chitukuko, kukhazikitsa malamulo athu ogwiritsira ntchito izi kapena ntchitoyo.

Panthawi ina, tinazindikira kuti tifunika kufulumizitsa ntchito ya machitidwe athu ndi zotsatira za ntchito. Panthawiyo, malingaliro monga ma microservices ndi njira ya microservice analipo kale pamsika, ndipo tinaganiza zoyesera. Izi zidayamba mu 2016. Kenako nsanja idayikidwa ndipo mautumiki 10 oyamba adakhazikitsidwa ndi gulu losiyana.

Imodzi mwa ntchito zoyamba, zodzaza kwambiri, inali ntchito yowerengera mitengo. Nthawi iliyonse mukabwera ku njira iliyonse, ku gulu la makampani a M.Video-Eldorado, kaya webusaiti kapena sitolo yogulitsa malonda, sankhani mankhwala kumeneko, onani mtengo pa webusaitiyi kapena mu "Basket", mtengo umangokhala wokha. owerengedwa ndi utumiki umodzi. Chifukwa chiyani izi ndizofunikira: izi zisanachitike, dongosolo lililonse linali ndi mfundo zake zogwirira ntchito ndi zotsatsa - ndi kuchotsera ndi zina zotero. Ofesi yathu yakumbuyo imayang'anira mitengo; magwiridwe antchito amakhazikitsidwa mudongosolo lina. Izi zimayenera kukhala zapakati komanso ntchito yapadera, yolekanitsidwa yomwe idapangidwa mwanjira yabizinesi yomwe ingatilole kuchita izi. Ndimo momwe tinayambira.

Mtengo wa zotsatira zoyamba unali waukulu kwambiri. Choyamba, tinatha kupanga mabungwe olekanitsidwa omwe amatilola kuti tizigwira ntchito padera komanso mophatikizana. Chachiwiri, tachepetsa mtengo wa umwini pophatikizana ndi machitidwe ambiri.

Pazaka zitatu zapitazi, tawonjezera njira zitatu zakutsogolo. Zinali zovuta kuwasamalira ndi kuchuluka kwazinthu zomwe kampaniyo ikanakwanitsa. Chifukwa chake, ntchitoyi idawuka kuti iyang'ane malo ogulitsira atsopano, kuyankha pamsika mwachangu, malinga ndi ndalama zamkati komanso magwiridwe antchito.

Momwe mungayesere kupambana kwakusamuka kupita ku ma microservices

Dmitriy:

Kodi kupambana pakusamukira ku ma microservices kumatsimikiziridwa bwanji? Kodi "kale" mu kampani iliyonse inali chiyani? Kodi ndi metric yotani yomwe mudagwiritsa ntchito kuti mudziwe kupambana kwa kusinthaku, ndipo ndani adatsimikiza?

Sergey:

Choyamba, idabadwa mkati mwa IT ngati chothandizira - "kutsegula" maluso atsopano. Tinkafunika kuchita chilichonse mwachangu ndi ndalama zomwezo, poyankha zovuta zamsika. Tsopano kupambana kumawonetsedwa mu kuchuluka kwa mautumiki omwe amagwiritsidwanso ntchito ndi machitidwe osiyanasiyana, kugwirizana kwa njira pakati pawo. Tsopano ndi choncho, koma panthawiyo unali mwayi wopanga nsanja ndikutsimikizira kuti titha kuchita izi, zidzapereka zotsatira ndikuwerengera nkhani ya bizinesi.

Alexander:

Kupambana ndi kumverera kwamkati. Bizinesi nthawi zonse imafuna zochulukira, ndipo kuzama kwa zotsalira zathu ndi umboni wakuchita bwino. Zikuwoneka choncho kwa ine.

Sergey:

Inde, ndikuvomereza. M'zaka zitatu, tili kale ndi mautumiki oposa mazana awiri ndi zotsalira. Kufunika kwazinthu mkati mwa gulu kukukulirakulira - ndi 30% pachaka. Izi zikuchitika chifukwa anthu amamva: zimathamanga, ndizosiyana, pali matekinoloje osiyanasiyana, zonsezi zikukula.

Ma Microservices adzabwera, koma maziko adzakhalabe

Dmitriy:

Zili ngati njira yosatha pomwe mumayika ndalama pachitukuko. Kodi kusintha kwa ma microservices abizinesi kwatha kale kapena ayi?

Sergey:

Ndi zophweka kuyankha. Mukuganiza bwanji: kusintha mafoni ndi njira yosatha? Ife tokha timagula mafoni chaka chilichonse. Ndipo apa ndi izi: bola ngati pakufunika kuthamanga, kuti muzolowera msika, kusintha kwina kudzafunika. Izi sizikutanthauza kuti timasiya zinthu zoyenera.

Koma sitingathe kuphimba ndi kukonzanso zonse mwakamodzi. Tili ndi cholowa, ntchito zophatikizira zomwe zidalipo kale: mabasi amabizinesi ndi zina zotero. Koma pali zotsalira, ndipo palinso chosowa. Chiwerengero cha mafoni a m'manja ndi ntchito zawo zikukula. Panthawi imodzimodziyo, palibe amene akunena kuti mudzapatsidwa 30% ndalama zambiri. Ndiko kuti, nthawi zonse pamakhala zosowa kumbali imodzi, ndi kufunafuna kogwira mtima kwina.

Dmitriy:

Moyo uli bwino. (Kuseka)

Alexander:

Mwambiri, inde. Tilibe njira zosinthira zochotsera gawo lapakati pa malo. Ntchito mwadongosolo ikuchitika kuti awononge machitidwe kuti azigwirizana kwambiri ndi zomangamanga za microservice, kuti achepetse chikoka cha machitidwe pa wina ndi mzake.

Koma tikukonzekera kusunga gawo lalikulu, chifukwa m'malo ogwiritsira ntchito nthawi zonse padzakhala nsanja zomwe timagula. Apanso, tifunika kusamala bwino: tisathamangire kudula pakati. Timayika machitidwe mbali ndi mbali, ndipo tsopano zikuwoneka kuti tili kale pamwamba pa zigawo zambiri zapakati. Kuphatikiza apo, kupanga magwiridwe antchito, timapanga zoyimira zofunikira pamayendedwe onse omwe amagwira ntchito ndi mautumiki athu olumikizirana.

Momwe mungagulitsire ma microservices kumabizinesi

Dmitriy:

Ndilinso ndi chidwi - kwa iwo omwe sanasinthe, koma akukonzekera: zinali zophweka bwanji kugulitsa lingaliro ili ku bizinesi ndipo kodi inali ulendo, ntchito yogulitsa ndalama? Kapena inali njira yozindikira: tsopano tikupita ku ma microservices ndipo ndizomwezo, palibe chomwe chingatiletse. Zinali bwanji kwa inu?

Sergey:

Sitinali kugulitsa njira, koma phindu la bizinesi. Panali vuto mubizinesi, ndipo tinayesetsa kulithetsa. Panthawi imeneyo, zinawonetsedwa kuti njira zosiyanasiyana zimagwiritsidwa ntchito powerengera mitengo - padera pazotsatsa, zotsatsa, ndi zina zotero. Zinali zovuta kusamalira, zolakwika zinachitika, ndipo tinamvetsera madandaulo a makasitomala. Ndiko kuti, tinali kugulitsa njira yothetsera vuto, koma tinabwera ndi mfundo yakuti timafunikira ndalama kuti tipange nsanja. Ndipo adawonetsa nkhani yamalonda pogwiritsa ntchito chitsanzo cha gawo loyamba la ndalama: momwe tidzapitirizira kubweza ndi zomwe izi zidzatilola kuchita.

Dmitriy:

Kodi munalemba mwanjira ina nthawi ya gawo loyamba?

Sergey:

Inde, zedi. Tinapereka miyezi 6 kuti tipange maziko ngati nsanja ndikuyesa woyendetsa. Panthawiyi, tinayesetsa kupanga nsanja yoti tizitha kuseweretsapo woyendetsa. Ndiye lingalirolo linatsimikiziridwa, ndipo popeza limagwira ntchito, zikutanthauza kuti tikhoza kupitiriza. Iwo anayamba kubwereza ndi kulimbikitsa gulu - anasamukira ku gawo lina lomwe limachita zomwezo.

Kenako pamabwera ntchito yokhazikika yotengera zosowa zabizinesi, mwayi, kupezeka kwazinthu ndi chilichonse chomwe chikugwira ntchito pano.

Dmitriy:

CHABWINO. Alexander, mukuti chiyani?

Alexander:

Ma microservices athu adabadwa kuchokera ku "thovu la m'nyanja" - chifukwa cha kupulumutsa chuma, chifukwa cha zotsalira zina mwa mawonekedwe a seva komanso kugawanso mphamvu mkati mwa gulu. Poyamba, sitinagulitse ntchitoyi kwa bizinesi. Iyi inali pulojekiti yomwe tonse tidafufuza ndikukulitsa moyenerera. Tidayamba koyambirira kwa 2018 ndipo tidangopanga njira iyi mwachidwi. Malonda angoyamba kumene ndipo tili mkati.

Dmitriy:

Kodi zimachitika kuti bizinesi imakulolani kuchita zinthu ngati Google - tsiku limodzi laulere pa sabata? Kodi muli ndi njira yoteroyo?

Alexander:

Nthawi yomweyo monga kafukufuku, tidakumananso ndi zovuta zamabizinesi, kotero ma microservices athu onse ndi njira zothetsera mavuto abizinesi. Poyambirira tidapanga ma microservices omwe amaphimba gawo laling'ono la olembetsa, ndipo tsopano tilipo pafupifupi pazogulitsa zonse.

Ndipo zotsatira za zinthu zakhala zoonekeratu - tikhoza kuwerengedwa kale, kuthamanga kwa malonda ndi kutayika kwa ndalama kungayesedwe ngati titatsatira njira yakale. Izi ndi zomwe tikumanga mlanduwo.

Microservices: hype kapena kufunikira?

Dmitriy:

Manambala ndi manambala. Ndipo ndalama kapena ndalama zosungidwa ndizofunikira kwambiri. Bwanji ngati muyang'ana mbali inayo? Zikuwoneka kuti ma microservices ndizochitika, hype ndipo makampani ambiri akugwiritsa ntchito molakwika? Kodi mumasiyanitsa bwino bwanji pakati pa zomwe mumachita ndi zomwe simumasulira ku ma microservices? Ngati cholowa tsopano, mudzakhalabe ndi cholowa m'zaka 5? Kodi zaka za machitidwe azidziwitso zomwe zimagwira ntchito ku M.Video-Eldorado ndi MegaFon zaka 5 zidzakhala zotani? Kodi padzakhala machitidwe azidziwitso azaka khumi, zaka khumi ndi zisanu kapena kudzakhala m'badwo watsopano? Mukuona bwanji izi?

Sergey:

Zikuwoneka kwa ine kuti ndizovuta kulingalira kutali kwambiri. Ngati tiyang'ana mmbuyo, ndani ankaganiza kuti msika wamakono ukhoza kukhala motere, kuphatikizapo kuphunzira makina ndi kuzindikiritsa wogwiritsa ntchito ndi nkhope? Koma ngati muyang'ana pazaka zikubwerazi, zikuwoneka kwa ine kuti machitidwe apamwamba, machitidwe a ERP-class mumakampani - akhala akugwira ntchito kwa nthawi yayitali.

Makampani athu onse ali ndi zaka 25, ali ndi ERP yapamwamba kwambiri pamawonekedwe a machitidwe. Zikuwonekeratu kuti tikuchotsamo zidutswa zina ndikuyesera kuziphatikiza kukhala ma microservices, koma maziko ake adzakhalabe. Ndizovuta kwa ine tsopano kuganiza kuti tidzasintha machitidwe onse apakatikati ndikupita ku mbali ina, yowala ya machitidwe atsopano.

Ndine wothandizira kuti chilichonse chomwe chili pafupi ndi kasitomala ndi wogula ndipamene phindu lalikulu la bizinesi ndi mtengo uli, komwe kusinthika ndi kuyang'ana pa liwiro, pa kusintha, pa "kuyesera, kuletsa, kugwiritsanso ntchito, kuchita zosiyana" zofunika "-ndiko komwe malo adzasintha. Ndipo zinthu zopangidwa m'mabokosi sizikwanira mmenemo bwino. Osachepera sitikuziwona. Njira zosavuta komanso zosavuta zimafunikira pamenepo.

Tikuwona kukula uku:

  • machitidwe odziwa zambiri (makamaka ofesi);
  • zigawo zapakatikati mwa mawonekedwe a microservices zimagwirizanitsa pachimake, kuphatikiza, kupanga posungira, ndi zina zotero;
  • machitidwe apatsogolo ndi olunjika kwa ogula;
  • gawo lophatikizana lomwe nthawi zambiri limaphatikizidwa m'misika, machitidwe ena ndi chilengedwe. Chigawochi ndi chopepuka momwe ndingathere, chosavuta, ndipo chimakhala ndi malingaliro ochepa abizinesi.

Koma panthawi imodzimodziyo, ndine wothandizira kupitiriza kugwiritsa ntchito mfundo zakale ngati zikugwiritsidwa ntchito moyenera.

Tiyerekeze kuti muli ndi mabizinesi apamwamba kwambiri. Ili pamtunda wa wogulitsa m'modzi ndipo imakhala ndi ma module awiri omwe amagwira ntchito limodzi. Palinso mawonekedwe ophatikizana okhazikika. Chifukwa chiyani mukuyambiranso ndikubweretsa microservice kumeneko?

Koma pakakhala ma modules 5 ku ofesi yakumbuyo, zomwe zidziwitso zimasonkhanitsidwa ku bizinesi, zomwe zimagwiritsidwa ntchito ndi machitidwe a kutsogolo kwa 8-10, phindu likuwonekera nthawi yomweyo. Mumatenga kuchokera kumaofesi asanu akumbuyo ndikupanga ntchito, yokhayokha, yomwe imayang'ana kwambiri bizinesi. Pangani ntchitoyo kuti ikhale yotsogola mwaukadaulo - kuti isunge zidziwitso ndikulolera zolakwika, komanso imagwira ntchito ndi zikalata kapena mabungwe amabizinesi. Ndipo mumaziphatikiza molingana ndi mfundo imodzi ndi zinthu zonse zakutsogolo. Iwo adaletsa malonda akutsogolo - adangoyimitsa kuphatikiza. Mawa muyenera kulemba pulogalamu yam'manja kapena kupanga tsamba laling'ono ndikuyika gawo limodzi lokha kuti ligwire ntchito - zonse ndi zophweka: mudasonkhanitsa ngati womanga. Ndikuwona chitukuko chochulukirapo mbali iyi - makamaka m'dziko lathu.

Alexander:

Sergey adalongosola njira yathu, zikomo. Ndingonena kumene sitingapite - ku gawo lofunikira, pamutu wakulipira pa intaneti. Ndiko kuti, kuwerengera ndi kulipiritsa kudzakhalabe, makamaka, "wamkulu" wopunthira yemwe angalembe ndalama modalirika. Ndipo dongosololi lidzapitirizabe kutsimikiziridwa ndi olamulira athu. Zina zonse zomwe zimayang'ana kwa makasitomala, ndithudi, ndi ma microservices.

Dmitriy:

Apa certification ndi nkhani imodzi. Mwinanso thandizo. Ngati mumagwiritsa ntchito ndalama zochepa pa chithandizo kapena dongosolo silikufuna kuthandizidwa ndi kusinthidwa, ndibwino kuti musagwire. Kugwirizana koyenera.

Momwe mungapangire ma microservice odalirika

Dmitriy:

Chabwino. Koma ndimakondabe. Tsopano mukunena nkhani yopambana: zonse zinali bwino, tidasinthiratu ma microservices, kuteteza lingaliro kubizinesiyo, ndipo zonse zidayenda bwino. Koma ndamva nkhani zina.

Zaka zingapo zapitazo, kampani yaku Swiss yomwe idayika zaka ziwiri kuti ipange nsanja yatsopano yamabanki pomaliza idatseka ntchitoyi. Zakomoka kwathunthu. Mamiliyoni ambiri a Swiss francs adagwiritsidwa ntchito, ndipo pamapeto pake gululo lidabalalitsidwa - sizinaphule kanthu.

Kodi mudakhalapo ndi nkhani zofanana? Kodi pali zovuta kapena zovuta? Mwachitsanzo, kusunga ma microservices ndi kuyang'anira kumakhalanso mutu pazochitika za kampani. Kupatula apo, kuchuluka kwa zigawo kumawonjezeka kakhumi. Mukuwona bwanji, pakhala zitsanzo zandalama zomwe sizinachite bwino pano? Nanga mungalangize chiyani anthu kuti asakumane ndi mavuto ngati amenewa?

Alexander:

Zitsanzo zomwe sizinachite bwino zidaphatikizanso mabizinesi kusintha zinthu zofunika kwambiri komanso kuletsa ntchito. Pa nthawi yabwino yokonzekera (kwenikweni, MVP yakonzeka), bizinesiyo inati: "Tili ndi zofunikira zatsopano, tikupita kuntchito ina, ndipo tikutseka iyi."

Sitinakhale ndi zolephera zapadziko lonse lapansi ndi ma microservices. Timagona mwamtendere, tili ndi ntchito ya 24/7 yomwe imathandizira BSS yonse [njira yothandizira bizinesi].

Ndipo chinthu chinanso - timabwereketsa ma microservices molingana ndi malamulo omwe amagwira ntchito pamabokosi. Chinsinsi chakuchita bwino ndikuti muyenera, choyamba, kusonkhanitsa gulu lomwe likonzekere bwino ma microservice kuti apange. Kukula komweko, mokhazikika, ndi 40%. Zina zonse ndi ma analytics, njira ya DevSecOps, kuphatikiza koyenera komanso kamangidwe koyenera. Timamvetsera kwambiri mfundo zomanga mapulogalamu otetezeka. Oimira chitetezo chazidziwitso amatenga nawo gawo mu projekiti iliyonse pagawo lokonzekera zomangamanga komanso panthawi yokhazikitsa. Amayang'aniranso machitidwe owunikira ma code pazowopsa.

Tinene kuti tikutumiza ntchito zathu zopanda malire - tili nazo ku Kubernetes. Izi zimathandiza kuti aliyense azigona mwamtendere chifukwa cha kukweza komanso kukweza mautumiki, ndipo kusintha kwa ntchito kumayambitsa zochitika.

Pakukhalapo konse kwa ma microservices athu, pakhala pali chochitika chimodzi kapena ziwiri zomwe zafika pamzere wathu. Tsopano palibe mavuto ndi ntchito. Ife, ndithudi, tilibe 200, koma pafupifupi 50 microservices, koma amagwiritsidwa ntchito pazinthu zamakono. Ngati akanalephera, ife tikanakhala oyamba kudziwa za izo.

Microservices ndi HR

Sergey:

Ndimagwirizana ndi mnzanga za kusamutsidwa kukathandizira - kuti ntchitoyo iyenera kukonzedwa bwino. Koma ndikuuzani za mavuto omwe, ndithudi, alipo.

Choyamba, teknoloji ndi yatsopano. Uwu ndi hype m'njira yabwino, ndipo kupeza katswiri yemwe angamvetsetse ndikutha kupanga izi ndizovuta kwambiri. Mpikisano wazinthu ndi wopenga, kotero akatswiri ndi ofunika kulemera kwawo mu golidi.

Kachiwiri, pakupangidwa kwa malo ena ndi kuchuluka kwa ntchito, vuto logwiritsanso ntchito liyenera kuthetsedwa nthawi zonse. Monga otukula amakonda kuchita: "Tiyeni tilembe zinthu zambiri zosangalatsa pano tsopano ..." Chifukwa cha izi, dongosololi limakula ndikutaya mphamvu zake ponena za ndalama, mtengo wa umwini, ndi zina zotero. Ndiko kuti, ndikofunikira kuphatikizira kugwiritsiridwa ntchitonso muzomangamanga zamakina, kuphatikizira pamapu amsewu poyambitsa ntchito ndikusamutsa cholowa kumamangidwe atsopano.

Vuto lina - ngakhale izi ndi zabwino mwa njira yake - ndi mpikisano wamkati. "O, anyamata atsopano atulukira pano, amalankhula chinenero chatsopano." Ndithudi, anthu ndi osiyana. Pali omwe amagwiritsidwa ntchito polemba ku Java, ndi omwe amalemba ndikugwiritsa ntchito Docker ndi Kubernetes. Awa ndi anthu osiyana kwambiri, amalankhula mosiyana, amagwiritsa ntchito mawu osiyanasiyana ndipo nthawi zina samamvetsetsana. Kutha kapena kulephera kugawana machitidwe, kugawana chidziwitso, m'lingaliro ili ndi vuto.

Chabwino, makulitsidwe chuma. β€œChabwino, tiyeni! Ndipo tsopano tikufuna mofulumira, zambiri. Bwanji, simungakhoze? Kodi sizingatheke kupereka kawiri pachaka? Ndipo chifukwa chiyani?" Kupweteka kotereku kumakhala koyenera pazinthu zambiri, njira zambiri, ndipo mutha kuzimva.

Zokhudza kuyang'anira. Zikuwoneka kwa ine kuti mautumiki kapena zida zowunikira mafakitale zikuphunzira kale kapena zimatha kugwira ntchito ndi Docker ndi Kubernetes mwanjira ina, yosagwirizana. Kuti, mwachitsanzo, musakhale ndi makina 500 a Java omwe zonsezi zikuyenda, ndiye kuti, zimaphatikizana. Koma zinthuzi zikadalibe kukhwima; ayenera kudutsa izi. Mutuwu ndi watsopano, upitilira kukula.

Dmitriy:

Inde, zosangalatsa kwambiri. Ndipo izi zikugwiranso ntchito kwa HR. Mwina njira yanu ya HR ndi mtundu wa HR zasintha pang'ono pazaka zitatu izi. Munayamba kulemba anthu ena maluso osiyanasiyana. Ndipo mwina pali zabwino ndi zoyipa. M'mbuyomu, blockchain ndi sayansi ya data anali hype, ndipo akatswiri mwa iwo anali ofunika mamiliyoni. Tsopano mtengo ukugwa, msika ukudzaza, ndipo pali chizolowezi chofanana ndi ma microservices.

Sergey:

Inde, mwamtheradi.

Alexander:

HR akufunsa funso: "Kodi unicorn wanu wapinki uli kuti pakati pa kumbuyo ndi kutsogolo?" HR samamvetsetsa kuti microservice ndi chiyani. Tinawauza chinsinsi ndipo tinawauza kuti backend anachita chirichonse, ndipo palibe unicorn. Koma HR ikusintha, kuphunzira mwachangu ndikulemba anthu omwe ali ndi chidziwitso choyambirira cha IT.

Kusintha kwa microservices

Dmitriy:

Mukayang'ana kapangidwe kazomwe mukufuna, ma microservices amawoneka ngati chilombo chotere. Ulendo wanu unatenga zaka zingapo. Ena ali ndi chaka, ena zaka zitatu. Kodi munawoneratu zovuta zonse, zomanga zomwe mukufuna, zidasintha? Mwachitsanzo, pankhani ya ma microservices, zipata ndi ma meshes a ntchito tsopano akuwonekeranso. Kodi mudawagwiritsa ntchito poyambira kapena mudasintha kapangidwe kake? Kodi inunso muli ndi mavuto ngati amenewa?

Sergey:

Talemba kale njira zingapo zoyankhulirana. Poyamba panali protocol imodzi, tsopano tinasinthira ku ina. Timaonjezera chitetezo ndi kudalirika. Tidayamba ndi ukadaulo wamabizinesi - Oracle, Web Logic. Tsopano tikuchoka kuzinthu zamabizinesi aukadaulo mu ma microservices ndikupita ku gwero lotseguka kapena matekinoloje otseguka kwathunthu. Timasiya nkhokwe ndikupita ku zomwe zimagwira ntchito bwino kwa ife mu chitsanzo ichi. Sitikufunanso matekinoloje a Oracle.

Tinayamba monga ntchito, osaganizira momwe timafunikira cache, zomwe tingachite pamene panalibe kugwirizana ndi microservice, koma deta inkafunika, etc. Tsopano tikupanga nsanja kuti zomangamanga zifotokozedwe. osati m'chinenero cha mautumiki, ndipo m'chinenero cha bizinesi, tengani malingaliro a bizinesi ku mlingo wotsatira pamene tiyamba kuyankhula m'mawu. Tsopano taphunzira kulankhula m'malembo, ndipo gawo lotsatira ndi pamene mautumiki adzasonkhanitsidwa mumtundu wina wamagulu, pamene awa ali kale mawu - mwachitsanzo, khadi lonse la mankhwala. Imasonkhanitsidwa kuchokera ku ma microservices, koma ndi API yomangidwa pamwamba pa izi.

Chitetezo ndichofunika kwambiri. Mukangoyamba kupezeka ndipo muli ndi ntchito yomwe mungapeze zinthu zambiri zosangalatsa, ndipo mwamsanga, mugawanika, ndiye kuti pali chikhumbo chochipeza m'njira yosatetezeka kwambiri. Kuti tipewe izi, tidayenera kusintha njira zoyeserera ndi kuyang'anira. Tinayenera kusintha gulu, kasamalidwe kasamalidwe, CI/CD.

Ichi ndi chisinthiko - monga ndi mafoni, mofulumira kwambiri: poyamba panali mafoni-batani, ndiye mafoni anaonekera. Analembanso ndikukonzanso malonda chifukwa msika unali ndi zosowa zosiyana. Umu ndi momwe timasinthira: kalasi yoyamba, giredi khumi, ntchito.

Mobwerezabwereza, chinachake chimayikidwa pa chaka kuchokera pamalingaliro a teknoloji, china chake kuchokera ku malingaliro a backlog ndi zosowa. Timagwirizanitsa chinthu chimodzi ndi chimzake. Gulu limagwiritsa ntchito 20% pa ngongole zaukadaulo ndi thandizo laukadaulo kwa gulu, 80% pabizinesi. Ndipo timasuntha ndikumvetsetsa chifukwa chomwe tikuchitira izi, chifukwa chiyani tikupanga kusintha kwaukadaulo, zomwe zingatsogolere. Monga choncho.

Dmitriy:

Zabwino. Kodi mu MegaFon ndi chiyani?

Alexander:

Chovuta chachikulu titafika ku microservices sichinali kugwa mu chisokonezo. Ofesi ya zomangamanga ya MegaFon nthawi yomweyo inalumikizana nafe, ngakhale inakhala woyambitsa ndi woyendetsa - tsopano tili ndi zomangamanga zolimba kwambiri. Ntchito yake inali kumvetsetsa mtundu womwe tikupita komanso ndi matekinoloje ati omwe akuyenera kuyesedwa. Ndi zomangamanga, tinkayendetsa tokha oyendetsa ndegewa.

Funso lotsatira linali: "Ndiye momwe mungagwiritsire ntchito zonsezi?" Ndipo inanso: "Kodi mungawonetse bwanji kuwonekera pakati pa ma microservices?" Service mesh idatithandiza kuyankha funso lomaliza. Tinayesa Istio ndipo tinakonda zotsatira zake. Tsopano ife tiri pa siteji ya kugubuduza mu madera aphindu. Tili ndi malingaliro abwino pazovuta zonse - kuti tifunika kusintha mosalekeza, kuphunzira china chatsopano. Tikufuna kupanga, osati kugwiritsa ntchito njira zakale.

Dmitriy:

Mawu agolide! Zovuta zoterezi zimasunga gulu ndi bizinesi pazala zawo ndikupanga tsogolo. GDPR idapanga akuluakulu oyang'anira chitetezo cha data, ndipo zovuta zomwe zikuchitika zimapanga ma microservices akulu ndi oyang'anira zomangamanga. Ndipo zimakondweretsa.

Tinakambirana zambiri. Chinthu chachikulu ndi chakuti mapangidwe abwino a microservices ndi zomangamanga zokha zimakulolani kuti mupewe zolakwika zambiri. Inde, ndondomekoyi ndi yobwerezabwereza komanso yosinthika, koma ndi mtsogolo.

Zikomo kwa onse omwe atenga nawo mbali, zikomo kwa Sergei ndi Alexander!

Mafunso ochokera kwa omvera

Funso lochokera kwa omvera (1):

Sergey, kasamalidwe ka IT kasintha bwanji pakampani yanu? Ndikumvetsa kuti pakakhala mulu waukulu wa machitidwe angapo, momwe amayendetsedwera ndi njira yomveka bwino komanso yomveka. Munamanganso bwanji kasamalidwe ka gawo la IT pambuyo poti ma microservice ambiri aphatikizidwa munthawi yochepa chonchi?

Sergey:

Ndimagwirizana ndi mnzanga kuti zomangamanga ndizofunikira kwambiri monga woyendetsa kusintha. Tinayamba ndi kukhala ndi gawo la zomangamanga. Okonza mapulani nthawi imodzi ndi eni ake a kugawa kwa magwiridwe antchito ndi zofunikira za momwe zidzawonekere kumalo. Choncho amachitanso ngati ogwirizanitsa zosinthazi. Zotsatira zake, panali kusintha kwachindunji ku njira yeniyeni yoperekera pamene tinapanga nsanja ya CI / CD.

Koma muyezo, mfundo zoyambira zachitukuko, kusanthula bizinesi, kuyesa ndi chitukuko sizinathe. Tangowonjezera liwiro. M'mbuyomu, kuzungulira kudatenga zochuluka kwambiri, kukhazikitsa pamayesero kumatenga zambiri. Tsopano amalonda akuwona phindu ndipo akuti: "Bwanji sitingathe kuchita zomwezo m'malo ena?"

Zili ngati, mwa njira yabwino, jekeseni mu mawonekedwe a katemera omwe amasonyeza: mukhoza kuchita motere, koma mukhoza kuchita mwanjira ina. Inde, pali vuto mwa ogwira ntchito, muzochita bwino, mu chidziwitso, mu kukana.

Funso lochokera kwa omvera (2):

Otsutsa kamangidwe ka microservice amati kuyesa ndi chitukuko ndizovuta. Izi ndi zomveka pamene zinthu zimakhala zovuta. Ndi zovuta ziti zomwe gulu lanu lidakumana nazo ndipo mudathana nazo bwanji? Funso kwa aliyense.

Alexander:

Pali zovuta mukasuntha kuchoka ku ma microservice kupita ku nsanja, koma zitha kuthetsedwa.

Mwachitsanzo, tikupanga mankhwala omwe ali ndi ma microservices 5-7. Tiyenera kupereka mayeso ophatikizika pa stack yonse ya microservices kuti tipatse kuwala kobiriwira kuti tipite ku master nthambi. Ntchitoyi sinali yachilendo kwa ife: takhala tikuchita izi kwa nthawi yayitali ku BSS, pomwe wogulitsa adatipatsa mayankho omwe adatumizidwa kale.

Ndipo vuto lathu lili mu timu yaing'ono yokha. Katswiri m'modzi wa QA amafunikira pa chinthu chimodzi chokhazikika. Ndipo kotero, timatumiza mankhwala a 5-7 microservices, omwe 2-3 akhoza kupangidwa ndi anthu ena. Mwachitsanzo, tili ndi chinthu chomwe tidapanga kuti tibwezere ndalama, Gulu la Mail.ru ndi MegaFon R&D nawo. Tiyenera kuphimba izi ndi mayeso tisanatumize kuti apange. Katswiri wa QA wakhala akugwira ntchitoyi kwa mwezi umodzi ndi theka, ndipo gulu lonse latsala popanda thandizo lake.

Kuvuta uku kumangobwera chifukwa cha makulitsidwe. Timamvetsetsa kuti ma microservices sangakhalepo mu vacuum; kudzipatula kulibe. Tikasintha ntchito imodzi, nthawi zonse timayesetsa kusunga mgwirizano wa API. Ngati china chake chikusintha pansi pa hood, ntchito yakutsogolo imakhalabe. Ngati zosinthazo ndizowopsa, kusintha kwamtundu wina kumachitika ndipo timapita ku metamodel yosiyana kwambiri, yomwe sigwirizana kwathunthu - ndiye kuti timalankhula za mawonekedwe a v2 a API akuwonekera. Timathandizira matembenuzidwe oyamba ndi achiwiri nthawi imodzi, ndipo ogula onse atasinthira ku mtundu wachiwiri, timangotseka woyamba.

Sergey:

Ndikufuna kuwonjezera. Ndikuvomereza kwathunthu za zovuta - zimachitika. Malo akukhala ovuta kwambiri, ndipo ndalama zowonjezera zikuwonjezeka, makamaka zoyesera. Momwe mungathanirane ndi izi: sinthani ku kuyesa kodzichitira. Inde, muyenera kuyikanso ndalama polemba ma autotests ndi mayeso a unit. Kotero kuti Madivelopa sakanakhoza kuchita popanda kupambana mayeso, iwo sakanakhoza kusintha code. Kotero kuti ngakhale kukankhira batani sikugwira ntchito popanda autotest, unit test.

Ndikofunikira kusunga magwiridwe antchito am'mbuyomu, ndipo izi ndizowonjezera. Ngati mulembanso ukadaulo ku protocol ina, ndiye kuti mumalembanso mpaka mutatseka zonse.

Nthawi zina sitimapanga kuyesa komaliza mwadala, chifukwa sitikufuna kuletsa chitukuko, ngakhale tili ndi chinthu chimodzi pambuyo pa chimzake. Malo ndi aakulu kwambiri, ovuta, pali machitidwe ambiri. Nthawi zina zimangokhala zongopeka - inde, mumatsitsa malire, zoopsa zambiri zimawonekera. Koma nthawi yomweyo mumamasula zoperekera.

Alexander:

Inde, ma autotests ndi mayeso a unit amakulolani kuti mupange ntchito yapamwamba kwambiri. Ndife a payipi yomwe singadutse popanda mayeso a unit ndi kuphatikiza. Nthawi zambiri timafunika kukoka ma emulators ndi machitidwe azamalonda m'malo oyesera ndi malo otukuka, chifukwa sizinthu zonse zomwe zitha kuyikidwa m'malo oyesera. Komanso, sikuti amangonyowa - timatulutsa yankho lathunthu kuchokera kudongosolo. Ili ndi gawo lalikulu logwira ntchito ndi ma microservices, ndipo tikuyikanso ndalama pa izi. Popanda izi, chipwirikiti chidzayamba.

Funso lochokera kwa omvera (3):

Momwe ndikumvera, ma microservices poyambilira adakula kuchokera ku gulu lina ndipo tsopano alipo mu mtundu uwu. Kodi ubwino ndi kuipa kwake ndi chiyani?

Tili ndi nkhani yofananira: fakitale yamtundu wa microservice idawuka. Tsopano tafika poganiza kuti tikukulitsa njira iyi yopanga ndi mitsinje ndi machitidwe. Mwa kuyankhula kwina, tikuchoka ku chitukuko chapakati cha microservices, microservice model, ndipo tikuyandikira machitidwe.

Chifukwa chake, ntchito yathu imapitanso ku machitidwe, ndiye kuti, tikugawa mutuwu. Kodi njira yanu ndi yotani ndipo nkhani yanu ndi yotani?

Alexander:

Mudatsitsa dzina "microservices fakitale" pakamwa panu - tikufunanso kukula. Choyamba, tili ndi gulu limodzi tsopano. Tikufuna kupatsa magulu onse achitukuko omwe MegaFon ili nawo mwayi wogwira ntchito m'malo amodzi. Sitikufuna kutengera kwathunthu ntchito zonse zachitukuko zomwe tili nazo tsopano. Ntchito yakomweko ndikukulitsa, ntchito yapadziko lonse lapansi ndikutsogolera chitukuko kumagulu onse omwe ali mu gawo la microservice.

Sergey:

Ndikuuzani njira yomwe tayenda. Tinayambadi kugwira ntchito ngati gulu limodzi, koma tsopano sitili tokha. Ndine wochirikiza zotsatirazi: payenera kukhala mwiniwake wa ndondomekoyi. Wina ayenera kumvetsetsa, kuyang'anira, kuyang'anira ndi kumanga ndondomeko ya chitukuko cha microservices. Ayenera kukhala ndi chuma ndikuchita nawo kasamalidwe ka zinthu.

Zida izi, omwe amadziwa matekinoloje, zenizeni komanso kumvetsetsa momwe angapangire ma microservices, zitha kupezeka m'magulu azogulitsa. Tili ndi kusakaniza komwe anthu ochokera papulatifomu ya microservice ali mgulu lazinthu zomwe zimapanga mafoni. Alipo, koma amagwira ntchito molingana ndi dipatimenti yoyang'anira nsanja ya microservice ndi manejala wawo wachitukuko. Mkati mwa magawowa pali gulu lina lomwe limagwira ntchito zamakono. Ndiko kuti, timasakaniza gulu limodzi lazinthu pakati pathu ndikuzigawa, kuzipereka kumagulu.

Panthawi imodzimodziyo, ndondomekoyi imakhalabe yowonjezereka, yoyendetsedwa, imapitirira malinga ndi mfundo zamakono zamakono, ndi kuyesa mayunitsi ndi zina zotero - chirichonse chomwe chimamangidwa pamwamba. Pakhoza kukhala mizati mu mawonekedwe a zinthu zosonkhanitsidwa kuchokera m'madipatimenti osiyanasiyana mankhwala njira.

Alexander:

Sergey, ndiwe mwiniwake wa ndondomekoyi, sichoncho? Kodi zotsalira za ntchito zimagawidwa? Ndani ali ndi udindo wogawa?

Sergey:

Yang'anani: apa pali kusakaniza kachiwiri. Pali zotsalira zomwe zimapangidwira kutengera kusintha kwaukadaulo - iyi ndi nkhani imodzi. Pali zotsalira, zomwe zimapangidwa kuchokera ku mapulojekiti, ndipo pali zotsalira kuchokera kuzinthu. Koma kutsatizana kwa zoyambira muzinthu zilizonse zautumiki kapena kupangidwa kwa ntchitoyi kumapangidwa ndi katswiri wazogulitsa. Sali mu IT directorate; adachotsedwa mwapadera momwemo. Koma anthu anga ndithu ntchito motsatira ndondomeko yomweyo.

Mwiniwake wa backlog mbali zosiyanasiyana - backlog wa kusintha - adzakhala anthu osiyana. Kugwirizana kwa ntchito zamakono, ndondomeko yawo yokonzekera - zonsezi zidzakhala mu IT. Ndili ndi nsanja komanso zothandizira. Pamwambapa ndi zomwe zimakhudza zotsalira ndi kusintha kwa magwiridwe antchito, ndi zomangamanga mwanjira iyi.

Tinene kuti bizinesi imati: "Tikufuna ntchitoyi, tikufuna kupanga chinthu chatsopano - bweretsaninso ngongole." Timayankha kuti: β€œInde, tidzachitanso.” Okonza mapulani amati: "Tiyeni tiganizire: pa ngongole tidzalemba kuti ma microservices ndipo tidzachita bwanji?" Kenako timaziphwanya kukhala mapulojekiti, zinthu kapena ukadaulo, kuziyika m'magulu ndikuzigwiritsa ntchito. Kodi mudapanga chinthu mkati mwanu ndipo mwaganiza zogwiritsa ntchito ma microservices muzinthuzi? Timati: "Tsopano machitidwe omwe tinali nawo, kapena makina apatsogolo, ayenera kusinthana ndi ma microservices awa." Omangawo akuti: "Chifukwa chake: muzotsalira zaukadaulo mkati mwazogulitsa zam'tsogolo - kusintha kwa ma microservices. Pitani". Ndipo akatswiri azinthu kapena eni mabizinesi amamvetsetsa kuchuluka kwa mphamvu zomwe zaperekedwa, liti zidzachitike komanso chifukwa chiyani.

Kutha kwa zokambirana, koma osati zonse

Msonkhano wa mailto:CLOUD unakonzedwa Mail.ru Cloud Solutions.

Timachitanso zochitika zina - mwachitsanzo. @Kubernetes Meetup, komwe timakhala tikuyang'ana okamba bwino:

  • Tsatirani @Kubernetes ndi nkhani zina za @Meetup munjira yathu ya Telegraph t.me/k8s_mail
  • Kodi mungakonde kuyankhula pa imodzi mwa @Meetups? Siyani pempho mcs.mail.ru/speak

Source: www.habr.com

Kuwonjezera ndemanga