Mikwosèvis: kisa yo ye, poukisa yo ye ak ki lè pou aplike yo

Mwen te vle ekri yon atik sou sijè achitekti mikwosèvis pou yon tan long, men de bagay te kenbe kanpe m '- plis mwen plonje nan sijè a, plis li te sanble ke sa mwen konnen se evidan, ak sa mwen fè' t konnen bezwen etidye ak etidye. Nan lòt men an, mwen panse ke gen deja yon bagay yo diskite nan mitan yon odyans lajè. Se konsa, opinyon altènatif yo akeyi.

Lwa Conway ak relasyon ant biznis, òganizasyon ak sistèm enfòmasyon

Yon fwa ankò mwen pral pèmèt tèt mwen site:

"Nenpòt òganizasyon ki desine yon sistèm (nan sans laj) pral resevwa yon konsepsyon ki gen estrikti repwodui estrikti ekip yo nan òganizasyon sa a."
— Melvyn Conway, 1967

Dapre mwen, lwa sa a gen plis chans pou yo gen rapò ak fezabilite pou òganize yon biznis, olye ke dirèkteman nan sistèm enfòmasyon an. Kite m eksplike ak yon egzanp. Ann di nou gen yon opòtinite biznis ki estab ak yon sik lavi ki gen yon longè konsa ke li fè sans pou òganize yon antrepriz (sa a se pa yon typo, men mwen vrèman renmen tèm sa a ke mwen te vòlè). Natirèlman, sistèm sipò nan biznis sa a. pral òganizasyonman ak pwosesis koresponn ak biznis sa a.

Oryantasyon biznis nan sistèm enfòmasyon

Mikwosèvis: kisa yo ye, poukisa yo ye ak ki lè pou aplike yo

Kite m eksplike ak yon egzanp. Ann di gen yon opòtinite biznis yo òganize yon biznis vann pitza. Nan vèsyon an V1 (se pou nou rele li pre-enfòmasyon), konpayi an te yon pitza, yon enskri lajan kach, ak yon sèvis livrezon. Vèsyon sa a te dire lontan nan kondisyon ki ba varyasyon anviwònman an. Lè sa a, vèsyon 2 te vin ranplase li - pi avanse ak kapab sèvi ak yon sistèm enfòmasyon nan nwayo li pou biznis ak yon achitekti monolitik. Ak isit la, nan opinyon mwen, gen tou senpleman yon enjistis terib an relasyon ak monolit yo - swadizan achitekti monolitik pa koresponn ak modèl biznis domèn. Wi, si se konsa, sistèm nan pa ta ka travay ditou - nan kontradiksyon ak menm lwa Conway a ak bon sans. Non, achitekti monolitik konplètman konsistan ak modèl biznis la nan etap sa a nan devlopman biznis - Mwen, nan kou, vle di etap la lè sistèm nan te deja kreye ak mete nan operasyon. Li se yon reyalite absoliman bèl bagay ke kèlkeswa apwòch la achitekti, tou de vèsyon achitekti sèvis oryante 3 ak vèsyon achitekti microservices N ap travay egalman byen. Ki sa ki trape an?

Tout bagay ap koule, tout bagay chanje, oswa èske mikwosèvis yo se yon mwayen pou konbat konpleksite?

Anvan nou kontinye, ann gade kèk move konsepsyon sou achitekti mikwosèvis.

Patizan yo sèvi ak yon apwòch mikwosèvis souvan diskite ke kraze yon monolit nan mikwosèvis senplifye apwòch devlopman nan diminye baz kòd sèvis endividyèl yo. Dapre mwen, deklarasyon sa a se yon istwa san sans. Seryezman, entèraksyon an evidan nan yon kòd monolith ak omojèn sanble konplike? Si sa a te reyèlman ka a, tout pwojè yo ta okòmansman bati kòm mikwosèvis, pandan ke pratik montre ke migrasyon soti nan yon monolit nan mikwosèvis se pi plis komen. Konpleksite pa disparèt; li tou senpleman deplase soti nan modil endividyèl yo nan koòdone (ke se li otobis done, RPC, API, ak lòt pwotokòl) ak sistèm orchestration. E sa difisil!

