Service-Mesh
Was ist ein Service-Mesh?
Der Begriff „Service-Mesh“ bezieht sich auf die Art und Weise, wie Softwarecode von in der Cloud gehosteten Anwendungen auf verschiedenen Ebenen des Webservers in integrierten Layern miteinander verknüpft ist. In der Cloud gehosteter Anwendungscode kann mit APIs erstellt werden, anstatt in einer isolierten Laufzeitumgebung auf dem obersten Layer einer Webserver-Stack-Konfiguration ausgeführt zu werden. APIs vereinfachen Aufrufe anderer softwarebasierter Services, die auf der Ebene von Betriebssystem, Webserver, Netzwerk oder Rechenzentrum verfügbar sind. Ein Service-Mesh erhöht die potenziellen Funktionen von Softwareanwendungen durch Erweitern der interoperablen Kommunikation zwischen Infrastrukturelementen in der Produktion.
Durch automatisierte, kanalübergreifende Kommunikation zwischen ausgeführten Anwendungen verknüpft ein Service-Mesh Tausende von Microservices in den VMs eines elastischen Cloud-Rechenzentrums. Auf allen Betriebsebenen im Rechenzentrum werden dedizierte Service-to-Service-Kommunikationsfunktionen für Anwendungen für Cloud-Orchestrierung, Lastausgleich, Ressourcenermittlung, SDN-Routing, API-Kommunikation, Datenbanksynchronisierung und Skriptoptimierung benötigt. Mit einem Service-Mesh können bessere Datenanalysen und Datenverkehrskennzahlen für mehrschichtige Netzwerkarchitekturen gleichzeitig in Millionen von mandantenfähigen Rack-Servern erreicht werden.

