8 Bedste Service Mesh Managers til at bygge moderne applikationer

Når du arbejder med mikrotjenester, består dine applikationer af mange forskellige småskalatjenester, der skal kommunikere for at fungere sammen som et system.

Mikrotjenesterne kommunikerer i mange tilfælde med hinanden direkte mellem de enkelte tjenester, hvilket gør dem ineffektive og udsatte for at fejle, men det er netop her, servicemesh kunne hjælpe.

Hvad er et servicenet?

Udtrykket service mesh beskriver oprindeligt en måde at kontrollere udvekslingen af ​​data mellem forskellige mikrotjenester i en applikation. Konkret handler det om at bruge software, der muliggør kommunikation mellem mikrotjenester:

  • Ansøgningsidentifikation
  • Lastbalancering
  • Godkendelse
  • Kryptering

Et mesh-netværk af indbyrdes forbundne mikrotjenester skabes af parallelle forbindelser, der kører via deres proxyer. Til dette formål er et netværksforbundet mikroservicenetværk integreret i et datacenternetværksstyringssystem på højere niveau. Det er så nemmere at optimere kommunikationen uden at blive udsat for nedetid under udviklingen af ​​applikationen. I virkeligheden har hver applikationstjeneste brug for andre tjenester for at imødekomme brugernes behov.

For eksempel, med en online salgsapplikation, vil brugeren før ethvert køb finde ud af, om den pågældende vare faktisk er tilgængelig. Hertil skal der etableres kommunikation mellem ydelsen i forhold til databasen og produktets webside. Så skal sidstnævnte så kommunikere med brugerens online indkøbskurv.

Derudover kan forhandleren oprette en produktforslagstjeneste på applikationen for bedre at vejlede brugerne. I dette tilfælde skal denne nye service ikke kun udveksles med en database med produktmærker for at kunne udstede forslagene, men også med lagerdatabasen, som skal kommunikere med produktsiden på forhånd. Det er faktisk et sæt genanvendelige produkter.

  Bedste MRTG-alternativer til at forbedre din netværksovervågning i 2020

Moderne applikationer er typisk sat op som dette som et netværk af tjenester, hvis formål er at udføre en specifik forretningsfunktion.

Hvordan fungerer et servicenet, og hvad er dets fordele?

Det skal bemærkes, at et Service Mesh ikke skaber andre funktionaliteter i en applikations arbejdsmiljø. Det Service Mesh, der er oprettet i en applikation, er i form af en gruppe af netværksproxyer, som forbliver et velkendt begreb i enterprise computing-sektoren.

Du bruger sandsynligvis proxyer, hver gang du besøger websider ved hjælp af en arbejdscomputer. Proxyer baseret på infrastrukturlaget af mikrotjenester hjælper med at rute anmodninger mellem dem. Deraf ordet “sidevogn” betegner de fuldmagter, der er indeholdt i et servicenet, og det skyldes, at deres eksekvering sker ved siden af ​​tjenesterne og ikke inde i dem. De forskellige tjenesters “sidevogn”-proxyer etablerer et mesh-netværk.

Ydermere, i mangel af en service mesh, finder udviklere sig nødt til at kode hver mikroservice i henhold til kommunikationsstrategien mellem tjenester. Fordi kommunikationslogikken mellem afdelinger er skjult i hver afdeling, kæmper udviklere med at nå virksomhedens mål.

Derudover er de udsat for vanskeligheder under diagnosticering af kommunikationsproblemer. Endelig gør et net af tjenester det muligt at finde løsninger på nogle af problemerne i forbindelse med styring af kommunikation mellem tjenester.

Med service mesh kan du automatisere denne kommunikation, da de nødvendige data og indsigt er let tilgængelige i den outsourcede infrastruktur af mesh-netværket. Det gør det nemmere at lokalisere og eliminere eventuelle problemer og funktionsfejl. Det giver endvidere virksomhedens it-afdelinger mulighed for at blive aflastet og hellige sig andre, værdiskabende opgaver.

  Sådan slår du placering fra på Life360 uden at nogen ved det

