Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Cloud Computing

Service Mesh erklärt: Wie Open-Source-Meshes Microservice-Kommunikation vereinfachen

Bei der Entwicklung in einer Microservice-Architektur gibt es viele individuelle Komponenten, die das DevOps-Team konfigurieren muss. Damit Microservices zusammenarbeiten, benötigen sie etablierte Kommunikationskanäle für Informationsaustausch und Datentransfer.

Eine Möglichkeit, Kommunikation zwischen Services zu managen und zu überwachen, ist die Nutzung eines Service Mesh.

Was ist ein Service Mesh?

Ein Service Mesh ist ein dedizierter Infrastruktur-Layer, der zur Microservice-Architektur hinzugefügt wird. Seine Hauptrolle ist es, schnelle und sichere Service-zu-Service-Kommunikation zu gewährleisten. Dieses Low-Latency-Tool managt und überwacht Inter-Service-Kommunikation und Datenaustausch.

Es besteht aus einer Control Plane, von der Entwickler spezifische Regeln und Policies auf den Networking-Layer implementieren. Die Control Plane arbeitet direkt mit der Data Plane, einer Sammlung von Sidecar-Proxies, die alongside den Services laufen. Diese Proxies sind verantwortlich für die gesamte Kommunikation zwischen den Services. Zusätzlich überwachen sie und liefern wertvolle Einblicke in die Gesamtapplikationsperformance und helfen, potenzielle Probleme zu finden und Downtime zu vermeiden.

Service Mesh erklärt: Wie Open-Source-Meshes Microservice-Kommunikation vereinfachen

Die Proxies bieten wertvolle Capabilities, einschließlich:

Der Aufstieg der Service-Mesh-Architektur

Um vollständig zu verstehen, wie ein Service Mesh funktioniert, müssen wir untersuchen, warum ein solches Tool entwickelt wurde. Der Aufstieg der Service-Mesh-Architektur entstand als Lösung für eine Reihe von Problemen im Zusammenhang mit Microservices.

Viele Entwicklungsteams machten den Wechsel von der Entwicklung monolithischer Applikationen zu Microservice-Architektur. Dies teilte eine Applikation von einer monolithischen Einheit in ein System individueller Services, die zusammenarbeiten. Die Applikation besteht aus mehreren autonomen Services mit ihren individuellen Funktionalitäten.

Die Schwierigkeit bei der Entwicklung einer solchen Applikation ist die Konfiguration der besten Art, wie diese Services miteinander sprechen. Die Applikationsperformance hängt davon ab, dass die Services zusammenarbeiten und Daten teilen, um die beste User Experience zu bieten. Ein Webshop könnte beispielsweise aus einem Login-Service bestehen, der mit einem Buy-Service kommuniziert, der Informationen von einer Inventar-Datenbank benötigt und so weiter.

Da Microservices über APIs kommunizieren, war das Finden der besten Lösung für Discovery und Routing wichtig. Zusätzlich mussten Entwickler sicherstellen, dass die Kommunikation innerhalb des Systems sicher war. Während Firewalls die Applikation vor außenstehenden Attacken schützten, gab es ein flaches, offenes Netzwerk innerhalb der Microservice-Architektur.

Vor Service-Mesh-Architektur wurde diese Task von Load Balancern gehandhabt. Dies war jedoch keine praktische Lösung, besonders im größeren Maßstab, aufgrund von Deployment- und Kostenproblemen. Der Service Mesh wurde als ultimative Lösung für all die oben genannten Probleme entwickelt. Er präsentierte einen Networking-Layer mit einer zentralisierten Registry (Control Plane), die alle Services mit seinen Sidecar-Proxies managte. Diese sind viel einfacher zu konfigurieren und zu skalieren im Vergleich zu Load Balancern. Entwickler können die Proxies nach Bedarf hoch- und runterskalieren und Routing-Regeln ändern, ohne die Services zu modifizieren.

Service-Mesh-Vorteile

Die signifikantesten Vorteile von Service Mesh sind:

Liste Open-Source Service Meshes

Es gibt eine Reihe von Open-Source-Service-Meshes. Istio, Linkerd und Consul sind am weitesten verbreitet.

Unten finden Sie mehr Details zu jeder Plattform.

Istio

Istio ist eine Open-Source-Infrastruktur, designed von Google, IBM und Lyft. Es ist eine der frühesten Service-Mesh-Plattformen. Es nutzt Istiod, eine Control Plane, bestehend aus mehreren Komponenten (Pilot, Citadel und Mixer) für Betrieb und Konfiguration des Service Mesh. Die Data Plane besteht aus Envoy-Proxies, entwickelt in C++. HTTP/TCP-Verbindungen werden vom Gateway, Istios Load Balancer, gemanagt. VirtualService und DestinationRules definieren Routing-Regeln und Policies.

Service Mesh erklärt: Wie Open-Source-Meshes Microservice-Kommunikation vereinfachen

Linkerd

