Wêrom meitsje wy Enterprise Service Mesh?

Service Mesh is in bekend arsjitektoanysk patroan foar it yntegrearjen fan mikrotsjinsten en migrearjen nei wolkinfrastruktuer. Hjoed yn 'e wolk-container wrâld is it frij lestich om te dwaan sûnder it. Ferskate iepenboarne-tsjinstmesh-ymplementaasjes binne al beskikber op 'e merke, mar har funksjonaliteit, betrouberens en feiligens binne net altyd genôch, benammen as it giet om de easken fan grutte finansjele bedriuwen yn it heule lân. Dêrom hawwe wy by Sbertech besletten Service Mesh oan te passen en wolle wy prate oer wat cool is oan Service Mesh, wat net sa cool is, en wat wy der oan sille dwaan.

Wêrom meitsje wy Enterprise Service Mesh?

De populariteit fan it Service Mesh-patroan groeit mei de populariteit fan wolktechnologyen. It is in tawijd ynfrastruktuerlaach dy't de ynteraksje tusken ferskate netwurktsjinsten simplifies. Moderne wolkapplikaasjes besteane út hûnderten of sels tûzenen fan sokke tsjinsten, elk fan dy kin tûzenen eksimplaren hawwe.

Wêrom meitsje wy Enterprise Service Mesh?

De ynteraksje tusken en it behear fan dizze tsjinsten is in wichtige taak fan 'e Service Mesh. Yn feite is dit in netwurkmodel fan in protte proxy's, sintraal beheard en in set fan heul nuttige funksjes útfiere.

Op it proxynivo (gegevensflak):

  • It tawizen en fersprieden fan routing- en ferkearsbalânsbelied
  • Ferdieling fan kaaien, sertifikaten, tokens
  • Samling fan telemetry, generaasje fan tafersjochmetriken
  • Yntegraasje mei feiligens en tafersjoch ynfrastruktuer

Op it nivo fan kontrôlefleanmasine:

  • It tapassen fan routing- en ferkearsbalânsbelied
  • Behear fan opnij besykjen en time-outs, detectie fan "deade" knopen (kringbrekking), behear fan ynjeksjefouten en garandearjen fan tsjinstfêstens troch oare meganismen
  • Call autentikaasje / autorisaasje
  • Metriken falle (observabiliteit)

It oanbod fan brûkers dy't ynteressearre binne yn 'e ûntwikkeling fan dizze technology is heul breed - fan lytse startups oant grutte ynternetbedriuwen, bygelyks PayPal.

Wêrom is Service Mesh nedich yn 'e bedriuwssektor?

D'r binne in protte dúdlike foardielen foar it brûken fan in Service Mesh. Alderearst is it gewoan handich foar ûntwikkelders: foar it skriuwen fan koade in technology platfoarm ferskynt, dy't de yntegraasje yn 'e wolkynfrastruktuer signifikant ferienfâldiget troch it feit dat de transportlaach folslein isolearre is fan applikaasjelogika.

Dêrnjonken, Service Mesh simplifies de relaasje tusken leveransiers en konsuminten. Tsjintwurdich is it folle makliker foar API-oanbieders en konsuminten om har eigen ynterfaces en kontrakten iens te meitsjen, sûnder in spesjale yntegraasje-yntermediair en arbiter te belûken - de bedriuwstsjinstbus. Dizze oanpak hat signifikant ynfloed op twa yndikatoaren. De snelheid fan it bringen fan nije funksjonaliteit op 'e merk (time-to-market) nimt ta, mar tagelyk nimt de kosten fan' e oplossing ta, om't yntegraasje selsstannich dien wurde moat. It gebrûk fan Service Mesh troch teams foar ûntwikkeling fan saaklike funksjonaliteit helpt hjir in lykwicht te behâlden. As resultaat kinne API-oanbieders har eksklusyf rjochtsje op 'e applikaasje-komponint fan har tsjinst en it gewoan publisearje yn' e Service Mesh - de API sil fuortendaliks beskikber wurde foar alle kliïnten, en de kwaliteit fan yntegraasje sil produksje klear wêze en sil gjin ien fereaskje line fan ekstra koade.

