Microservices - kuphulika kophatikizana kwamabaibulo

Moni, Habr! Ndikupereka chidwi chanu kumasulira kwa wolemba nkhaniyo Microservices - Combinatorial Explosion of Versions.
Microservices - kuphulika kophatikizana kwamabaibulo
Panthawi yomwe dziko la IT likuyenda pang'onopang'ono kupita ku ma microservices ndi zida monga Kubernetes, vuto limodzi lokha lomwe likuwonekera kwambiri. Vuto ili - kuphulika kophatikizana mitundu ya microservice. Komabe, gulu la IT likukhulupirira kuti zomwe zikuchitika pano ndizabwinoko kuposa "Dependency gehena" m'badwo wakale waukadaulo. Komabe, kumasulira ma microservices ndizovuta kwambiri. Umboni umodzi wa izi ukhoza kukhala nkhani ngati "Ndibwezere monolith wanga".

Ngati simukumvetsetsabe vuto powerenga lemba ili, ndiroleni ndikufotokozereni. Tinene kuti malonda anu ali ndi ma microservices 10. Tsopano tiyeni tiyerekeze kuti mtundu umodzi watsopano umatulutsidwa pa chilichonse mwama microservices awa. Mtundu umodzi wokha - ndikhulupilira kuti tonse titha kuvomereza kuti ichi ndi chowonadi chaching'ono komanso chopanda tanthauzo. Tsopano, komabe, tiyeni tionenso za mankhwala athu. Ndi mtundu umodzi watsopano wa gawo lililonse, tsopano tili ndi 1 ^ 1 - kapena 2 zololeza momwe tingapangire malonda athu.

Ngati pali kusamvana kulikonse, ndiroleni ndifotokoze masamu. Chifukwa chake tili ndi ma microservices 10, iliyonse ikulandira chosintha chimodzi. Ndiye kuti, timapeza mitundu iwiri yotheka ya microservice iliyonse (kaya yakale kapena yatsopano). Tsopano, pa gawo lililonse lazogulitsa, titha kugwiritsa ntchito imodzi mwa mitundu iwiriyi. Mwamasamu, ndizofanana ngati tili ndi nambala ya binary ya manambala 2. Mwachitsanzo, tinene kuti 10 ndiye mtundu watsopano, ndipo 1 ndiye mtundu wakale - ndiye kuti chilolezo chimodzi chitha kufotokozedwa ngati 0 - pomwe zida za 1001000000 ndi 1 zimasinthidwa, ndipo zina zonse sizili. Kuchokera ku masamu timadziwa kuti nambala ya binary ya 4 imatha kukhala ndi 10^2 kapena 10. Ndiko kuti, tatsimikizira kukula kwa chiwerengero chomwe tikuchita.

Tiyeni tipitilize kulingalira kwathu - chingachitike ndi chiyani ngati tili ndi ma microservices 100 ndipo iliyonse ili ndi mitundu 10 yotheka? Zinthu zonse zimakhala zosasangalatsa - tsopano tili ndi 10 ^ 100 zololeza - zomwe ndi chiwerengero chachikulu. Komabe, ndimakonda kutchula izi motere, chifukwa tsopano sitikubisala kumbuyo kwa mawu ngati "kubernetes", koma tikukumana ndi vutoli momwe liriri.

N’chifukwa chiyani ndikuchita chidwi kwambiri ndi vutoli? Mwa zina chifukwa, titagwira ntchito m'dziko la NLP ndi AI, tidakambirana za vuto la kuphulika kophatikizana zaka pafupifupi 5-6 zapitazo. Pokhapokha m'malo mwa matembenuzidwe tinali ndi mawu amodzi, ndipo m'malo mwazogulitsa tinali ndi ziganizo ndi ndime. Ndipo ngakhale mavuto a NLP ndi AI amakhalabe osathetsedwa, ziyenera kuvomerezedwa kuti kupita patsogolo kwakukulu kwachitika zaka zingapo zapitazi. (m'malingaliro anga, kupita patsogolo kungapangidweΠΎZingakhale bwino ngati anthu omwe ali m'makampaniwa sanasamalire pang'ono pakuphunzira makina komanso njira zina - koma izi sizinali pamutu).

Tiyeni tibwerere kudziko la DevOps ndi ma microservices. Tikukumana ndi vuto lalikulu, kuwoneka ngati njovu ku Kunstkamera - chifukwa zomwe ndimamva nthawi zambiri ndi "kungotenga kubernetes ndi helm, ndipo zonse zikhala bwino!" Koma ayi, zonse sizingakhale bwino ngati zonse zitasiyidwa momwe zilili. Komanso, njira yowunikira vutoli sikuwoneka yovomerezeka chifukwa cha zovuta zake. Monga mu NLP, choyamba tiyenera kuthana ndi vutoli pochepetsa kuchuluka kwakusaka, pamenepa, pochotsa zololeza zakale.