Linkerd ist ein leichtgewichtiger Open-Source-Service-Mesh, entwickelt vom Cloud Native Computing Foundation (CNCF) Projekt. Es ist einfach in einem Kubernetes-Cluster auf jeder Plattform zu installieren, ohne zusätzliche Konfiguration. Keine Konfiguration zu haben ist vorteilhaft bei kleineren Clustern. Großskalige Projekte erfordern jedoch die Möglichkeit der Konfiguration, um alle Services im Cluster erfolgreich zu managen.

Seine Sidecar-Proxies sind in Rust geschrieben. Linkerd nutzt den Controller für die Control Plane und das Web Deployment für das Dashboard. Zusätzlich nutzt es Prometheus für das Erkunden und Speichern von Metriken und Grafana für das Rendern und Anzeigen von Dashboards.

Service Mesh erklärt: Wie Open-Source-Meshes Microservice-Kommunikation vereinfachen

Consul Connect

Consul wurde zuerst als Service-Discovery-Tool designed und entwickelte sich später zu einem Service Mesh. Im Gegensatz zu Linkerd beinhaltet Consul Connect viel Konfiguration, was Ihnen mehr Kontrolle über die Netzwerkumgebung gibt. Entsprechend ist es schwerer zu nutzen als Linkerd. Dieser Open-Source-Service-Mesh ist plattformagnostisch, was bedeutet, dass er weder Kubernetes noch Nomad erfordert. Dennoch vereinfacht Nomad den Prozess des Managements von Microservice-Kommunikation durch Consul.

Service Mesh erklärt: Wie Open-Source-Meshes Microservice-Kommunikation vereinfachen

Microsofts Open Service Mesh

Open Service Mesh (OSM) ist ein CNCF Envoy Projekt, das ein Service-Mesh-Interface implementiert, um dynamische Microservice-Applikationen zu managen und zu sichern. Es nutzt Envoy xDS als Sidecar-Container. Seine Hauptfeatures umfassen Traffic Shifting, Zertifikatsmanagement, Aktivierung von mTLS, automatische Sidecar-Injection und Access-Control-Policies.

Kuma

Kuma ist eine Open-Source-Control-Plane für Kubernetes und VMs, die innerhalb eines Service Mesh laufen. Es hat L4+L7 Policy Architecture, die Features wie Service Discovery, Routing, Zero-Trust-Security und Observability implementiert. Die Plattform ist hochskalierbar und einfach einzurichten.

OpenShift Service Mesh Red Hat

Red Hat entwickelte sein OpenShift Service Mesh für das Managen von Microservice-Applikationen. Es bietet multiple Interfaces für Networking und erhöhte Sicherheit mit Security Context Constraint. Es misst Performance mit Jaeger und beobachtet Interaktionen zwischen Services mit Kiali. Zusätzlich beinhaltet OpenShift den Red Hat 3scale Istio Mixer Adapter für bessere API-Sicherheit.

AWS App Mesh

Amazon entwickelte App Mesh, eine kostenlose Service-Mesh-Software, die alle Ihre Services innerhalb einer Microservice-Architektur managt. Es bietet High-Availability und End-to-End-Visibility für Ihre Microservice-Applikation. AWS App Mesh integriert mit AWS Fargate, Amazon ECS, Amazon EC2, Amazon EKS, Kubernetes und AWS Outposts. Mit seinen Monitoring-Tools exportiert es automatisch Monitoring-Daten.

Network Service Mesh

Network Service Mesh ist ein Open-Source CNCF Sandbox Projekt. Es ist ein Hybrid/Multi-Cloud IP Service Mesh, das ein einfaches Set von APIs nutzt, um Konnektivität zu erleichtern. Es stellt eine Verbindung zwischen Services her, die in Containern laufen, und mit externen Endpunkten. Wenn implementiert, erfordert es minimale Änderungen an Kubernetes.

Fazit

Ein Service Mesh vereinfacht das Managen und Warten einer Applikation, die mit Microservice-Architektur entwickelt wurde. Es verbessert die Gesamtsicherheit innerhalb der Microservice-Architektur und gewährleistet Visibility und Observability des Traffic-Flows. Insgesamt verbessern die Service-Mesh-Features Performance und beschleunigen den Entwicklungszyklus. Mit einer breiten Vielfalt an Open-Source-Lösungen finden Sie eines, das den Bedürfnissen Ihrer Applikationen am besten entspricht.


Cloud Computing

  1. Top Cloud Computing Kurse für 2026: Von AWS Fundamentals bis Marylands MicroMasters
  2. Warum Wasserstrahlschneiden? Schlüsselvorteile für präzise Metallfertigung
  3. Sandstrahlen: Hauptvorteile für Oberflächenvorbereitung und Metallfertigung
  4. Wesentliche Eigenschaften von Graphit: Struktur, Festigkeit, Anwendungen
  5. Vorteile des Wasserstrahlschneidens für die Präzisionsfertigung entdecken
  6. Die 7 Kernarten der Technologie im Überblick
  7. Die verschiedenen Prototyping-Arten verstehen: Leitfaden für Gründer
  8. Die 4 Kernarten von Fertigungsprozessen erkunden
  9. 5-Achs-Bearbeitung meistern: Präzision, Effizienz und Schlüsselanwendungen
  10. Lagerarten im Überblick: Kugel-, Rollen- und Präzisionslager