It folgjende foardiel is dat de ûntwikkelder, mei help fan Service Mesh, rjochtet him allinnich op saaklike funksjonaliteit - op it produkt ynstee fan de technologyske komponint fan syn tsjinst. Jo hoege bygelyks net mear nei te tinken oer it feit dat yn in situaasje wêryn in tsjinst fia it netwurk oanroppen wurdt, earne in ferbiningsflater kin foarkomme. Derneist helpt Service Mesh it ferkear te balansearjen tusken kopyen fan deselde tsjinst: as ien fan 'e kopyen "stjert", sil it systeem alle ferkear oerskeakelje nei de oerbleaune live kopyen.

Service Mesh - dit is in goede basis foar it meitsjen fan ferspraat applikaasjes, dy't de details fan 'e kliïnt ferberget fan it leverjen fan petearen oan har tsjinsten sawol yntern as ekstern. Alle applikaasjes mei Service Mesh wurde isolearre op it ferfiernivo sawol fan it netwurk as fan elkoar: d'r is gjin kommunikaasje tusken har. Yn dit gefal krijt de ûntwikkelder folsleine kontrôle oer syn tsjinsten.

Dêrby moat opmurken wurde dat It bywurkjen fan ferdielde applikaasjes yn in servicemesh-omjouwing wurdt makliker. Bygelyks in blau/griene ynset, wêryn twa applikaasje-omjouwings beskikber binne foar ynstallaasje, wêrfan ien net bywurke is en yn standby-modus is. It weromrollen nei de foarige ferzje yn it gefal fan in mislearre release wurdt útfierd troch in spesjale router, de rol wêrfan Service Mesh goed omgiet. Om de nije ferzje te testen, kinne jo brûke canary release - oerskeakelje nei de nije ferzje mar 10% fan ferkear as oanfragen fan in pilotgroep kliïnten. It haadferkear giet nei de âlde ferzje, neat brekt.

Ek Service Mesh jout ús real-time SLA-kontrôle. It ferspraat proxysysteem sil de tsjinst net tastean om te mislearjen as ien fan 'e kliïnten it kwota dat dêroan is tawiisd, grutter wurdt. As API-trochput beheind is, sil gjinien it kinne oerweldigje mei in grut oantal transaksjes: de Service Mesh stiet foar de tsjinst en lit gjin ûnnedich ferkear ta. It sil gewoan werom fjochtsje yn 'e yntegraasjelaach, en de tsjinsten sels sille trochgean te wurkjen sûnder it te merken.

As in bedriuw de kosten foar de ûntwikkeling fan yntegraasjeoplossingen wol ferminderje, helpt Service Mesh ek: Jo kinne oerskeakelje nei de iepen boarne ferzje fan kommersjele produkten. Us Enterprise Service Mesh is basearre op de iepen boarne ferzje fan Service Mesh.

In oar foardiel - beskikberens fan ien folsleine set fan yntegraasje tsjinsten. Om't alle yntegraasje troch dizze middleware boud is, kinne wy ​​alle yntegraasjeferkear en ferbiningen beheare tusken applikaasjes dy't de saaklike kearn fan it bedriuw foarmje. It is hiel noflik.