Avantaj nan lè l sèvi avèk yon chemine etewojèn se dout tou. Mwen pa pral diskite ke sa a se posib tou, men an reyalite li raman rive (Gade devan - sa a ta dwe rive - men pito kòm yon konsekans pase yon avantaj).

Sik lavi pwodwi ak sik lavi sèvis

Pran yon lòt gade nan dyagram ki anwo a. Se pa yon konyensidans ke mwen te note sik lavi a diminye nan yon vèsyon separe nan yon biznis - nan kondisyon modèn, li se akselerasyon an nan tranzisyon an nan yon biznis ant vèsyon ki se desizif pou siksè li. Siksè yon pwodwi detèmine pa vitès tès ipotèz biznis ladan l. Ak isit la, nan opinyon mwen, manti avantaj kle nan achitekti mikwosèvis. Men, ann ale nan lòd.

Ann ale nan pwochen etap la nan evolisyon sistèm enfòmasyon yo - nan achitekti SOA ki oryante sèvis la. Se konsa, nan kèk pwen sèten nou make nan pwodwi nou an sèvis ki dire lontan - viv lontan nan sans ke lè w ap deplase ant vèsyon nan yon pwodwi, gen yon chans ke sik lavi a nan sèvis la pral pi long pase sik lavi a nan pwochen vèsyon an nan pwodwi a. Li ta lojik pa chanje yo ditou - nou Sa ki enpòtan se vitès tranzisyon an nan pwochen vèsyon an. Men, malè, nou oblije fè chanjman konstan nan sèvis yo - e isit la tout bagay ap travay pou nou, pratik DevOps, kontenèrizasyon, ak sou sa - tout sa ki vin nan tèt ou. Men, sa yo toujou pa mikwosèvis!

Microservices kòm yon mwayen pou konbat konpleksite... jesyon konfigirasyon

Ak isit la nou ka finalman ale nan wòl nan defini nan mikwosèvis - sa a se yon apwòch ki senplifye jesyon konfigirasyon pwodwi. Nan plis detay, fonksyon chak mikwosèvis dekri egzakteman fonksyon biznis andedan pwodwi a dapre modèl domèn - e sa yo se bagay ki ap viv pa nan yon vèsyon ki dire lontan, men nan yon opòtinite biznis ki dire lontan. Ak tranzisyon an nan pwochen vèsyon an nan pwodwi a rive literalman inapèsi - ou chanje / ajoute yon sèl mikwosèvis, e petèt jis konplo a nan entèraksyon yo, epi toudenkou ou jwenn tèt ou nan tan kap vini an, kite dèyè kriye konpetitè ki kontinye sote ant vèsyon nan. monolit yo. Koulye a, imajine ke gen yon volim jistis gwo nan mikwosèvis ak entèfas predefini ak kapasite biznis. Epi ou vini epi bati estrikti pwodwi ou a soti nan mikwosèvis ki pare yo - tou senpleman pa trase yon dyagram, pou egzanp. Felisitasyon - ou gen yon platfòm - epi kounye a ou ka atire biznis pou tèt ou. Rèv Rèv.

Jwenn

  • Achitekti sistèm lan ta dwe detèmine pa sik lavi eleman li yo. Si yon eleman ap viv nan yon vèsyon pwodwi, pa gen okenn pwen pou ogmante konpleksite sistèm nan lè w itilize yon apwòch mikwosèvis.
  • Achitekti mikwosèvis yo ta dwe baze sou modèl domèn - paske opòtinite biznis la se domèn ki pi long
  • Pratik livrezon (pratik DevOps) ak òkestrasyon yo se youn nan pi enpòtan pou achitekti mikwosèvis - pou rezon ki fè ogmantasyon nan pousantaj chanjman konpozan yo ogmante demand sou vitès ak kalite livrezon.

Sous: www.habr.com

Add nouvo kòmantè