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;
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;
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.
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?
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.
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.
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.
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.
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.