Ein Service-Mesh arbeitet mit SDN zur Unterstützung entscheidender Funktionen wie Netzwerkvirtualisierung und -automatisierung.
Weitere InformationenVerwandte Themen
Vorteile eines Service-Mesh
- Erhöhte Interoperabilität: Ein Service-Mesh erweitert SDN-Routing-Funktionen für integrierte Microservices-Umgebungen zur Unterstützung von Web-, mobilem und SaaS-Anwendungscode.
- Verbesserte Erkennung von Microservices: Ein Service-Mesh optimiert Netzwerkkonfiguration und -management durch bessere Erkennung von Microservices.
- Detaillierte Überwachung und Analyse der Netzwerkaktivität in Echtzeit: Ein Service-Mesh greift sowohl auf Back-End-Prozesse als auch auf Webserver-Hardware zu und kann daher die Netzwerkaktivität in Echtzeit detailliert überwachen und analysieren.
- Leistungsstarke Automatisierung von Web- und mobilen Skripts: Entwickler können Service-Mesh-Funktionen in YAML-Dateien wie Vagrant, Jenkins, Puppet, Chef usw. zum Erstellen leistungsstarker, skalierbarer Automatisierung von Web- und mobilen Skripten aufnehmen. Diese Art Architektur ist zur Unterstützung komplexer SaaS-Anwendungen in der Produktion in Unternehmen erforderlich. Mit einem Service-Mesh können Tausende oder Millionen von Containern koordiniert werden, die simultan in der Cloud ausgeführt werden.
Wie funktioniert ein Service-Mesh?
Ein Service-Mesh erkennt und routet Anwendungen, die auf jeder VM-Instanz oder jedem Knoten in einem elastischen Webservernetzwerk installiert sind, um ausgeführte Microservices per IP-Adresse zu registrieren. Für Konfiguration und Management aller simultan ausgeführten Microservices in einem Netzwerk wird eine zentrale Registry verwendet. Der Service-Mesh kann von parallelen Anwendungen referenziert werden, die auf verschiedenen Layern eines Webservers, Rechenzentrums oder einer Anwendung arbeiten, um interoperable Funktionen durch Datenanalyse und Netzwerküberwachung zu erweitern. Dies führt zu erhöhter Automatisierung des Rechenzentrums in Bezug auf IP-Routing, SDN-Definitionen, Firewall-Einstellungen, Filter, Regeln und Cloud-Lastausgleich.
API-Verbindungen können den Service-Mesh referenzieren, um Definitionen darüber abzurufen, wo ausgeführte Anwendungen und Microservice-Funktionen für Datenübertragungen oder erforderliche Verarbeitungen zu finden sind. Elastische Webserverplattformen, die automatisch mit Kubernetes dimensioniert werden, verwenden Istio als Dienstprogramm für das zentrale Registry- und Konfigurationsmanagement zur Erkennung von Microservices. Elastische Webserverplattformen wie AWS EC2 und Kubernetes nutzen den Service-Mesh, um mehrere Kopien von Cloud-Anwendungen in simultanen Laufzeitumgebungen zu verwalten und Änderungen an der Master-Datenbank und den Storage-Informationen zu synchronisieren. Durch einen Service-Mesh kann der Anwendungs-Layer mit den Netzwerkressourcen Webserver, Internet und Rechenzentrum über APIs kommunizieren oder umgekehrt, je nach den Anforderungen des Microservice oder der Codebasis.
Architektur des Service-Mesh
Ein Service-Mesh basiert auf einem Abstrahierungs-Layer, der in VMs oder Containern in einem Cloud-Rechenzentrum installiert ist. Auf jeder VM oder jedem Knoten wird Code installiert, der mit einer zentralen Administrationssoftware-Instanz kommuniziert, die die Orchestrierung des Rechenzentrums ausführt. Service-Mesh-Lösungen wie VMware NSX und Istio benötigen Envoy zum Erstellen der Datenebene auf Knoten. Envoy verwaltet für jede VM oder jeden Knoten Informationen im Zusammenhang mit ausgeführten Microservices, lizenzierten IP-Adressen, HTTPS-Verschlüsselung, aktiven Datenbankformaten usw. Bei NSX schließt dies die Integration einer verteilten Firewall auf der Ebene des Hypervisors ein. In elastischen Cloud-Netzwerken werden die Informationen zu Datenebenen für jede VM oder jeden Knoten für den Lastausgleich verwendet. API-Verbindungen benötigen die Service-Mesh-Architektur für das anwendungsübergreifende Routing. Telemetrie auf Layer 7 des Service-Mesh umfasst DNS, HTTP/S, SMTP, POP3, FTP usw.
Implementierung des Service-Mesh
Die Implementierung des Service-Mesh umfasst Lastausgleich und Service-Erkennung über das SDN, die IP-Adresse, den Microservice und API-Ressourcen einer Web- oder mobilen Anwendung. Der Service-Mesh verwaltet Kommunikation, Synchronisierung und Verschlüsselung für Verbindungen im Webserver-Back-End auf der Hardware in einer elastischen Webserverarchitektur. In Cloud-Anwendungen sind Skript, Datenbank und statische Webdateien häufig auf verschiedener Hardware verteilt und werden dann auf der letzten Seite des Webbrowsers zusammengestellt. Das SDN-Routing zwischen Hardware, Skripts, Datenbank und Dateien wird durch APIs von Drittanbietern im Code noch komplexer. Wenn all dies ressourcenübergreifend bei jedem Laden der Seite zusammengestellt werden muss, integriert, synchronisiert und standardisiert der Service-Mesh den Betrieb von VMs in elastischen Webserver-Frameworks. Der Service-Mesh wurde entwickelt, um einen Bedarf zu decken, den keine andere Software im Rechenzentrum erfüllt. Er umfasst auch Datenanalysefunktionen und Anwenderkennzahlen aus dem Webdatenverkehr.
Open Source-Service-Mesh
Istio ist derzeit das am weitesten fortgeschrittene, auf Open Source basierende Service-Mesh-Projekt, wobei Envoy für die zentralen Funktionen im Zusammenhang mit dem Management der Datenebene für Knoten eingesetzt wird. Istio wurde ursprünglich als Teil der Cloud Native Computing Foundation (CNCF) entwickelt und wird in VMware NSX Service Mesh und Enterprise PKS-Plattformen verwendet. PKS ist die Kubernetes-Distribution von VMware, die Cloud-Webserver über Container orchestriert. PKS ist als selbst gehostetes Paket für Public und Private Clouds oder als vollständig verwaltetes CaaS-Produkt (Container as a Service) erhältlich. Istio wird für die Mikroservice-Kommunikation in Kubernetes mit komplexen Funktionen für IP-Adressen-Routing und Verschlüsselung zur elastischen Webserver-Orchestrierung in skalierbaren Enterprise-Rechenzentren eingesetzt. Linkerd, Conduit, Aspen und Consul sind andere wichtige Open Source-Projekte, die als Komponenten von Service-Mesh-Frameworks entwickelt werden.
Elastischer Service-Mesh
Für die Synchronisierung von Datenbank- und Website-Dateien in einem Cloud-Hosting-Framework wie AWS EC2 oder Kubernetes ist ein elastischer Service-Mesh erforderlich. Dieser steuert das Routing zwischen VMs im Webserver-Back-End für API- und SDN-Anforderungen beim Support von Softwareanwendungen. Wenn der Service-Mesh auch für Erkennung und Lastausgleich in elastischen Webserver-Netzwerken verwendet wird, können Administratoren Rechenzentrumsressourcen automatisch zuweisen, um die Anforderungen des Anwenderdatenverkehrs in der Produktionsumgebung zu erfüllen. Webserver können so konfiguriert werden, dass sie automatisch gestartet oder beendet werden, wenn sie für eine effizientere Nutzung der Cloud-Hardwareressourcen nicht mehr benötigt werden. Die Integration von Funktionen für Echtzeitüberwachung und -analyse in einen Service-Mesh auf VM- oder Knotenebene ermöglicht es Softwareentwicklern, Programmierern und Web-Publishern, neue Funktionen für Anwendungen mit Microservices zu erstellen.
Gründe für Microservices-Architekturen mit Service-Mesh
Eine Public Cloud kann Millionen gleichzeitig ausgeführter Microservices auf Containern oder virtuellen Maschinen enthalten, die verschiedene Anwendungen und Datenbanken durch isolierte Laufzeitumgebungen parallel unterstützen. Virtualisierte mandantenfähige Umgebungen erfordern eine bessere Methode zum Erkennen und Registrieren von Microservices, damit die jeweiligen Funktionen der einzelnen Microservices von Anwendungen integriert oder über APIs an andere Geräte weitergegeben werden können. Viele Microservice-Formate sind nicht speziell für elastische Webserverplattformen konzipiert und benötigen einen Service-Mesh, um den Betrieb in Containern zu verwalten. Ein Service-Mesh bietet detaillierte Routing- und Verschlüsselungsfunktionen über SDN, die die Kommunikation verschiedener APIs zwischen ausgeführten Codeprozessen auf Webservern, Endpunkten und anderen Geräten ermöglichen.
Zugehörige Produkte, Lösungen und Ressourcen für VMware NSX Service Mesh
NSX Data Center
VMware NSX® Data Center stellt virtualisiertes Networking und Sicherheit vollständig als Software bereit.
VMware NSX Service Mesh
Mit VMware NSX Service Mesh erhalten Sie konsistente Transparenz und Kontrolle für Services, Daten und Anwender.
VMware Enterprise PKS
Mit VMware Enterprise PKS können Sie Kubernetes für die Produktion bereitstellen, ausführen und verwalten.