Chimodzi mwazinthu zomwe zingathandize ndi zomwe ndidalemba chaka chatha za kufunika kukhalabe kusiyana osachepera pakati Mabaibulo anaika makasitomala. Ndikofunikiranso kuzindikira kuti njira yopangidwa bwino ya CI/CD imathandiza kwambiri kuchepetsa kusiyanasiyana. Komabe, momwe zinthu ziliri pano ndi CI/CD sizokwanira kuthetsa vuto la zilolezo popanda zida zowonjezera zowerengera ndi kutsata zigawo.

Zomwe timafunikira ndi njira yoyesera pa gawo lophatikizana, komwe tingathe kudziwa zomwe zimayambitsa chiwopsezo cha gawo lililonse, komanso kukhala ndi njira yokhazikika yosinthira magawo osiyanasiyana ndikuyesa popanda kulowererapo - kuti tiwone zomwe zimagwira ntchito ndi zomwe sizili.

Dongosolo loyeserera lotere litha kuwoneka motere:

  1. Madivelopa amalemba mayeso (iyi ndi gawo lovuta kwambiri - chifukwa apo ayi tilibe njira yowunikira - zili ngati kulemba deta pamaphunziro a makina).
  2. Chigawo chilichonse (projekiti) chimalandira dongosolo lake la CI - ndondomekoyi tsopano yapangidwa bwino, ndipo nkhani yopanga dongosolo la CI la gawo limodzi lathetsedwa kwambiri.
  3. "Smart Integration System" imasonkhanitsa zotsatira za machitidwe osiyanasiyana a CI ndikusonkhanitsa pulojekiti yamagulu muzogulitsa zomaliza, imayesa kuyesa ndipo potsiriza imawerengera njira yaifupi kwambiri yopezera ntchito zomwe mukufuna kuzigwiritsa ntchito potengera zomwe zilipo komanso zoopsa. Ngati kusinthidwa sikutheka, dongosololi limadziwitsa opanga zinthu zomwe zilipo kale ndipo ndi ziti zomwe zikuyambitsa cholakwikacho. Apanso, njira yoyesera ndiyofunikira kwambiri pano - popeza makina ophatikizira amagwiritsa ntchito mayeso ngati njira yowunikira.
  4. CD, yomwe imalandira deta kuchokera ku Smart Integration System ndikuchita zosinthazo mwachindunji. Gawoli limamaliza kuzungulira.

Mwachidule, kwa ine imodzi mwazovuta zazikuluzikulu tsopano ndi kusowa kwa "Smart Integration System" yotereyi yomwe ingagwirizane ndi zigawo zosiyanasiyana mu mankhwala ndipo motero zimakulolani kuti muwone momwe mankhwala onse amagwirizanirana. Ndikhala ndi chidwi ndi malingaliro a anthu ammudzi pa izi (wowononga - pano ndikugwira ntchito Reliza, yomwe imatha kukhala njira yolumikizirana mwanzeru).

Chinthu chimodzi chomaliza chimene ndikufuna kunena ndi chakuti, kwa ine, monolith silovomerezeka pa ntchito iliyonse ngakhale yapakati. Kwa ine, kuyesa kufulumizitsa nthawi yokhazikitsa ndi mtundu wa chitukuko pobwerera ku monolith kumayambitsa kukayikira kwakukulu. Choyamba, monolith ili ndi vuto lofanana loyang'anira zigawo - pakati pa malaibulale osiyanasiyana omwe ali nawo, koma zonsezi sizowoneka bwino ndipo zimawonekera makamaka panthawi yomwe opanga mapulogalamu. Zotsatira za vuto la monolith ndikulephera kwenikweni kwa kusintha kwa code - komanso kuthamanga kwapang'onopang'ono kwambiri.

Ma Microservices amawongolera zinthu, koma zomangamanga zazing'ono zimakumana ndi vuto la kuphulika kophatikizana pakuphatikizana. Inde, ponseponse, tasuntha vuto lomwelo kuchokera pagawo lachitukuko kupita ku gawo lophatikizana. Komabe, m'malingaliro anga, njira ya microservices imabweretsabe zotsatira zabwino, ndipo magulu amapeza zotsatira mofulumira (mwinamwake makamaka chifukwa cha kuchepa kwa kukula kwa gawo lachitukuko - kapena kukula kwa batch). Komabe, kuchoka ku monolith kupita ku microservices sikunabweretse kusintha kokwanira pa ndondomekoyi - kuphulika kophatikizana kwa mitundu ya microservice ndi vuto lalikulu, ndipo tili ndi mwayi wambiri wokonza zinthu pamene tikuzithetsa.

Source: www.habr.com

Kuwonjezera ndemanga