Pse e krijojmë Enterprise Service Mesh

Service Mesh është një model arkitekture i njohur për integrimin e mikroshërbimeve dhe kalimin në infrastrukturën e cloud. Sot, në botën e cloud dhe kontejnerëve, është mjaft e vështirë të funksionosh pa të. Tani ekzistojnë disa realizime open-source të service mesh në treg, por funksionaliteti, besueshmëria dhe siguria e tyre shpeshherë nuk janë të mjaftueshme, veçanërisht kur flitet për kërkesat e kompanive financiare të mëdha në nivel kombëtar. Prandaj, ne në Sbertech kemi vendosur të personalizojmë Service Mesh dhe duam të flasim për atë që është e shkëlqyer në Service Mesh, çfarë nuk është dhe çfarë kemi në plan të bëjmë me të.

Pse e krijojmë Enterprise Service Mesh

Popullariteti i modelit Service Mesh është në rritje me popullaritetin e teknologjive në cloud. Ai përfaqëson një shtresë infrastrukturore të dedikuar që lehtëson ndërveprimin midis shërbimeve të ndryshme në rrjet. Aplikacionet moderne në cloud përbëhen nga qindra dhe madje mijëra shërbime të tilla, secila prej të cilave mund të ketë mijëra kopje.

Pse e krijojmë Enterprise Service Mesh

Ndërveprimi dhe menaxhimi i këtyre shërbimeve është një nga detyrat kryesore të Service Mesh. Në thelb, kjo është një model rrjeti i përbërë nga shumë proxy, i menaxhuar në mënyrë qendrore dhe që realizon një sërë funksionesh mjaft të dobishme.

Në nivelin e proxy (data plane):

  • Caktimi dhe shpërndarja e politikave të rrugëzimit dhe balancimit të trafikut
  • Shpërndarja e çelësave, certifikatave, tokenëve
  • Grumbullimi i telemetrisë, formësimi i metrikave të monitorimit
  • Integrimi me infrastrukturën e sigurisë dhe monitorimit

Në nivelin e kontrollit (control plane):

  • Zbatimi i politikave të rrugëzimit dhe balancimit të trafikut
  • Menaxhimi i ripërsëritjeve dhe kohëve të pritjes, identifikimi i node-ve «të vdekur» (circuit breaking), menaxhimi i situatave të dështuara (injecting faults) dhe sigurimi i qëndrueshmërisë (resilience) të shërbimeve përmes mekanizmave të tjerë
  • Autentifikimi/autoriza e thirrjeve
  • Rënia e metrikave (observability)

Rrethi i përdoruesve të interesuar për zhvillimin e kësaj teknologjie është shumë i gjerë — nga startupet e vogla deri te korporatat e mëdha të internetit, për shembull, PayPal.

Për çfarë është e nevojshme Service Mesh në sektorin korporativ

Përdorimi i Service Mesh sjell shumë përfitime të dukshme. Së pari, është shumë e përshtatshme për zhvilluesit: për të shkruar kodin shfaqet një platformë teknologjike, e cila e thjeshton në mënyrë të ndjeshme integrimin në infrastrukturën cloud për shkak se shtresa e transportit është plotësisht e izoluar nga logjika aplikative.

Për më tepër, Service Mesh thjeshton marrëdhëniet midis ofruesve dhe konsumatorëve. Sot blerësit dhe konsumatorët e API-ve është shumë më e lehtë të dyja palët të arrijnë marrëveshje për интерфe rezultatet dhe kontratat vetë, pa nevojën për një ndërmjetës të specializuar integrues dhe arbitër – autobusin e shërbimeve të korporatave. Ky qasje ka një ndikim të rëndësishëm në dy tregues. Rritet shpejtësia e prezantimit të funksionaliteteve të reja në treg (koha për në treg), por kjo rrit koston e zgjidhjes, pasi integrimi duhet të bëhet nga vetë përdoruesi. Përdorimi i Service Mesh nga ekipet e zhvillimit të funksionaliteteve të biznesit lejon ruajtjen e balansit këtu. Në përfundim, ofruesit e API-ve mund të përqendrohen ekskluzivisht në komponentin aplikativ të shërbimit të tyre dhe thjesht ta publikojnë atë në Service Mesh – API menjëherë do të bëhet i disponueshëm për të gjithë klientët, dhe cilësia e integrimit do të jetë gati për prodhim dhe nuk do të kërkojë asnjë rresht shtesë kodi.

Përfitimi tjetër është se zhvilluesi, duke përdorur Service Mesh, përqendrohet ekskluzivisht në funksionalitetin e biznesit — në produktin dhe jo në komponentin teknologjik të shërbimit të tij. Për shembull, tani nuk është e nevojshme të mendoni se në një situatë ku shërbimi do të thirret përmes rrjetit, mund të ndodhi një ndërprerje e lidhjes. Për më tepër, Service Mesh ndihmon në balancimin e trafikut midis kopjeve të një shërbimi të njëjtë: nëse një nga kopjet "vdes", sistemi do të kalojë të gjithë trafikun në kopjet e mbetura aktive.

Service Mesh është një themel i mirë për krijimin e aplikacioneve të shpërndara, e cila fsheh nga klienti detajet e sigurisë për thirrjet e shërbimeve të tij si nga brenda ashtu edhe nga jashtë. Të gjitha aplikacionet që përdorin Service Mesh janë të izoluara në nivelin transportues nga rrjeti dhe njëra-tjetra: nuk ka asnjë lidhje midis tyre. Këtu, zhvilluesi merr kontroll të plotë mbi shërbimet e tij.

Nuk mund të injorohet se përditësimi i aplikacioneve të shpërndara në një ambient ku përdoret Service Mesh bëhet më i lehtë. Për shembull, implementimi blue/green, ku dy mjedise aplikacioni janë të disponueshme për instalim, njëra prej të cilave nuk përditësohet dhe mbetet në modalitetin pritës. Roli i rikthimit në versionin e mëparshëm në rast të një lëshimi të dështuar luhet në mënyrë të shkëlqyer nga Service Mesh.. Për testimin e versionit të ri mund të përdoret gjithashtu lëshimi kanarinë — të kaloni në versionin e ri vetëm 10% të trafikut ose kërkesave nga grupi pilot i klientëve. Trafiku kryesor shkon në versionin e vjetër, nuk ka asnjë ndërprerje.

Po ashtu Service Mesh na jep kontrollin SLA në kohë reale. Sistemi i proksive të shpërndara nuk do ta lejojë shërbimin të dështojë kur ndonjë nga klientët tejkalon kuotën e dhënë. Nëse kapaciteti për API është i kufizuar, askush nuk do të mund ta sulmojë me një numër të madh transaksionesh: Service Mesh qëndron përpara shërbimit dhe nuk lejon trafik të tepërt. Ai thjesht do të filtronte në nivelin e integrimit, ndërsa shërbimet vetë do të vazhdojnë të funksionojnë pa e vënë re këtë.

Nëse një kompani dëshiron të reduktojë shpenzimet për zhvillimin e zgjidhjeve integruese, Service Mesh gjithashtu ndihmon: në versionin e tij open-source mund të kaloni nga produktet komerciale.. Shërbimi ynë Enterprise Service Mesh bazohet në versionin open-source të Service Mesh.

Një tjetër avantazh — prania e një grupi të plotë shërbimesh integruese. Duke qenë se e gjithë integrimi ndërtohet përmes këtij shtrese ndërmjetëse, ne mund të menaxhojmë të gjithë trafikun e integrimit dhe lidhjet midis aplikacioneve që formojnë thelbin e biznesit të kompanisë. Kjo është shumë e dobishme.

Dhe në fund Service Mesh inkurajon kompaninë drejt kalimit në një infrastrukturë dinamike. Tani tani po shikojnë drejt konteinerizimit. Ndërprerja e monolitit në mikroshërbime dhe implementimi i të gjitha këtyre është një temë që është në rritje. Por kur përpiqesh të transferosh një sistem, i cili është tashmë shumë vite në prodhim, për një platformë të re, menjëherë përballesh me një sërë problemesh: t'i futësh të gjitha këto në kontejnerë dhe t'i vendosësh në platformë nuk është e lehtë. Implementimi, sinkronizimi dhe ndërveprimi i këtyre komponentëve të shpërndarë janë një temë tjetër shumë e ndërlikuar. Si do të komunikojnë ata mes tyre? A do të ketë ndonjë dështim në zinxhir? Service Mesh lejon të zgjidhësh pjesërisht këto probleme dhe lehtëson migrimin nga arkitektura e vjetër në të re duke e bërë të mundur që logjika e shkëmbimit të rrjeteve të harrohet.

Pse është e nevojshme personalizimi i Service Mesh

Në kompaninë tonë bashkohen qindra sisteme dhe module, dhe runtime është shumë i ngarkuar. Prandaj, një model i thjeshtë, ku një sistem thërret një tjetër dhe merr një përgjigje, nuk është i mjaftueshëm, sepse në prodhim duam më shumë. Çfarë tjetër na nevojitet nga Service Mesh-i korporativ?

Pse e krijojmë Enterprise Service Mesh

Shërbimi i përpunimit të ngjarjeve

Imagjinoni se na duhet të krijojmë përpunimin e ngjarjeve në kohë reale — një sistem që analizon veprimet e klientit në kohë reale dhe mund t'i bëjë menjëherë një propozim të përshtatshëm. Për të realizuar një funksionalitet të tillë, përdoret një model arkitektonik të quajtur arkitektura e bazuar në ngjarje (EDA). Asnjë nga Mesh-at e Aktualizuar të Shërbimeve nuk e mbështet natyrshëm këtë model, dhe kjo është shumë e rëndësishme, veçanërisht për bankat!

Është mjaft e çuditshme që të gjitha versionet e Mesh-it të Shërbimeve mbështetin thirrjen e largët Remote Procedure Call (RPC), ndërsa me EDA nuk janë në harmoni. Sepse Mesh-i i Shërbimeve është një lloj integrimi të shpërndarë modern, ndërsa EDA është një model arkitektonik shumë aktual që lejon krijimin e gjërave unike në përvojën e klientit.

Mesh-i ynë i Shërbimeve Ndërmarrëse duhet të zgjidhë këtë problem. Për më tepër, ne duam të shohim në të implementimin e dorëzimit të garantuar, përpunimin e rrjedhshëm dhe të kompleks të ngjarjeve duke përdorur filtre dhe template të ndryshme.

Shërbimi i transferimit të skedareve

Përveç EDA-s, do të ishte mirë të kishte mundësinë për të transferuar skedarë: në nivelin Enterprise shpesh vetëm integrimi i skedarëve është i mundur. Në veçanti, përdoret modeli arkitekturor ETL (Extract, Transform, Load — 'nxjerrja, transformimi, ngarkimi'). Në të, zakonisht tregohet se të gjithë shkëmbejnë ekskluzivisht skedarë: përdoren të dhëna të mëdha, të cilat nuk janë të arsyeshme të dërgohen me kërkesa të veçanta. Mundësia e mbështetjes natyrale për transferimin e skedarëve në Enterprise Service Mesh ofron fleksibilitetin e nevojshëm për biznesin.

Shërbimi i orkestrimit

Në organizatat e mëdha, pothuajse gjithmonë ka ekipe të ndryshme që krijojnë produkte të ndryshme. Për shembull, në një bankë, disa ekipe punojnë me depozitat, ndërsa të tjera me produktet e kreditit, dhe raste të tilla janë mjaft të shumta. Këto janë njerëz të ndryshëm, ekipe të ndryshme, që krijojnë produktet e tyre, zhvillojnë API-të e tyre dhe i ofrojnë ato për të tjerët. Shpesh shfaqet nevoja për të kompozuar këto shërbime, si dhe për të implementuar logjikën komplekse të thirrjes se një grupi API. Për të zgjidhur këtë problem, nevojitet një zgjidhje në nivelin e integrimit, e cila do të lejojë thjeshtimin e gjithë kësaj logjike kompozitore (thirrja e disa API-ve, përshkrimi i rrugës së kërkesave, etj.). Ky është shërbimi i orkestrimit në Enterprise Service Mesh.

AI dhe ML

Kur mikroshërbimet komunikojnë përmes një shtrese integruese, Service Mesh natyrshëm di gjithçka në lidhje me thirrjet e çdo shërbimi. Ne mbledhim telemetri: kush thirri kush, kur, sa gjatë, sa herë dhe kështu me radhë. Kur këta shërbime janë qindra mijëra, dhe thirrjet — miliarda, të gjitha këto grumbullohen dhe formojnë Big Data. Këto të dhëna mund të analizohen përmes mjeteve të AI, machine learning dhe të tjera, dhe më pas mund të bëhet diçka e dobishme në bazë të rezultateve të analizës. Do të ishte e përshtatshme të kalojmë të paktën pjesërisht inteligjencën artificiale në menaxhimin e gjithë këtij trafiku rrjet dhe thirrjeve të aplikacioneve, të integruara në Service Mesh.

Shërbimi API Gateway (Shkalla API)

Si rregull, në Service Mesh ka proksi dhe shërbime që komunikojnë me njëra-tjetrën brenda një perimeteri të besueshëm. Por ka edhe kontraktorë të jashtëm. Kërkesat për API-të që i ofrohen këtij grupi konsumatorësh janë shumë më serioze. Këtë detyrë ne e ndajmë në dy pjesë kryesore.

  • Siguria. Pyetje që lidhen me ddos, vulnerabilitetin e protokolleve, aplikacioneve, sistemeve operative dhe kështu me radhë.
  • Shkallët. Kur llogaritë API, që duhet t'u jepen klientëve, shkojnë në mijëra ose madje qindra mijëra, lind nevoja për një mjet menaxhimi të këtij grupi API. Duhet të ndjekim vazhdimisht API: nëse ata funksionojnë ose jo, çfarë statusi kanë, çfarë trafiku po shkon, cila është statistika etj. Një portë API duhet të përballojë këtë detyrë, duke e bërë gjithë procesin të menaxhueshëm dhe të sigurt. Falë këtij komponenti, Enterprise Service Mesh mëson të publikojë pa komplikime si API të brendshme ashtu edhe ato të jashtme.

Shërbimi mbështetës për protokolle specifike dhe formate të dhënash (portë AS)

Aktualisht, shumica e zgjidhjeve të Service Mesh dinë të punojnë natyrisht vetëm me trafik HTTP dhe HTTP2 ose në një mënyrë të kufizuar në nivelin TCP/IP. Enterprise Service Mesh sjell shumë protokolle të tjera të transmetimit të dhënash mjaft specifike. Disa sisteme mund të përdorin brokerë mesazhesh, të tjerat janë të integruara në nivelin e bazave të të dhënave. Nëse në kompani ka SAP, ai gjithashtu mund të përdorë sistemin e vet të integrimit. Dhe të gjitha këto funksionojnë dhe janë një pjesë e rëndësishme e biznesit.

Nuk mund të thoni thjesht: "Le të heqim dorë nga sistemet e vjetra dhe të bëjmë sisteme të reja që mund të përdorin Service Mesh". Për të bashkuar të gjitha sistemet e vjetra me të rejat (në arkitekturën mikro-shërbimore), sistemi që mund të përdorë Service Mesh do t'i duhet një adaptues, ndërmjetës, ose portë. Pajtohuni, do të ishte mirë nëse ai do të vinte i integruar me shërbimin. Porta AS pikërisht mund të mbështesë çdo variant integrimi. Vetëm imagjinoni, thjesht instaloni Enterprise Service Mesh, dhe ai është gati të bashkëveprojë me të gjitha protokollet që ju nevojiten. Për ne, ky qasje është shumë e rëndësishme.

Kështu e paraqesim versionin korporativ të Service Mesh (Enterprise Service Mesh). Kjo personalizim zgjidh shumicën e problemeve që lindin kur përpiqeni të përdorni versione të hapura të platformës integruese. Duke u shfaqur vetëm disa vite më parë, arkitektura e Service Mesh vazhdon të evoluojë, dhe ne jemi të lumtur që mund të kontribuojmë në zhvillimin e saj. Shpresojmë që përvoja jonë do t'ju ndihmojë.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster