Microservices mit einem Service Mesh verbinden
ZUSAMMENFASSUNG
Die Integration eines Service Mesh verbindet Ihre Microservices und skaliert Kubernetes bei minimalem Verwaltungsaufwand.
Service Mesh ist der nächste große Trend in der Anwendungsbereitstellung
Ein Service Mesh verbindet Microservices miteinander, erleichtert die Absicherung und Orchestrierung containerisierter Komponenten und vereinfacht die Arbeit von Cloud-Architekten.
Zuerst waren es Anwendungen überall und für alles, dann kamen Microservices (und die Container-Technologien, die sie ermöglichen). Welche Innovation wird als Nächstes dazu beitragen, über Apps ein herausragendes Benutzererlebnis zu bieten? Service Mesh.
Der Microservice-Ansatz basiert auf kleinen Komponenten, die jeweils einem einzigen Zweck dienen und zu größeren, komplexeren Anwendungen zusammengesetzt werden. Für nahezu jede Aufgabe lässt sich ein Microservice erstellen. Da sich jeder Microservice auf eine einzelne Funktion konzentriert, kann er relativ schnell entwickelt werden. Je mehr Funktionen jedoch benötigt werden, desto komplexer wird die Koordination der Microservice-Komponenten.
Die Entwicklung herkömmlicher Anwendungen (manchmal auch als monolithische Anwendungen bezeichnet) dauert zwar länger, sie bieten jedoch auch Vorteile. Da viele unterschiedliche Funktionen von einem einzigen Programm ausgeführt werden, ist die Koordination zwischen den Komponenten in der Regel bereits in das System integriert. Es gibt nur eine einzige Codebasis, wodurch sich Fehler in herkömmlichen Anwendungen leichter diagnostizieren und beheben lassen.
Was ist ein Service Mesh?
Ein Service Mesh ist eine transparente Infrastrukturschicht, die die Kommunikation zwischen Microservices ermöglicht. Dadurch profitieren auf Microservices basierende Anwendungen von denselben Vorteilen wie herkömmliche Anwendungen – etwa Ausfallsicherheit, Beobachtbarkeit und Sicherheit.
Der Business Case für ein Enterprise Service Mesh
Der Übergang vom Monolithen zu Microservices wurde vor allem durch die Notwendigkeit vorangetrieben, Anwendungsteams agiler zu machen und ihnen eine schnellere Umsetzung zu ermöglichen. Die Aufteilung einer großen Anwendung in viele kleine Komponenten ermöglichte es den einzelnen Teams, sich zu spezialisieren. Dadurch konnten sie schneller iterieren, als wenn sie jeden Aspekt des Monolithen berücksichtigen mussten.
Diese Geschwindigkeit und Agilität hat jedoch ihren Preis: eine höhere Komplexität. Microservices vereinfachen die Entwicklung, bringen aber neue Herausforderungen mit sich, insbesondere bei der Absicherung und Orchestrierung zahlreicher kurzlebiger Komponenten. Mit einem Service Mesh können Entwickler die Komplexität auslagern, wenn Microservice-basierte Anwendungen skalieren.
“Das Ziel multidimensionaler Transparenz besteht darin, Datensilos zu beseitigen und Informationen innerhalb einer Organisation zugänglich zu machen.”
In einem kürzlich veröffentlichten Podcast formulierte es Andrew Jenkins, Mitbegründer und CTO von Aspen Mesh, so: „In einer Service-Mesh-Umgebung besteht die größte Veränderung nicht darin, was Anwendungsentwickler tun müssen, sondern in all den Dingen, die sie nicht tun sollen.“ So übernimmt beispielsweise die Sicherheitskomponente eines Service Mesh die Authentifizierung und steuert, ob eine Anwendung einer anderen vertraut. Wenn eine Anfrage fehlschlägt, kann der Plattformbetreiber festlegen, ob der Microservice einen erneuten Versuch unternimmt oder außer Betrieb genommen wird.
In dieser neuen Umgebung können sich die Entwickler darauf konzentrieren, Anfragen an die Service-Mesh-Schicht weiterzuleiten. Der Plattformbetreiber, der Zugriff auf Tools zur Überwachung der gesamten Kommunikation zwischen den Microservices hat, kann dem Anwendungsentwickler eine völlig neue Bandbreite an Daten und Metriken zur Verfügung stellen. „In einem Service Mesh muss man eine solche Störung nur an einer Stelle beheben, und schon ist sie überall behoben. Dieses Prinzip der Konsistenz zeigt sich immer wieder“, so Jenkins.
Wann ein Service Mesh eingesetzt werden sollte
Stellen Sie sich ein Service Mesh als einen leistungsstarken neuen Werkzeugkasten vor. Er enthält Werkzeuge für Sicherheit, Transaktionsverarbeitung, Verschlüsselung, Empfehlungs-Engines, verteiltes Tracing und vieles mehr. Doch leistungsstarke Werkzeuge helfen Ihnen nicht, wenn Sie nicht wissen, wie man sie einsetzt. Unternehmen, die ein Service Mesh frühzeitig erfolgreich einführen möchten, benötigen fundierte Erfahrung mit Cloud-Architekturen sowie ein Plattformteam, das mit der Definition von Infrastrukturdiensten für Entwickler vertraut ist.
Viele Unternehmen setzen erfolgreich Kubernetes und andere Container-Technologien ohne ein Service Mesh ein. Standardimplementierungen von Kubernetes lösen inhärente Bereitstellungsprobleme sehr gut. Bei zunehmender Skalierung treten in Kubernetes-Anwendungen jedoch Laufzeitprobleme auf, die weniger gut abgedeckt werden, etwa Verschlüsselung, Circuit Breaking und dynamisches Traffic-Routing. Lösungen wie NGINX und andere Container-Ingress-Lösungen schließen einen Großteil dieser Lücke, indem sie Möglichkeiten bieten, den in eine Anwendung eingehenden Netzwerkverkehr zu erfassen, zu gestalten, zu steuern und zu visualisieren. Wenn Entwickler jedoch an die Grenzen dessen stoßen, was diese Tools leisten können, verspricht ein Service Mesh neue Einblicke in die Möglichkeiten containerisierter Microservices.
Fazit
Derzeit ist ein Service Mesh noch eine hochmoderne Technologie. Für Unternehmen, die bereits vollständig auf Kubernetes setzen oder die Entwicklung mit Kubernetes planen, ist es einfacher, frühzeitig ein Service Mesh zu implementieren, als es später nachträglich zu integrieren. Wenn Sie Kubernetes skalieren und den Verwaltungsaufwand minimieren möchten, benötigen Sie ein Service Mesh.
Für Unternehmen mit komplexen Sicherheitsanforderungen oder einer starken Abhängigkeit von auf Microservices basierenden Anwendungen kann ein Service Mesh die Bereitstellung und Wartung beschleunigen, die Sicherheit erhöhen und zur Optimierung des Ressourcenverbrauchs beitragen. Service-Mesh-Umgebungen verbessern die Transparenz und liefern Daten auf Mikro- und Makroebene, die zur Optimierung von Anwendungen genutzt werden können.
Service Mesh ist die nächste Entwicklungsstufe für Microservices und Container-Technologien. Mit der richtigen Strategie kann es ein leistungsstarkes Werkzeug sein.
Ähnliche Inhalte
E-BOOK
Sichere Cloud-Architektur
Geschwindigkeit ohne die üblichen Kompromisse – mit der richtigen Cloud-Architektur wird sie Realität.
LÖSUNGSÜBERBLICK
Cloud-native 5G-Infrastruktur
Die 5G-Infrastrukturlösungen von F5 bieten Serviceprovidern die erforderlichen Tools zur Modernisierung ihrer Netzwerkinfrastruktur.
LÖSUNGEN
NGINX
Erfahren Sie, wie Sie Microservices verbinden, absichern und skalieren.
PODCAST
Was darunter liegt
Entdecken Sie Service Mesh und seine Alternativen im Podcast „What Lies Beneath“.




