Service Mesh ir labi zinÄms arhitektÅ«ras modelis mikropakalpojumu integrÄÅ”anai un migrÄcijai uz mÄkoÅa infrastruktÅ«ru. MÅ«sdienÄs mÄkoÅkonteineru pasaulÄ bez tÄ ir diezgan grÅ«ti iztikt. TirgÅ« jau ir pieejamas vairÄkas atvÄrtÄ pirmkoda pakalpojumu tÄ«kla ievieÅ”anas, taÄu to funkcionalitÄte, uzticamÄ«ba un droŔība ne vienmÄr ir pietiekama, it Ä«paÅ”i, ja runa ir par lielu finanÅ”u uzÅÄmumu prasÄ«bÄm visÄ valstÄ«. TÄpÄc mÄs Sbertech nolÄmÄm pielÄgot Service Mesh un vÄlamies runÄt par to, kas ir forÅ”s pakalpojumÄ Service Mesh, kas nav tik forÅ”s un ko mÄs ar to darÄ«sim.
Service Mesh modeļa popularitÄte pieaug lÄ«dz ar mÄkoÅtehnoloÄ£iju popularitÄti. Tas ir speciÄls infrastruktÅ«ras slÄnis, kas vienkÄrÅ”o mijiedarbÄ«bu starp dažÄdiem tÄ«kla pakalpojumiem. MÅ«sdienu mÄkoÅa lietojumprogrammas sastÄv no simtiem vai pat tÅ«kstoÅ”iem Å”Ädu pakalpojumu, no kuriem katram var bÅ«t tÅ«kstoÅ”iem kopiju.
Å o pakalpojumu mijiedarbÄ«ba un pÄrvaldÄ«ba ir Service Mesh galvenais uzdevums. Faktiski Å”is ir daudzu starpniekserveru tÄ«kla modelis, kas tiek pÄrvaldÄ«ts centralizÄti un veic ļoti noderÄ«gu funkciju kopumu.
Starpniekservera līmenī (datu plakne):
- MarÅ”rutÄÅ”anas un trafika lÄ«dzsvaroÅ”anas politiku pieŔķirÅ”ana un izplatÄ«Å”ana
- AtslÄgu, sertifikÄtu, žetonu izplatÄ«Å”ana
- Telemetrijas vÄkÅ”ana, monitoringa metrikas Ä£enerÄÅ”ana
- IntegrÄcija ar droŔības un uzraudzÄ«bas infrastruktÅ«ru
Vadības plaknes līmenī:
- MarÅ”rutÄÅ”anas un trafika lÄ«dzsvaroÅ”anas politiku piemÄroÅ”ana
- AtkÄrtotu mÄÄ£inÄjumu un taimautu pÄrvaldÄ«ba, āmiruÅ”oā mezglu noteikÅ”ana (Ä·Ädes pÄrtraukums), kļūdu ievadÄ«Å”anas pÄrvaldÄ«ba un pakalpojumu noturÄ«bas nodroÅ”inÄÅ”ana, izmantojot citus mehÄnismus.
- Zvana autentifikÄcija/autorizÄcija
- Metrikas nomeÅ”ana (novÄrojamÄ«ba)
Å Ä«s tehnoloÄ£ijas izstrÄdÄ ieinteresÄto lietotÄju loks ir ļoti plaÅ”s ā no maziem startup uzÅÄmumiem lÄ«dz lielÄm interneta korporÄcijÄm, piemÄram, PayPal.
KÄpÄc korporatÄ«vajÄ sektorÄ ir nepiecieÅ”ams Service Mesh?
Service Mesh izmantoÅ”anai ir daudz skaidru priekÅ”rocÄ«bu. PirmkÄrt, tas ir vienkÄrÅ”i Ärti izstrÄdÄtÄjiem: koda rakstÄ«Å”anai parÄdÄs tehnoloÄ£iju platforma, kas ievÄrojami vienkÄrÅ”o integrÄciju mÄkoÅa infrastruktÅ«rÄ, jo transporta slÄnis ir pilnÄ«bÄ izolÄts no lietojumprogrammu loÄ£ikas.
Bez tam, Service Mesh vienkÄrÅ”o attiecÄ«bas starp piegÄdÄtÄjiem un patÄrÄtÄjiem. MÅ«sdienÄs API nodroÅ”inÄtÄjiem un patÄrÄtÄjiem ir daudz vienkÄrÅ”Äk vienoties par saskarnÄm un lÄ«gumiem paÅ”iem, neiesaistot Ä«paÅ”u integrÄcijas starpnieku un arbitru - uzÅÄmuma pakalpojumu kopni. Å Ä« pieeja bÅ«tiski ietekmÄ divus rÄdÄ«tÄjus. Jaunas funkcionalitÄtes ievieÅ”anas tirgÅ« Ätrums (laiks lÄ«dz tirgum) palielinÄs, bet tajÄ paÅ”Ä laikÄ palielinÄs risinÄjuma izmaksas, jo integrÄcija ir jÄveic neatkarÄ«gi. UzÅÄmÄjdarbÄ«bas funkcionalitÄtes izstrÄdes komandu izmantotÄ Service Mesh palÄ«dz saglabÄt lÄ«dzsvaru. RezultÄtÄ API nodroÅ”inÄtÄji var koncentrÄties tikai uz sava pakalpojuma lietojumprogrammas komponentu un vienkÄrÅ”i publicÄt to Service Mesh ā API nekavÄjoties kļūs pieejama visiem klientiem, un integrÄcijas kvalitÄte bÅ«s gatava ražoÅ”anai un neprasÄ«s nevienu papildu koda rinda.
NÄkamÄ priekÅ”rocÄ«ba ir tÄ izstrÄdÄtÄjs, izmantojot Service Mesh, koncentrÄjas tikai uz biznesa funkcionalitÄti ā uz produktu, nevis uz tÄ pakalpojuma tehnoloÄ£isko komponentu. PiemÄram, vairs nav jÄdomÄ par to, ka situÄcijÄ, kad pa tÄ«klu tiek izsaukts serviss, kaut kur var rasties savienojuma kļūme. TurklÄt Service Mesh palÄ«dz lÄ«dzsvarot trafiku starp viena un tÄ paÅ”a pakalpojuma kopijÄm: ja viena no kopijÄm ānomirstā, sistÄma pÄrslÄgs visu trafiku uz atlikuÅ”ajÄm dzÄ«vajÄm kopijÄm.
Servisa tÄ«kls SÄkot no tas ir labs pamats izplatÄ«to lietojumprogrammu izveidei, kas slÄpj no klienta informÄciju par zvanu nodroÅ”inÄÅ”anu saviem pakalpojumiem gan iekÅ”Äji, gan ÄrÄji. Visas lietojumprogrammas, kas izmanto Service Mesh, transporta lÄ«menÄ« ir izolÄtas gan no tÄ«kla, gan viena no otras: starp tÄm nav saziÅas. Å ajÄ gadÄ«jumÄ izstrÄdÄtÄjs saÅem pilnÄ«gu kontroli pÄr saviem pakalpojumiem.
JÄpiebilst, ka IzplatÄ«to lietojumprogrammu atjauninÄÅ”ana pakalpojumu tÄ«kla vidÄ kļūst vienkÄrÅ”Äka. PiemÄram, zilÄ/zaÄ¼Ä izvietoÅ”ana, kurÄ instalÄÅ”anai ir pieejamas divas lietojumprogrammu vides, no kurÄm viena nav atjauninÄta un atrodas gaidstÄves režīmÄ. AtgrieÅ”anos pie iepriekÅ”ÄjÄs versijas neveiksmÄ«gas izlaiÅ”anas gadÄ«jumÄ veic Ä«paÅ”s marÅ”rutÄtÄjs, ar kura lomu Service Mesh lieliski tiek galÄ. Lai pÄrbaudÄ«tu jauno versiju, varat izmantot kanÄrijputniÅÅ” ā pÄriet uz jauno versiju tikai 10% trafika vai pieprasÄ«jumu no izmÄÄ£inÄjuma klientu grupas. GalvenÄ satiksme iet uz veco versiju, nekas neplÄ«st.
arÄ« Service Mesh sniedz mums reÄllaika SLA kontroli. IzkliedÄtÄ starpniekservera sistÄma neļaus pakalpojumam nedarboties, ja kÄds no klientiem pÄrsniedz tam pieŔķirto kvotu. Ja API caurlaidspÄja ir ierobežota, neviens to nevarÄs pÄrslogot ar lielu darÄ«jumu skaitu: Service Mesh stÄv servisa priekÅ”Ä un nepieļauj nevajadzÄ«gu trafiku. Tas vienkÄrÅ”i cÄ«nÄ«sies integrÄcijas slÄnÄ«, un paÅ”i pakalpojumi turpinÄs strÄdÄt, to nemanot.
Ja uzÅÄmums vÄlas samazinÄt izmaksas integrÄcijas risinÄjumu izstrÄdei, Service Mesh palÄ«dz arÄ«: Varat pÄrslÄgties uz tÄ atvÄrtÄ pirmkoda versiju no komerciÄliem produktiem. MÅ«su Enterprise Service Mesh pamatÄ ir Service Mesh atvÄrtÄ pirmkoda versija.
VÄl viena priekÅ”rocÄ«ba - vienota pilnvÄrtÄ«ga integrÄcijas pakalpojumu komplekta pieejamÄ«ba. TÄ kÄ visa integrÄcija tiek veidota, izmantojot Å”o starpprogrammatÅ«ru, mÄs varam pÄrvaldÄ«t visu integrÄcijas trafiku un savienojumus starp lietojumprogrammÄm, kas veido uzÅÄmuma biznesa kodolu. Tas ir ļoti Ärti.
Un visbeidzot Service Mesh mudina uzÅÄmumu pÄriet uz dinamisku infrastruktÅ«ru. Tagad daudzi skatÄs uz konteinerizÄciju. MonolÄ«ta izcirÅ”ana mikropakalpojumos, to visu skaisti realizÄt - tÄma kÄpj. TaÄu, mÄÄ£inot daudzus gadus ražotu sistÄmu pÄrnest uz jaunu platformu, uzreiz rodas vairÄkas problÄmas: to visu iegrÅ«st konteineros un izvietot platformÄ nav viegli. Un Å”o izplatÄ«to komponentu ievieÅ”ana, sinhronizÄcija un mijiedarbÄ«ba ir vÄl viena ļoti sarežģīta tÄma. KÄ viÅi sazinÄsies savÄ starpÄ? Vai bÅ«s kaskÄdes neveiksmes? Service Mesh ļauj atrisinÄt dažas no Ŕīm problÄmÄm un atvieglot migrÄciju no vecÄs arhitektÅ«ras uz jauno, jo varat aizmirst par tÄ«kla apmaiÅas loÄ£iku.
KÄpÄc jums ir nepiecieÅ”ama Service Mesh pielÄgoÅ”ana?
MÅ«su uzÅÄmumÄ lÄ«dzÄs pastÄv simtiem sistÄmu un moduļu, un izpildlaiks ir ļoti noslogots. TÄtad ar vienkÄrÅ”u modeli, kad viena sistÄma izsauc otru un saÅem atbildi, nepietiek, jo ražoÅ”anÄ mÄs vÄlamies vairÄk. Kas vÄl jums nepiecieÅ”ams no uzÅÄmuma pakalpojumu tÄ«kla?
PasÄkumu apstrÄdes pakalpojums
IedomÄsimies, ka mums ir jÄizveido reÄllaika notikumu apstrÄde ā sistÄma, kas reÄllaikÄ analizÄ klienta darbÄ«bas un var uzreiz izteikt viÅam atbilstoÅ”u piedÄvÄjumu. Lai ieviestu lÄ«dzÄ«gu funkcionalitÄti, izmantojiet arhitektÅ«ras modelis, ko sauc par notikumu virzÄ«tu arhitektÅ«ru (EDA). Neviens no paÅ”reizÄjiem pakalpojumu tÄ«kliem neatbalsta Å”Ädus modeļus, taÄu tas ir ļoti svarÄ«gi, jo Ä«paÅ”i bankai!
Diezgan dÄ«vaini, ka Remote Procedure Call (RPC) atbalsta visas Service Mesh versijas, taÄu tÄs nav draudzÄ«gas ar EDA. TÄ kÄ Service Mesh ir sava veida moderna izplatÄ«ta integrÄcija, un EDA ir ļoti atbilstoÅ”s arhitektÅ«ras modelis, kas ļauj veikt unikÄlas lietas klientu pieredzes ziÅÄ.
MÅ«su Enterprise Service Mesh vajadzÄtu atrisinÄt Å”o problÄmu. TurklÄt mÄs vÄlamies tajÄ redzÄt garantÄtas piegÄdes, straumÄÅ”anas un sarežģītas notikumu apstrÄdes ievieÅ”anu, izmantojot dažÄdus filtrus un veidnes.
Failu pÄrsÅ«tÄ«Å”anas pakalpojums
Papildus EDA bÅ«tu jauki, ja bÅ«tu iespÄja pÄrsÅ«tÄ«t failus: uzÅÄmuma mÄrogÄ Ä¼oti bieži ir iespÄjama tikai failu integrÄcija. Jo Ä«paÅ”i tiek izmantots ETL (Extract, Transform, Load) arhitektÅ«ras modelis. TajÄ, kÄ likums, visi apmainÄs tikai ar failiem: tiek izmantoti lielie dati, kurus nav praktiski iespÄjams ievietot atseviŔķus pieprasÄ«jumus. IespÄja sÄkotnÄji atbalstÄ«t failu pÄrsÅ«tÄ«Å”anu Enterprise Service Mesh nodroÅ”ina jÅ«su uzÅÄmumam nepiecieÅ”amo elastÄ«bu.
OrÄ·estra pakalpojumi
LielÄs organizÄcijÄs gandrÄ«z vienmÄr ir dažÄdas komandas, kas ražo dažÄdus produktus. PiemÄram, bankÄ dažas komandas strÄdÄ ar noguldÄ«jumiem, bet citas ar kredÄ«tu produktiem, un Å”Ädu gadÄ«jumu ir diezgan daudz. Tie ir dažÄdi cilvÄki, dažÄdas komandas, kas ražo savus produktus, izstrÄdÄ API un nodroÅ”ina tos citiem. Un ļoti bieži ir nepiecieÅ”ams izveidot Å”os pakalpojumus, kÄ arÄ« ieviest sarežģītu loÄ£iku, lai secÄ«gi izsauktu API kopu. Lai atrisinÄtu Å”o problÄmu, ir nepiecieÅ”ams risinÄjums integrÄcijas slÄnÄ«, kas vienkÄrÅ”os visu Å”o salikto loÄ£iku (vairÄku API izsaukÅ”ana, pieprasÄ«juma marÅ”ruta aprakstÄ«Å”ana utt.). Å is ir orÄ·estrÄÅ”anas pakalpojums Enterprise Service Mesh.
AI un ML
Kad mikropakalpojumi sazinÄs, izmantojot vienu integrÄcijas slÄni, Service Mesh, protams, zina visu par katra pakalpojuma zvaniem. MÄs apkopojam telemetriju: kurÅ” kuram zvanÄ«jis, kad, cik ilgi, cik reizes utt. Kad ir simtiem tÅ«kstoÅ”u Å”o pakalpojumu un miljardu zvanu, tad tas viss uzkrÄjas un veido lielos datus. Å os datus var analizÄt, izmantojot AI, maŔīnmÄcÄ«Å”anos utt., un pÄc tam, pamatojoties uz analÄ«zes rezultÄtiem, var veikt dažas noderÄ«gas lietas. DerÄtu vismaz daļÄji visu Å”o Service Mesh integrÄto tÄ«kla trafiku un aplikÄciju izsaukumu kontroli nodot mÄkslÄ«gajam intelektam.
API vÄrtejas pakalpojums
Parasti pakalpojuma tÄ«klam ir starpniekserveri un pakalpojumi, kas savstarpÄji sazinÄs uzticamÄ perimetrÄ. TaÄu ir arÄ« ÄrÄji darÄ«juma partneri. PrasÄ«bas API, kas ir pakļautas Å”ai patÄrÄtÄju grupai, ir daudz stingrÄkas. MÄs sadalÄm Å”o uzdevumu divÄs galvenajÄs daļÄs.
- DroŔība. ProblÄmas, kas saistÄ«tas ar ddos, protokolu, lietojumprogrammu, operÄtÄjsistÄmu un tÄ tÄlÄk ievainojamÄ«bu.
- MÄrogs. Kad API skaits, kas ir jÄapkalpo klientiem, sasniedz tÅ«kstoÅ”iem vai pat simtiem tÅ«kstoÅ”u, Å”ai API kopai ir nepiecieÅ”ams kÄds pÄrvaldÄ«bas rÄ«ks. Jums pastÄvÄ«gi jÄuzrauga API: vai tie darbojas vai ne, kÄds ir to statuss, kÄda trafika plÅ«st, kÄda statistika utt. API vÄrtejai vajadzÄtu veikt Å”o uzdevumu, vienlaikus padarot visu procesu pÄrvaldÄmu un droÅ”u. Pateicoties Å”im komponentam, Enterprise Service Mesh iemÄcÄs viegli publicÄt gan iekÅ”Äjos, gan ÄrÄjos API.
Atbalsta pakalpojums konkrÄtiem protokoliem un datu formÄtiem (AS vÄrteja)
PaÅ”laik lielÄkÄ daļa Service Mesh risinÄjumu var darboties tikai ar HTTP un HTTP2 trafiku vai samazinÄtÄ režīmÄ TCP/IP lÄ«menÄ«. Enterprise Service Mesh parÄdÄs kopÄ ar daudziem citiem ļoti specifiskiem datu pÄrsÅ«tÄ«Å”anas protokoliem. Dažas sistÄmas var izmantot ziÅojumu brokerus, citas ir integrÄtas datu bÄzes lÄ«menÄ«. Ja uzÅÄmumam ir SAP, tad tas var izmantot arÄ« savu integrÄcijas sistÄmu. TurklÄt tas viss darbojas un ir svarÄ«ga biznesa sastÄvdaļa.
JÅ«s nevarat vienkÄrÅ”i teikt: "Atteiksim no mantojuma un izveidosim jaunas sistÄmas, kas var izmantot Service Mesh." Lai savienotu visas vecÄs sistÄmas ar jaunajÄm (uz mikropakalpojumu arhitektÅ«ras), sistÄmÄm, kas var izmantot Service Mesh, bÅ«s nepiecieÅ”ams kÄds adapteris, starpnieks, vÄrteja. PiekrÄ«tu, bÅ«tu jauki, ja tas bÅ«tu kastÄ«tÄ kopÄ ar servisu. MaiÅstrÄvas vÄrteja var atbalstÄ«t jebkuru integrÄcijas iespÄju. IedomÄjieties, jÅ«s vienkÄrÅ”i instalÄjat Enterprise Service Mesh, un tas ir gatavs mijiedarbÄ«bai ar visiem nepiecieÅ”amajiem protokoliem. Å Ä« pieeja mums ir ļoti svarÄ«ga.
Aptuveni Å”Ädi mÄs iedomÄjamies Service Mesh (Enterprise Service Mesh) korporatÄ«vo versiju. AprakstÄ«tÄ pielÄgoÅ”ana atrisina lielÄko daļu problÄmu, kas rodas, mÄÄ£inot izmantot gatavÄs integrÄcijas platformas atvÄrtÄ pirmkoda versijas. Tikai pirms pÄris gadiem ieviestÄ Service Mesh arhitektÅ«ra turpina attÄ«stÄ«ties, un mÄs priecÄjamies, ka varam sniegt savu ieguldÄ«jumu tÄs attÄ«stÄ«bÄ. MÄs ceram, ka mÅ«su pieredze jums noderÄs.
Avots: www.habr.com