Teil 4: Service Mesh

DevOps-Trends: Service Mesh vermittelt zwischen Anwendungsebene und Microservices

Harbinder Kang

© Shutterstock / Artur Szczybylo

Die Fülle an Microservices kann größere Hybrid- oder Multicloud-Deployments sehr komplex machen. Hier bewährt sich zunehmend der Einsatz eines Service Mesh: Die übergeordnete Architekturebene erweitert eine Microservices-Infrastuktur um grundlegende Funktionen wie Monitoring, Routing und die Absicherung des Netzwerkverkehrs. Im vierten Teil unserer DevOps-Serie erfahren Sie, wie sich mithilfe von einem Service Mesh die Interaktionen zwischen den Microservices beobachten, auswerten und steuern lassen.

Die Veröffentlichung von AWS App Mesh und Googles Open-Source-Lösung Istio vor zwei Jahren war eine Art Initialzündung: Das Service Mesh für Unternehmen entwächst seinen Kinderschuhen. Während 2019 noch recht wenig passierte, erleben wir nun, wie die Technologie eine sprunghafte Verbreitung erfährt. Es macht streckenweise den Eindruck, als hätten Organisationen regelrecht auf eine wirksame Methode zum Management von Microservices gewartet. Was nicht besonders erstaunlich ist, da das Service-basierte Architekturmuster enormes Potenzial hat – vorausgesetzt, man weiß es zu nutzen.

Cloud-Jobs in kleinen Arbeitspaketen

Sie treiben den Cloud-Shift ganz eindeutig weiter voran: Microservices sind ein Segen für die Weiterentwicklung von Bereitstellungsinfrastrukturen, die immer schneller immer höher skalierbar sein müssen – und das natürlich mit maximaler Zuverlässigkeit. Entwickler setzen die exakt geschnürten, komprimierten Aufgabenpakete ein, um flexible und portable Architekturen zu realisieren. Damit diese effektiv ineinandergreifen und kontrollierbar bleiben, braucht es Systemtransparenz und kluge Sicherheitsmechanismen. Konkret bedeutet das: Um der enormen Komplexität in Microservice-Umgebungen Rechnung zu tragen, müssen Datenverkehre gebündelt und Zugriffsrechte durchdacht ausgesteuert werden. Analysedaten müssen über diverse Microservices hinweg erfasst und in einer zentralen Anwendung zusammengeführt werden, damit Störquellen und Optimierungspotenziale zeitnah erkannt und gemanagt werden können.

Java Whitepaper

Gratis-Dossier: Java 2020 – State of the Art

GraalVM, Spring Boot 2.2, Kubernetes, Domain-driven Design & Machine Learning sind einige der Themen, die Sie in unserem brandneuen Dossier 2020 wiederfinden werden!

Viele Stärken, klare Herausforderungen

Es zeigt sich also: Bei allen Stärken, die Microservices mitbringen, ist ihre Einführung nicht ohne Herausforderungen für die IT-Teams im Unternehmen. Infrastrukturbetreiber verwalten riesige hybride und Multicloud-basierte Deployments. Die Anwendungslandschaften sind komplex, viele Prozesse verlaufen in traditionellen, monolithischen Umgebungen unter dem Radar. Unter diesen Umständen können zentrale Anforderungen wie die Beobachtbarkeit und Kompatibilität oder auch die Resilienz, Stabilität und Sicherheit von Microservice-Umgebungen DevOps-Teams an ihre Grenzen bringen. Aufgrund der steigenden Beliebtheit von Microservices und der ebenfalls wachsenden Herausforderungen bei der Entwicklung von Bereitstellungsinfrastrukturen ist es deshalb kaum erstaunlich, dass wir mit Service Mesh einen weiteren Boom erleben: Viele Unternehmen setzen auf das dedizierte Layer in ihrer Architektur, um die Interaktion von Microservices optimal auszusteuern. Und damit letztlich auch ihre Komplexität in den Griff zu kriegen.

Übergeordnetem Layer entgeht nichts