På grund af kommunikationsabstraktion kan mislykkede tjenester også omgås automatisk og forringer ikke dataudvekslingen af ​​fungerende applikationsdele. De let tilgængelige data fra service mesh-systemet kan også nemt analyseres og dermed muliggøre driftsforbedring og ydelsesforøgelse af applikationen.

Vi har gennemgået, hvordan servicenet fungerer; lad os nu se på nogle af de bedste servicemesh-managere:

Meshery

Meshery er en mesh service manager som giver dig mulighed for at køre forskellige service mesh løsninger. Det kan implementeres på Kubernetes og Docker. Mastery leverer en UI og CLI til at sætte benchmark for alle de store mesh-serviceløsninger, inklusive Linkerd og Istio. Meshery kan implementeres direkte på klyngen eller lokalt.

Amazon App Mesh

AWS App Mesh er en netværks-mesh-tjeneste til Amazons Kubernetes-platform (EKS). Det giver administration på applikationsniveau gennem envoy sidecar-proxy til ind- og udgående trafik og bruger kredsløbsbrud til at levere observerbarhedsmålinger ved hjælp af AWS X-Ray. AWS app mesh kan også bruges sammen med andre tjenester som Amazon EC2 og AWS Fargate.

Linkerd

Linkerd er en open source netværks-mesh-manager, der bruger en Rust-baseret specialbygget proxy til at administrere mikrotjenester. Den leveres med Grafana forudinstalleret for at give observerbarhedsmålinger. Linkerd tilbyder, i modsætning til andre open source-mesh-managere, GUI og understøtter ikke kun Prometheus, men understøtter også ingress-controllere som Traefik, Kong og Gloo. Linkerd understøtter også automatiske implementeringsopgraderinger på tværs af klynger.

Istio

Istio er et open source-servicenet, der bruger Envoy-proxy til at administrere mikrotjenester. Istio tilbyder flere funktioner såsom belastningsbalancering, oprettelse af politikker, trafikruting, timeouts, kredsløbsbrud, trafikskift og genforsøg. ‌Istio leverer også distribueret sporingsfunktionalitet på tværs af containere eller maskiner uden at kræve installation af yderligere software.

  15 Python-projekter for begyndere at øve og lære

Kuma

Kuma er et servicenet skabt af Kong, som bruges til at udvide driften af ​​eksisterende tjenester gennem Envoy proxy. Kuma understøtter forskellige mikrotjenester og giver forbedret sikkerhed og overvågning af netværkene. Den leveres med en række præ-bundtede politikker for routing, mTLS, trafikkontrol og forskellige sikkerhedsfunktioner. Med Kuma kan du nemt styre forskellige isolerede masker gennem et enkelt kontrol- og dataplan.

Nginx Mesh

Nginx er et servicemesh til Kubernetes, der krypterer trafik mellem containere ved hjælp af dataplanet, der drives af Nginx Plus. Nginx bruger hastighedsbegrænsning og kredsløbsafbrydere til at styre trafik mellem tjenester og leveres med et Grafana-dashboard til at observere metrics for service mesh.

Konsul

Konsul af HashiCorp er et servicenetværk, der giver et indbygget proxy-lag og understøtter også Envoy sidecar-proxy. Det tilbyder sti-baseret routing, trafikskift og belastningsbalancering. Consul er integreret med HashiCorp Vault, og det understøtter også mTLS. Det kan integreres med Prometheus og Grafana for at se observerbarhedsmålinger.

Gloo Mesh

Gloo Mesh er et servicemesh bygget oven på Istio mesh og bruger Envoy proxy, der lader dig implementere en Zero Trust sikkerhedsmodel. Gloo understøtter Kubernetes, VM’er og andre mikrotjenester med flere lejemål. Det er både CI/CD og GitOps venligt, hvilket gør implementeringen nemmere.

Afsluttende ord

Service mesh løser kommunikationsproblemet mellem forskellige mikrotjenester og giver forskellige sikkerhedsfordele; Men på grund af hundredvis af forskellige mesh-løsninger, der er tilgængelige på markedet, bliver det vigtigt at vælge en mesh-tjeneste, der bedst passer til dit behov og er nem at administrere.