En ta beslút Service Mesh stimulearret in bedriuw om te ferhúzjen nei in dynamyske ynfrastruktuer. No sykje in protte nei kontenerisaasje. In monolyt snije yn mikrotsjinsten, dit alles prachtich útfiere - it ûnderwerp is oan 'e opkomst. Mar as jo besykje in systeem dat al in protte jierren yn produksje is oer te setten nei in nij platfoarm, dan komme jo fuortendaliks in oantal problemen tsjin: alles yn konteners triuwe en op it platfoarm ynsette is net maklik. En de ymplemintaasje, syngronisaasje en ynteraksje fan dizze ferspraat komponinten is in oar hiel kompleks ûnderwerp. Hoe sille se mei-inoar kommunisearje? Sille d'r fallende mislearrings wêze? Service Mesh lit jo guon fan dizze problemen oplosse en migraasje fan 'e âlde arsjitektuer nei de nije fasilitearje fanwege it feit dat jo de logika fan' e netwurkútwikseling kinne ferjitte.

Wêrom hawwe jo oanpassing fan Service Mesh nedich?

Yn ús bedriuw besteane hûnderten systemen en modules tegearre, en de runtime is heul laden. Dus in ienfâldich patroan fan it iene systeem dat in oar ropt en in antwurd kriget is net genôch, om't wy yn produksje mear wolle. Wat hawwe jo oars nedich fan in mesh foar bedriuwstsjinsten?

Wêrom meitsje wy Enterprise Service Mesh?

Event ferwurking tsjinst

Litte wy ús foarstelle dat wy realtime eveneminteferwurking moatte meitsje - in systeem dat de aksjes fan 'e klant yn realtime analysearret en him direkt in relevant oanbod kin meitsje. Om ferlykbere funksjonaliteit út te fieren, brûke arsjitektoanysk patroan neamd event-driven arsjitektuer (EDA). Gjin fan 'e hjoeddeiske Service Meshes native stypje sokke patroanen, mar dit is hiel wichtich, benammen foar in bank!

It is hiel frjemd dat Remote Procedure Call (RPC) wurdt stipe troch alle ferzjes fan Service Mesh, mar se binne net freonlik mei EDA. Om't Service Mesh in soarte fan moderne ferspraat yntegraasje is, en EDA is in heul relevant arsjitektoanysk patroan wêrmei jo unike dingen kinne dwaan yn termen fan klantûnderfining.

Us Enterprise Service Mesh soe dit probleem moatte oplosse. Derneist wolle wy dêryn de ymplemintaasje fan garandearre levering, streaming en komplekse evenemintferwurking sjen mei in ferskaat oan filters en sjabloanen.

File oerdracht tsjinst

Neist EDA soe it moai wêze om triemmen oer te setten: op Enterprise-skaal is hiel faak allinnich bestânsyntegraasje mooglik. Benammen it ETL (Extract, Transform, Load) arsjitektoanyske patroan wurdt brûkt. Dêryn, yn 'e regel, wikselet elkenien allinich triemmen út: grutte gegevens wurde brûkt, wat ûnpraktysk is om aparte oanfragen yn te drukken. De mooglikheid om native bestân oerdrachten te stypjen yn 'e Enterprise Service Mesh jout jo de fleksibiliteit dy't jo bedriuw nedich is.

Orchestration tsjinst

