Microservices - ho phatloha ho kopaneng ha liphetolelo

Lumela, Habr! Ke hlahisa tlhokomelong ea hau phetolelo ea sengoli ea sengoloa Microservices - Combinatorial Explosion of Versions.
Microservices - ho phatloha ho kopaneng ha liphetolelo
Nakong eo lefats'e la IT le ntseng le tsoela pele butle-butle ho li-microservices le lisebelisoa tse kang Kubernetes, bothata bo le bong feela bo ntse bo bonahala haholoanyane. Bothata bona - ho phatloha ho kopaneng liphetolelo tsa microservice. Leha ho le joalo, sechaba sa IT se lumela hore boemo ba hona joale bo molemo ho feta "Dependency hell" moloko o fetileng oa theknoloji. Leha ho le joalo, ho fetolela li-microservices ke bothata bo rarahaneng haholo. Bopaki bo bong ba sena e ka ba lihlooho tse kang "Khutlisa monolith ea ka".

Haeba u ntse u sa utloisise bothata ka ho bala temana ena, e-re ke hlalose. Ha re re sehlahisoa sa hau se na le li-microservices tse 10. Joale ha re nke hore mofuta o le mong o mocha o lokollotsoe bakeng sa e 'ngoe le e 'ngoe ea li-microservices tsena. Ke mofuta o le mong feela - ke ts'epa hore bohle re ka lumellana hore ena ke 'nete e sa reng letho le e sa reng letho. Leha ho le joalo, joale a re ke re shebe sehlahisoa sa rona hape. Ka mofuta o le mong feela o mocha oa karolo ka 'ngoe, joale re na le 1^1 - kapa litumello tse 2 tsa hore na sehlahisoa sa rona se ka etsoa joang.

Haeba ho ntse ho e-na le ho se utloisisane, e-re ke hlalose lipalo. Kahoo re na le li-microservices tse 10, e 'ngoe le e' ngoe e fumana ntlafatso e le 'ngoe. Ka mantsoe a mang, re fumana mefuta e 2 e ka khonehang bakeng sa microservice ka 'ngoe (ebang ke ea khale kapa e ncha). Hona joale, bakeng sa karolo e 'ngoe le e' ngoe ea sehlahisoa, re ka sebelisa e 'ngoe ea liphetolelo tsena tse peli. Ho ea ka lipalo, ho tšoana le ha re ne re e-na le palo ea binary ea linomoro tse 10. Mohlala, ha re re 1 ke mofuta o mocha, 'me 0 ke mofuta oa khale - joale tumello e le' ngoe e ka hlalosoang e le 1001000000 - moo likarolo tsa 1 le 4 li nchafalitsoeng, 'me tse ling kaofela ha li joalo. Ho tsoa ho lipalo rea tseba hore nomoro ea binary ea linomoro tse 10 e ka ba le 2^10 kapa 1024 ea boleng. Ke hore re tiisitse tekanyo ea palo eo re sebetsanang le eona.

Ha re tsoeleng pele ho beha mabaka ho ea pele - ho tla etsahala'ng haeba re na le li-microservices tse 100 'me e' ngoe le e 'ngoe e na le mefuta e 10 e ka bang teng? Boemo bohle bo fetoha bo sa thabiseng - joale re na le litumello tse 10 ^ 100 - e leng palo e kholo. Leha ho le joalo, ke khetha ho ngola boemo bona ka tsela ena, hobane hona joale ha re sa ipata ka mor'a mantsoe a kang "kubernetes", empa ho e-na le hoo re tobana le bothata kamoo bo leng kateng.

Ke hobane’ng ha ke khahliloe ke bothata boo? Lebaka ke hobane, ha re se re kile ra sebetsa lefats'eng la NLP le AI, re buile ka bothata ba ho phatloha ho kopaneng lilemo tse 5-6 tse fetileng. Feela sebakeng sa liphetolelo re ne re e-na le mantsoe ka bomong, 'me ho e-na le lihlahisoa re ne re e-na le lipolelo le lirapa. Mme leha mathata a NLP le AI a ntse a sa rarolloe haholo, ho tlameha ho lumelloe hore tsoelo-pele e kholo e entsoe lilemong tse 'maloa tse fetileng. (ka maikutlo a ka, tsoelo-pele e ka etsoaоHo ka ba molemo ha batho ba indasteri ba ne ba ka ela hloko ho ithuta ka mochine le ho feta mekhoa e meng - empa sena se se se ntse se le sieo).

Ha re khutleleng lefats'eng la DevOps le microservices. Re tobane le bothata bo boholo, ba ho iketsa eka ke tlou Kunstkamera - hobane seo ke se utloang hangata ke "ho nka kubernetes le helm, 'me tsohle li tla loka!" Empa che, ntho e 'ngoe le e' ngoe e ke ke ea tsamaea hantle haeba tsohle li ka sala li le joalo. Ho feta moo, tharollo ea tlhahlobo ea bothata bona ha e bonahale e amoheleha ka lebaka la ho rarahana ha eona. Joalo ka ho NLP, re lokela ho qala ka ho atamela bothata bona ka ho fokotsa sebaka sa ho batla-tabeng ena, ka ho tlosa litumello tse siiloeng ke nako.

