Microservices - combinatorial kuputika kweshanduro

Mhoro, Habr! Ndinokupa pfungwa dzako shandurudzo yemunyori yechinyorwa Microservices - Combinatorial Kuputika kweMavhezheni.
Microservices - combinatorial kuputika kweshanduro
Panguva iyo iyo nyika yeIT iri kufamba zvishoma nezvishoma yakananga kumamicroservices uye zvishandiso seKubernetes, dambudziko rimwe chete riri kuramba richionekwa. Dambudziko iri - combinatorial kuputika microservice versions. Zvakadaro, iyo IT nharaunda inotenda kuti mamiriro azvino ari nani kupfuura "Dependency hero" chizvarwa chekare cheteknolojia. Nekudaro, kushandura microservices idambudziko rakaoma kwazvo. Humwe humbowo hweizvi hunogona kuva zvinyorwa zvakadai "Ndidzosere monolith yangu".

Kana musati manzwisisa dambudziko nekuverenga chinyorwa ichi, regai nditsanangure. Ngatitii chigadzirwa chako chine gumi mamicroservices. Zvino ngatifungei kuti 10 vhezheni nyowani inoburitswa yega yega mamicroservices aya. Imwe chete vhezheni - ndinovimba tese tinogona kubvumirana kuti ichi chinhu chidiki uye chisingakoshi. Zvino, zvisinei, ngatitarisei imwezve chigadzirwa chedu. Neshanduro imwe chete itsva yechikamu chimwe nechimwe, tava ne 1^1 - kana 2 mvumo yekuti chigadzirwa chedu chingagadzirwa sei.

Kana pachine kusanzwisisana, regai ndiparura masvomhu. Saka isu tine gumi mamicroservices, imwe neimwe ichiwana imwe update. Ndokunge, isu tinowana maviri anogoneka mavhezheni kune yega microservice (ingave yekare kana nyowani). Iye zvino, kune chimwe nechimwe chezvikamu zvechigadzirwa, tinogona kushandisa imwe yeidzi shanduro mbiri. Pamasvomhu, zvakangofanana nekunge taive nenhamba yebhinari yemadijiti gumi. Semuenzaniso, ngatiti 10 ndiyo vhezheni itsva, uye 2 ndiyo vhezheni yekare - ipapo imwe chete inogona kubvumidzwa inogona kunzi 10 - uko yekutanga neyechina zvikamu zvinogadziridzwa, uye zvimwe zvese zvisiri. Kubva kusvomhu tinoziva kuti nhamba yebhinari ine manhamba gumi inogona kuva ne 1^0 kana 1001000000 kukosha. Kureva kuti takasimbisa chiyero chenhamba yatiri kubata nayo.

Ngatienderere mberi nekufunga kwedu mberi - chii chichaitika kana tiine zana mamicroservices uye imwe neimwe iine gumi ingangoita shanduro? Mamiriro ese ezvinhu anova asingafadzi - isu tave negumi ^ 100 mvumo - inova nhamba huru. Zvisinei, ndinosarudza kuisa mamiriro ezvinhu aya nenzira iyi, nokuti ikozvino hatisisiri kuvanza shure kwemashoko akadai se "kubernetes", asi kutarisana nechinetso sezvazviri.

Sei ndichifadzwa nedambudziko iri? Zvimwe nekuti, takamboshanda munyika yeNLP neAI, takakurukura nezvedambudziko rekuputika kwekubatanidza makore akawanda makore mashanu kusvika matanhatu apfuura. Chete pachinzvimbo cheshanduro taive nemazwi ega, uye pachinzvimbo chezvigadzirwa taive nemitsara uye ndima. Uye kunyangwe matambudziko eNLP neAI achiramba asina kugadziriswa, zvinofanirwa kubvumwa kuti kufambira mberi kwakanyanya kwakaitwa mumakore mashoma apfuura. (mukuona kwangu, kufambira mberi kunogona kuitwaΠΎZvingave zvirinani kana vanhu vari muindasitiri vakabhadhara zvishoma kutarisisa kudzidza kwemuchina uye zvishoma kune mamwe maitiro - asi izvi zvatove kunze-nyaya).

Ngatidzokerei kunyika yeDevOps uye microservices. Takatarisana nedambudziko rakakura, kuita kunge nzou muKunstkamera - nekuti zvandinowanzonzwa ndezvekuti "ingotora kubernetes uye helm, uye zvese zvichanaka!" Asi kwete, zvese hazvizove zvakanaka kana zvese zvikasara sezvazviri. Uyezve, mhinduro yekuongorora yedambudziko iri haiite seyakagamuchirwa nekuda kwekuoma kwayo. Sezviri muNLP, isu tinofanirwa kutanga tasvika padambudziko iri nekudzikisira chiyero chekutsvaga-munyaya iyi, nekubvisa mvumo dzechinyakare.

Chimwe chezvinhu zvinogona kubatsira ndechimwe chinhu chandakanyora gore rapfuura pamusoro pechido chekuchengetedza musiyano mudiki pakati peshanduro dzakatumirwa kune vatengi. Zvakakoshawo kuziva kuti yakanyatsogadzirwa CI / CD maitiro anobatsira zvikuru mukuderedza kusiyana. Nekudaro, mamiriro ezvinhu aripo neCI/CD haana kunaka zvakakwana kugadzirisa dambudziko remvumo pasina mamwe maturusi e accounting uye ekutevera zvikamu.

Chatinoda ihurongwa hwekuyedza padanho rekubatanidza, kwatinogona kuona njodzi yechinhu chimwe nechimwe, uye zvakare kuve neatomatiki maitiro ekugadzirisa akasiyana siyana uye kuyedza pasina kupindira kweanoshanda - kuona kuti chii chinoshanda uye chii chisingaiti.

Nzira yakadaro yekuedza inogona kutaridzika seizvi:

  1. Vagadziri vanonyora bvunzo (iyi inhanho yakakosha - nekuti zvikasadaro isu hatina mucherechedzo wekuongorora - zvakaita sekunyora data muchina kudzidza).
  2. Chikamu chega chega (purojekiti) chinogashira chayo CI system - iyi nzira ikozvino yakagadziridzwa, uye nyaya yekugadzira CI system yechikamu chimwe yakagadziriswa zvakanyanya.
  3. Iyo "smart yekubatanidza sisitimu" inounganidza mhedzisiro yeakasiyana CI masisitimu uye inounganidza mapurojekiti echikamu muchigadzirwa chekupedzisira, inomhanyisa kuyedza uye pakupedzisira inoverengera nzira ipfupi yekuwana inodiwa chigadzirwa kushanda zvichienderana nezviripo zvinhu uye njodzi zvinhu. Kana imwe update isingagoneki, iyi sisitimu inozivisa vanogadzira nezvezvinhu zviripo uye kuti ndeipi iri kukonzera kukanganisa. Zvekare, iyo yekuyedza system yakakosha pano - sezvo iyo yekubatanidza sisitimu inoshandisa bvunzo seyedzo yekuongorora.
  4. CD system, iyo inobva yagamuchira data kubva kuSmart Integration System uye inogadzirisa zvakananga. Danho iri rinopedza kutenderera.

Kupfupisa, kwandiri rimwe rematambudziko makuru ikozvino kushaikwa kweiyo "Smart Integration System" iyo inogona kubatanidza zvikamu zvakasiyana-siyana muchigadzirwa uye nokudaro inobvumidza iwe kuti utarise kuti chigadzirwa chose chakabatanidzwa sei. Ndichafarira pfungwa dzenharaunda pane izvi (spoiler - parizvino ndiri kushanda pane chirongwa Reliza, iyo inogona kuve yakangwara yekubatanidza sisitimu).

Chinhu chekupedzisira chandinoda kutaura ndechekuti, kwandiri, monolith haigamuchirwe kune chero chirongwa chechero chiyero chepakati. Kwandiri, kuedza kukurumidzira kuita nguva uye kunaka kwekusimudzira nekudzokera kune monolith kunokonzera kusahadzika kukuru. Kutanga, monolith ine dambudziko rakafanana rekugadzirisa zvikamu - pakati pemaraibhurari akasiyana-siyana ayo anosanganisira, zvisinei, izvi zvose hazvioneki uye zvinozviratidza kunyanya munguva inoshandiswa nevagadziri. Mhedzisiro yedambudziko remonolith ndiko kusaita kwekuita shanduko kune kodhi - uye yakanyanya kunonoka kusimudzira.

Microservices inovandudza mamiriro ezvinhu, asi ipapo iyo microservice architecture inotarisana nedambudziko re combinatorial kuputika padanho rekubatanidza. Hongu, kazhinji, takatamisa dambudziko rimwechete kubva padanho rekusimudzira kusvika padanho rekubatanidza. Nekudaro, mukuona kwangu, iyo microservices nzira ichiri kutungamirira kune zvirinani mhedzisiro, uye zvikwata zvinowana mhedzisiro nekukurumidza (zvichida zvakanyanya nekuda kwekudzikiswa kwehukuru hwebudiriro unit - kana batch size) Nekudaro, kufamba kubva ku monolith kuenda ku microservices hakusati kwavandudza maitiro akakwana - kuputika kwemubatanidzwa kweshanduro dzemicroservice idambudziko rakakura, uye isu tine mukana wakawanda wekugadzirisa mamiriro ezvinhu sezvatinoagadzirisa.

Source: www.habr.com

Voeg