Grutte organisaasjes hawwe hast altyd ferskate teams dy't ferskate produkten meitsje. Bygelyks, yn in bank wurkje guon teams mei ôfsettings, wylst oaren wurkje mei lieningsprodukten, en d'r binne nochal in protte fan sokke gefallen. Dit binne ferskillende minsken, ferskate teams dy't har produkten meitsje, har API's ûntwikkelje en se oan oaren leverje. En heul faak is d'r ferlet om dizze tsjinsten te komponearjen, en ek komplekse logika te ymplementearjen foar it opfolgjend oproppen fan in set API's. Om dit probleem op te lossen, hawwe jo in oplossing nedich yn 'e yntegraasjelaach dy't al dizze gearstalde logika sil ferienfâldigje (ferskate API's skilje, de fersykrûte beskriuwe, ensfh.). Dit is de orkestraasjetsjinst yn 'e Enterprise Service Mesh.

AI en ML

As mikrotsjinsten kommunisearje fia ien inkele yntegraasjelaach, wit de Service Mesh fansels alles oer de oproppen fan elke tsjinst. Wy sammelje telemetry: wa hat wa belle, wannear, hoe lang, hoefolle kearen, ensfh. As d'r hûnderttûzenen fan dizze tsjinsten binne, en miljarden oproppen, dan sammelet dit alles en foarmje Big Data. Dizze gegevens kinne wurde analysearre mei AI, masine learen, ensfh., En dan kinne guon nuttige dingen dien wurde op basis fan 'e analyseresultaten. It soe passend wêze om op syn minst foar in part de kontrôle fan al dit netwurkferkear en applikaasjeoproppen yntegrearre yn 'e Service Mesh te oerjaan oan keunstmjittige yntelliginsje.

API Gateway Service

Typysk hat in Service Mesh proxy's en tsjinsten dy't mei elkoar prate binnen in fertroude perimeter. Mar der binne ek eksterne tsjinpartijen. De easken foar API's bleatsteld oan dizze groep konsuminten binne folle stranger. Wy diele dizze taak yn twa haaddielen.

  • Feiligens. Problemen yn ferbân mei ddos, kwetsberens fan protokollen, applikaasjes, bestjoeringssystemen, ensfh.
  • Skaal. As it oantal API's dat oan kliïnten betsjinne wurde moat, rint yn 'e tûzenen of sels hûnderttûzenen, is d'r ferlet fan in soarte fan managementark foar dizze set API's. Jo moatte de API konstant kontrolearje: oft se wurkje of net, wat har status is, hokker ferkear streamt, hokker statistiken, ensfh. In API-gateway moat dizze taak behannelje, wylst it heule proses behearber en feilich makket. Mei tank oan dizze komponint leart Enterprise Service Mesh maklik sawol ynterne as eksterne API's te publisearjen.

Stipe tsjinst foar spesifike protokollen en gegevensformaten (AS-gateway)

Op it stuit kinne de measte Service Mesh-oplossingen natuerlik allinich wurkje mei HTTP- en HTTP2-ferkear of yn in fermindere modus op it TCP / IP-nivo. De Enterprise Service Mesh is opkommende mei in protte oare heul spesifike protokollen foar gegevensferfier. Guon systemen kinne berjochtmakkers brûke, oaren binne yntegreare op it databanknivo. As it bedriuw SAP hat, dan kin it ek in eigen yntegraasjesysteem brûke. Boppedat, dit alles wurket en is in wichtich part fan it bedriuw.

Jo kinne net gewoan sizze: "Litte wy legacy ferlitte en nije systemen meitsje dy't Service Mesh kinne brûke." Om alle âlde systemen te ferbinen mei de nije (op in mikroservice-arsjitektuer), sille systemen dy't Service Mesh brûke kinne in soarte fan adapter, tuskenpersoan, gateway nedich hawwe. Iens, it soe moai wêze as it yn in doaze kaam tegearre mei de tsjinst. De AC-gateway kin elke yntegraasje-opsje stypje. Stel jo gewoan foar, jo ynstallearje gewoan Enterprise Service Mesh en it is ree om te ynteraksje mei alle protokollen dy't jo nedich binne. Dizze oanpak is tige wichtich foar ús.

Dit is sawat hoe't wy ús de bedriuwsferzje fan Service Mesh (Enterprise Service Mesh) foarstelle. De beskreaune oanpassing lost de measte problemen op dy't ûntsteane as jo besykje klearmakke iepen boarne ferzjes fan it yntegraasjeplatfoarm te brûken. Yntrodusearre mar in pear jier lyn, Service Mesh-arsjitektuer bliuwt evoluearje, en wy binne optein om te kinnen bydrage oan de ûntwikkeling. Wy hoopje dat ús ûnderfining nuttich foar jo sil wêze.

Boarne: www.habr.com

Add a comment