E 'ngoe ea lintho tse ka thusang ke ntho eo ke e ngotseng selemong se fetileng mabapi le tlhokahalo ea ho boloka phapang e fokolang pakeng tsa liphetolelo tse behiloeng bakeng sa bareki. Hape ke habohlokoa ho hlokomela hore mokhoa o hlophisitsoeng hantle oa CI / CD o thusa haholo ho fokotsa ho fapana. Leha ho le joalo, boemo ba hona joale ba litaba ka CI / CD ha bo lekane ho rarolla bothata ba litumello ntle le lisebelisoa tse eketsehileng bakeng sa likarolo tsa likarabello le ho lata.

Seo re se hlokang ke mokhoa oa liteko sethaleng sa ho kopanya, moo re ka tsebang hore na ke eng e bakang kotsi bakeng sa karolo ka 'ngoe, hape re na le mokhoa o ikemetseng oa ho ntlafatsa likarolo tse sa tšoaneng le ho hlahloba ntle le ho kenella ha opereishene - ho bona hore na ke eng e sebetsang le e sa sebetseng.

Sistimi e joalo ea liteko e ka shebahala tjena:

  1. Bahlahisi ba ngola liteko (ena ke mohato o mahlonoko - hobane ho seng joalo ha re na tekanyetso ea tlhahlobo - ho tšoana le ho ngola lintlha thutong ea mochini).
  2. Karolo ka 'ngoe (morero) e fumana sistimi ea eona ea CI - ts'ebetso ena e se e ntlafalitsoe hantle, mme taba ea ho theha sistimi ea CI bakeng sa karolo e le 'ngoe e rarollotsoe haholo.
  3. "Sistimi ea ho kopanya e bohlale" e bokella liphetho tsa lits'ebetso tse fapaneng tsa CI mme e bokella merero ea likarolo sehlahisoa sa ho qetela, e tsamaisa liteko mme qetellong e bala tsela e khuts'oane ea ho fumana ts'ebetso ea sehlahisoa se lakatsehang ho latela likarolo tse teng le maemo a kotsi. Haeba ntlafatso e sa khonehe, sistimi ena e tsebisa bahlahisi ka likarolo tse teng le hore na ke efe ea tsona e bakang phoso. Hape, sistimi ea liteko e bohlokoa haholo mona - kaha sistimi ea kopanyo e sebelisa liteko joalo ka tekanyetso ea tlhahlobo.
  4. CD system, eo ka nako eo e amohelang data ho tsoa ho Smart Integration System ebe e etsa ntlafatso ka kotloloho. Mokhahlelo ona o felisa potoloho.

Ho akaretsa, ho 'na e' ngoe ea mathata a maholo ka ho fetisisa hona joale ke khaello ea "Smart Integration System" e joalo e neng e tla hokahanya likarolo tse sa tšoaneng ho sehlahisoa 'me kahoo e u lumelle ho latela hore na sehlahisoa ka kakaretso se kopantsoe joang. Ke tla khahloa ke maikutlo a sechaba mabapi le sena (spoiler - hajoale ke ntse ke sebetsa morerong Reliza, e ka fetohang mokhoa o bohlale oa ho kopanya).

Ntho ea ho qetela eo ke batlang ho e bolela ke hore, ho 'na, monolith ha e amohelehe bakeng sa morero leha e le ofe oa boholo bo mahareng. Ho 'na, boiteko ba ho potlakisa nako ea ts'ebetsong le boleng ba tsoelo-pele ka ho khutlela monolith ho baka lipelaelo tse kholo. Taba ea pele, monolith e na le bothata bo ts'oanang ba ho laola likarolo - har'a lilaebrari tse fapaneng tseo e nang le tsona, leha ho le joalo, sena sohle ha se hlokomelehe mme se iponahatsa haholo-holo nakong e sebelisoang ke bahlahisi. Liphello tsa bothata ba monolith ke ho se khonehe hoa ho etsa liphetoho ho khoutu - le lebelo la nts'etsopele le liehang haholo.

Li-Microservices li ntlafatsa boemo, empa joale meralo ea microservice e tobana le bothata ba ho phatloha ha motsoako sethaleng sa ho kopanya. E, ka kakaretso, re tlositse bothata bo tšoanang ho tloha sethaleng sa nts'etsopele ho ea boemong ba ho kopanya. Leha ho le joalo, ka maikutlo a ka, mokhoa oa microservices o ntse o lebisa liphellong tse molemo, 'me lihlopha li finyella liphello ka potlako (mohlomong haholo-holo ka lebaka la ho fokotseha ha boholo ba karolo ea ntlafatso - kapa boholo ba batch). Leha ho le joalo, ho tloha monolith ho ea ho microservices ha ho e-s'o ntlafatse mokhoa ona ka ho lekaneng - ho phatloha ha motsoako oa liphetolelo tsa microservice ke bothata bo boholo, 'me re na le menyetla e mengata ea ho ntlafatsa boemo ha re ntse re bo rarolla.

Source: www.habr.com

Eketsa ka tlhaloso