Ein Service Mesh eröffnet die Möglichkeit, einen einzelnen Microservices-Cluster und die Interaktionen zwischen verschiedenen Netzen zu beobachten und zu kontrollieren. Schon heute wird es in IT-Landschaften als übergeordnetes Layer innerhalb eines Netzwerkes implementiert, um sämtlichen Verkehr, der in die Anwendungsebene hinein- und auch wieder hinausgeht, zu überwachen. Das erlaubt einen übergreifenden Blick auf alle Services – für DevOps- und SRE-Teams ist dies eine wichtige Voraussetzung, um komplexe Anforderungen für den operativen Betrieb von Anwendungen wie A/B-Testing, Canary-Rollouts, Zugangskontrollen und End-to-End-Authentifizierungen erfüllen zu können.

Als Schlüsseltechnologie zur Entkopplung von Infrastruktur und Anwendungsebene wird Service Mesh darüber hinaus immer häufiger zur Realisierung von Backend-as-a-Service (BaaS) zum Zuge kommen. Schon heute ermöglichen einige Lösungen die Anbindung von Infrastruktur-Backends und die Verteilung von Konfigurationen für Funktionen wie Authentifizierung oder Traffic-Routing. Durch den Einsatz von Service Mesh werden zum einen unnötige oder redundante Schritte zum Aufbau oder zur Erweiterung einer Microservices-Architektur vermieden. Zum anderen wird die Bereitstellung von Cloud-Produkten beschleunigt, da Inhalte, die nicht unmittelbar in Abhängigkeit zu den Applikationen stehen, keine Berücksichtigung finden. Unterm Strich freuen sich die Anwender von Cloud-basierten Produkten über eine optimierte Software-Entwicklung und bessere Wartungsprozesse.

Wenn Altes auf Neues trifft

Eine hohe Bereitstellungs- und Servicequalität bedeutet für Unternehmen, dass sie die benötigte Software viel gezielter nutzen können. In der logischen Konsequenz wird sich Service Mesh als Methode für ein optimiertes Microservices-Management zum Motor für den erfolgreichen Betrieb von Anwendungen entwickeln – und damit zu einem Faktor, der sich auf den Geschäftserfolg auswirkt. Deshalb werden sowohl die Anzahl der Service Mesh-Lösungen als auch die Akzeptanz bei den Anwendern 2021 weiter steigen. Besonders Unternehmen, die sich auf dem Weg von monolithischen Infrastrukturen zu Microservices-Netzwerken befinden, sollten nicht auf das Kommunikationslayer verzichten, wenn sie eine nachhaltige Cloud-Transformation ihrer Systeme sicherstellen wollen. Wenn alte und neue Architekturen zusammenkommen, dann kollidieren Service Mesh und die originäre Infrastruktur miteinander: Bestehende Konfigurationen von virtuellen Maschinen werden ebenso als Grundlage für die Implementierung von Service Mesh dienen wie die Analyse der Service Registry-Einträge.

Für 2021 ist es durchaus denkbar, dass Service Mesh als Architekturkomponente eine ähnlich hohe Akzeptanz wie Kubernetes erfahren wird. Die Transformation in hybride Multi-Cloud-Umgebungen erlaubt ein schnelleres Development und ebenso zügige Deployment-Prozesse und wird damit ganze Servicesegmente und Dienstleistungsbereiche beschleunigen. Für Unternehmen, die in klassischen Segmenten wie beispielsweise dem Bankwesen aktiv sind, bedeutet diese Entwicklung vor allem eines: Wenn Sie mit der Cloud-getriebenen Dynamik des Marktes mithalten wollen, müssen sie weg von ihren klassischen On-premises-Strukturen und heterogene, Service-orientierte Architekturmodelle realisieren, die verschiedene Ansätze wie Serverless, Microservices und Containerization optimal miteinander integrieren. Service Meshes schließen die Lücke zwischen Applikationsebene, Container-Orchestrierung und den Microservices – und werden deshalb künftig als Bindeglied den reibungslosen Anwendungsbetrieb in vielen hybriden Cloud-Strukturen gewährleisten.

Geschrieben von
Harbinder Kang
Harbinder Kang
Als Chefentwickler von Finastra hegt Habinder Kang eine Leidenschaft für Innovationen und Hightech. Die fortlaufende Weiterentwicklung der Finastra-Produkte und die kontinuierliche Optimierung der Software-Bereitstellungszyklen haben für Harbinder Kang oberste Priorität. Er hat vielfältige Erfahrungen im Management von weltweit verteilten agilen Teams, welche Finanzsoftware nach dem Prinzip der DevOps-Philosophie entwickeln.
Kommentare

Hinterlasse einen Kommentar

avatar
4000
  Subscribe  
Benachrichtige mich zu: