8 Beste Service Mesh Managers om moderne applicaties te bouwen

Als je met microservices werkt, bestaan ​​je applicaties uit veel verschillende kleinschalige services die moeten communiceren om samen als een systeem te kunnen functioneren.

De microservices communiceren in veel gevallen rechtstreeks met elkaar tussen de afzonderlijke services, waardoor ze inefficiënt en storingsgevoelig zijn, maar dit is precies waar service mesh kan helpen.

Wat is een servicemesh?

De term service mesh beschrijft in eerste instantie een manier om de uitwisseling van gegevens tussen verschillende microservices van een applicatie te regelen. Concreet gaat het om het gebruik van software die de communicatie tussen microservices mogelijk maakt:

  • Identificatie van de toepassing:
  • Load-balancing
  • authenticatie
  • Encryptie

Een mesh-netwerk van onderling verbonden microservices wordt gecreëerd door parallelle verbindingen die via hun proxy’s lopen. Voor dit doel wordt een genetwerkt microservicenetwerk geïntegreerd in een netwerkbeheersysteem voor datacenters op een hoger niveau. Het is dan gemakkelijker om de communicatie te optimaliseren zonder onderhevig te zijn aan downtime tijdens de evolutie van de applicatie. In werkelijkheid heeft elke applicatieservice andere services nodig om aan de gebruikersbehoeften te voldoen.

Met een online verkoopapplicatie zal de gebruiker bijvoorbeeld voor elke aankoop te weten komen of het betreffende artikel inderdaad beschikbaar is. Hiervoor moet communicatie tot stand worden gebracht tussen de dienst in relatie tot de database en de webpagina van het product. Deze moet dan communiceren met het online winkelwagentje van de gebruiker.

Daarnaast kan de reseller een productvoorstelservice opzetten op de applicatie om gebruikers beter te begeleiden. In dit geval moet deze nieuwe service niet alleen worden uitgewisseld met een database met producttags om de voorstellen uit te geven, maar ook met de inventarisdatabase, die vooraf met de productpagina moet communiceren. Het is eigenlijk een set herbruikbare producten.

  11 beste Valheim-serverhostingproviders in 2022 [Updated]

Moderne applicaties zijn typisch zo opgezet als een netwerk van diensten die tot doel hebben een specifieke bedrijfsfunctie uit te voeren.

Hoe werkt een service mesh en wat zijn de voordelen?

Opgemerkt moet worden dat een Service Mesh geen andere functionaliteiten creëert in de werkomgeving van een applicatie. De Service Mesh die in een toepassing is gemaakt, heeft de vorm van een groep netwerkproxy’s, wat een bekend begrip blijft in de sector van bedrijfscomputers.

U gebruikt waarschijnlijk proxy’s elke keer dat u webpagina’s bezoekt met een werkcomputer. Proxy’s op basis van de infrastructuurlaag van microservices helpen bij het routeren van verzoeken tussen hen. Vandaar het woord “zijspan” duidt de proxy’s aan die zich in een servicemesh bevinden, en dit komt omdat hun uitvoering naast de services wordt uitgevoerd en niet erin. De “sidecar”-proxy’s van de verschillende diensten vormen een mesh-netwerk.

Bovendien moeten ontwikkelaars, bij afwezigheid van een servicemesh, elke microservice coderen volgens de communicatiestrategie tussen services. Omdat de communicatielogica tussen afdelingen in elke afdeling verborgen is, hebben ontwikkelaars moeite om de bedrijfsdoelen te bereiken.

Bovendien zijn ze onderhevig aan moeilijkheden tijdens de diagnose van communicatieproblemen. Ten slotte maakt een netwerk van diensten het mogelijk om oplossingen te vinden voor een aantal problemen met betrekking tot het beheer van de communicatie tussen diensten.

Met service mesh kunt u deze communicatie automatiseren, aangezien de benodigde gegevens en inzichten eenvoudig toegankelijk zijn in de uitbestede infrastructuur van het mesh-netwerk. Het vereenvoudigt het lokaliseren en verhelpen van eventuele problemen en storingen. Bovendien kunnen de IT-afdelingen van het bedrijf worden ontlast en zich wijden aan andere, waardetoevoegende taken.

Door communicatie-abstractie kunnen mislukte services ook automatisch worden omzeild en belemmeren ze de gegevensuitwisseling van functionerende applicatiedelen niet. De gemakkelijk toegankelijke gegevens van het service mesh-systeem kunnen ook eenvoudig worden geanalyseerd en maken zo operationele verbetering en prestatieverhoging van de applicatie mogelijk.

  Verkoop producten van één platform naar overal - Shopify

We hebben doorgenomen hoe service mesh werkt; Laten we nu eens kijken naar enkele van de beste service mesh-managers:

Meshery

Meshery is een mesh-servicemanager waarmee u verschillende service-mesh-oplossingen kunt uitvoeren. Het kan worden geïmplementeerd op Kubernetes en Docker. Mastery biedt een gebruikersinterface en CLI om de maatstaf te bepalen voor alle belangrijke mesh-serviceoplossingen, waaronder Linkerd en Istio. Meshery kan direct op het cluster of lokaal worden geïmplementeerd.

Amazon-app-mesh

AWS-app-mesh is een netwerk-mesh-service voor Amazon’s Kubernetes-platform (EKS). Het biedt beheer op applicatieniveau via envoy sidecar-proxy voor inkomend en uitgaand verkeer en maakt gebruik van circuitonderbreking om waarneembaarheidsstatistieken te bieden met behulp van AWS X-Ray. AWS app mesh kan ook worden gebruikt naast andere diensten zoals Amazon EC2 en AWS Fargate.

Linkerd

Linkerd is een open-source netwerkmeshmanager die een op Rust gebaseerde, op maat gemaakte proxy gebruikt om microservices te beheren. Het wordt geleverd met Grafana vooraf geïnstalleerd om waarneembaarheidsstatistieken te bieden. Linkerd biedt, in tegenstelling tot andere open-source mesh-managers, een GUI en ondersteunt niet alleen Prometheus, maar ondersteunt ook ingress-controllers zoals Traefik, Kong en Gloo. Linkerd ondersteunt ook automatische implementatie-upgrades voor clusters.

Istio

Istio is een open-source servicemesh die Envoy-proxy gebruikt om microservices te beheren. Istio biedt verschillende functies, zoals taakverdeling, het maken van beleid, verkeersroutering, time-outs, circuitonderbreking, verkeersverschuiving en nieuwe pogingen. ‌Istio biedt ook gedistribueerde traceringsfunctionaliteit over containers of machines zonder de installatie van extra software.

Kuma

Kuma is een servicemesh gemaakt door Kong, dat wordt gebruikt om de werking van bestaande services via Envoy-proxy uit te breiden. Kuma ondersteunt verschillende microservices en biedt verbeterde beveiliging en monitoring voor de netwerken. Het wordt geleverd met een aantal vooraf gebundelde beleidsregels voor routering, mTLS, verkeerscontrole en verschillende beveiligingsfuncties. Met Kuma kunt u eenvoudig verschillende geïsoleerde meshes besturen via een enkel besturings- en gegevensvlak.

  Hoe Apple AirPods opnieuw in te stellen

Nginx Mesh

Nginx is een service-mesh voor Kubernetes die verkeer tussen containers versleutelt met behulp van het datavlak aangedreven door Nginx Plus. Nginx gebruikt snelheidsbeperking en stroomonderbrekers om het verkeer tussen services te beheren en wordt geleverd met een Grafana-dashboard voor het observeren van statistieken van servicemesh.

Consul

Consul by HashiCorp is een servicemesh die een ingebouwde proxylaag biedt en ook de Envoy sidecar-proxy ondersteunt. Het biedt padgebaseerde routering, verkeersverschuiving en taakverdeling. Consul is geïntegreerd met HashiCorp Vault en ondersteunt ook mTLS. Het kan worden geïntegreerd met Prometheus en Grafana om waarneembaarheidsstatistieken te bekijken.

Gloo Mesh

Gloo Mesh is een service-mesh gebouwd bovenop Istio-mesh en gebruikt Envoy-proxy waarmee u een Zero Trust-beveiligingsmodel kunt implementeren. Gloo ondersteunt multi-tenancy Kubernetes, VM’s en andere microservices. Het is zowel CI/CD- als GitOps-vriendelijk, wat de implementatie eenvoudiger maakt.

Laatste woorden

Service mesh lost het communicatieprobleem tussen verschillende microservices op en biedt verschillende beveiligingsvoordelen; echter, vanwege honderden verschillende mesh-oplossingen die op de markt beschikbaar zijn, wordt het essentieel om een ​​mesh-service te kiezen die het beste past bij uw vereisten en die gemakkelijk te beheren is.

gerelateerde berichten