Was ist die Microservice-Orchestrierung?

Zwei Personen schauen auf einen Computer

Autoren

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Was ist Microservice-Orchestrierung?

Microservices-Orchestrierung ist die automatische Koordination verteilter Microservices, die als zusammenhängendes Anwendungssystem zusammenarbeiten. Sie kümmert sich um Serviceinteraktionen, Abhängigkeitsmanagement, Fehlertoleranz, Fehlerbehebung und End-to-End-Bereitstellung.

Stellen Sie sich einen Dirigenten in einem Sinfonieorchester vor, der jeden Musiker anweist, zur richtigen Zeit zu spielen. Ebenso kann durch Orchestrierung sichergestellt werden, dass jeder Microservice seine spezifische Funktion bei Bedarf ausführt, um ein nahtloses Erfahrung zu bieten. Ohne diese Koordination würde es Chaos geben: Dienste rufen sich gegenseitig wahllos auf, Arbeitsabläufe werden unterbrochen, wenn Komponenten ausfallen, und es fehlt an Einblick in die Vorgänge in den verschiedenen IT-Infrastrukturen.

Unternehmen benötigen Orchestrierung, da moderne Anwendungen komplex sind und aus Hunderten von Einzeldiensten bestehen. Die Microservices-Orchestrierung fungiert als das System, das diese unabhängigen Dienste in gut koordinierte Anwendungen umwandelt und gleichzeitig die Vorteile der Skalierbarkeit und Flexibilität einer verteilten Architektur beibehält.

Laut einem Bericht von Research Nester wurde der Markt für die Orchestrierung von Microservices im Jahr 2024 auf 4,7 Milliarden US-Dollar geschätzt und wird im Jahr 2032 voraussichtlich 72,3 Milliarden US-Dollar erreichen. Diese Studie zeigt eine durchschnittliche jährliche Wachstumsrate (CAGR) von 23,4 % für den Forecasting-Zeitraum.1  

Die stetige Expansion des Marktes wird durch das Wachstum von Anwendungen bei globalen Technologieunternehmen wie Google und Amazon sowie durch die steigende Nachfrage von E-Commerce, Fintech und Streaming-Diensten vorangetrieben.

Große Streaming-Dienste wie Netflix und Hulu sind Beispiele für einen klassischen Anwendungsfall. Sie verlassen sich auf die Orchestrierung, um Hunderte von Microservices zu koordinieren, die alles von der Benutzerauthentifizierung und Inhaltsempfehlungen bis hin zu Video Streaming und Abrechnung abwickeln. Alle müssen zusammenarbeiten, um Millionen personalisierter Seherlebnisse gleichzeitig zu liefern.

Die neuesten Tech-News – von Experten bestätigt

Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und darüber hinaus auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Was sind Microservices?

Microservices sind kleine, unabhängige und selbstenthaltene Software-Komponenten, die zusammen eine vollständige Anwendung bilden. Sie ermöglichen es Unternehmen, Anwendungen effizienter zu entwickeln, bereitzustellen und zu skalieren.

Im Gegensatz zu herkömmlichen monolithischen Anwendungengliedert die cloudnative Microservices-Architektur Anwendungen in kleinere, fokussierte Dienste auf, die bestimmte Geschäftsfunktionen übernehmen. Jeder Microservice wird unabhängig ausgeführt, kommuniziert über Programmierschnittstellen (APIs) und kann separat entwickelt, bereitgestellt und skaliert werden.

Nehmen wir zum Beispiel eine Mitfahr-App wie Uber oder Lyft. Wenn die Anwendung eine Fahranfrage verarbeitet, ruft der Orchestrator den Standortdienst auf, um Treiber zu finden, startet den Abgleichsalgorithmus und berechnet die Preisgestaltung. Der Orchestrator sendet außerdem in einer koordinierten Abfolge Benachrichtigungen an Fahrgäste und Fahrer.

Dieser Ansatz ermöglicht es Unternehmen, flexiblere, skalierbare Systeme aufzubauen, die sich schnell an veränderte Geschäftsanforderungen anpassen. Technologie-Unternehmen wie Netflix, Amazon und Uber leisteten Pionierarbeit bei Microservices, um umfangreiche und schnelle Softwareentwicklung zu bewältigen. Laut einer IBM-Umfrage von 2021 haben 85 % der Unternehmen Microservices eingeführt oder planen deren Einführung, was ihre wachsende Bedeutung unterstreicht.

Microservices

Was sind Microservices?

In diesem Video gibt Dan Bettinger einen umfassenden Überblick über Microservices. Er vergleicht die Anwendungsarchitektur von Microservices mit der traditionellen monolithischen Architektur am Beispiel einer Ticketing-Anwendung und erläutert die unzähligen Vorteile von Microservices und die Lösungen, die sie für die Herausforderungen in Bezug auf Monolithen darstellen.

Wie funktioniert die Orchestrierung in Microservices?

Ein Microservice-Orchestrierungs-Framework verwendet ein zentralisiertes Workflow-Managementsystem, das Geschäftsprozesse durch synchrone Serviceaufrufe verteilt. Der Orchestrator verwaltet Workflow-Definitionen, versteht Service-Abhängigkeiten und kann sicherstellen, dass Microservices in der richtigen Reihenfolge ausgeführt werden.

Wenn beispielsweise ein E-Commerce-Unternehmen wie Amazon eine Kundenbestellung bearbeitet, ruft der Orchestrator den Bestandsservice auf, um die Verfügbarkeit zu prüfen, startet die Zahlungsabwicklung, arrangiert den Versand und sendet Kundenbenachrichtigungen. Der Orchestrator erledigt all diese Aufgaben in einer koordinierten Abfolge.

Diese Koordination stützt sich auf Schlüsseltechnologien wie Docker für die Containerisierung von Anwendungen und Container-Orchestrierungsplattformen wie Kubernetes für die Verwaltung der Containerbereitstellung, Skalierung und Serviceerkennung. Diese Tools ermöglichen eine dynamische Kommunikation der Services bei gleichzeitiger Optimierung der Ressourcenzuordnung in der gesamten Infrastruktur. Der Orchestrator überwacht kontinuierlich jeden Schritt im Prozessfluss, sodass er bei Problemen fehlgeschlagene Vorgänge erneut versuchen, problematische Änderungen rückgängig machen oder Administratoren benachrichtigen kann, um die Systemzuverlässigkeit aufrechtzuerhalten.

Vorteile der Microservices-Orchestrierung

Die Orchestrierung von Microservices bietet die folgenden Hauptvorteile: 

  • Verbesserte Skalierbarkeit und Ressourcenverwaltung: Orchestrierungsplattformen bieten intelligente automatische Skalierung und Ressourcenverwaltung über alle Microservices hinweg und treffen systemweite Skalierungsentscheidungen auf der Grundlage von Bedarfsmustern.
  • Verbesserte Systemstabilität und Fehlerisolierung: Die zentrale Orchestrierung behandelt Fehler automatisch, indem sie den Betrieb erneut versucht, verhindert, dass ein ausgefallener Dienst die gesamte Anwendung zum Absturz bringt, und gewährleistet die Datenkonsistenz über alle Dienste hinweg.
  • Schnellere Entwicklungs- und Bereitstellungszyklen: Durch die automatisierte Servicekoordination entfällt die manuelle Integrationsarbeit, sodass sich die Entwickler auf die Geschäftslogik konzentrieren und gleichzeitig sicherere Bereitstellungen durch koordinierte Rollouts ermöglichen können.
  • Bessere Technologievielfalt und Flexibilität: Entwicklungsteams können optimale Sprachen, Datenbanken und Frameworks für bestimmte Dienste auswählen und gleichzeitig durch eine einheitliche Orchestrierung an koordinierten Arbeitsabläufen teilnehmen.
  • Unterstützung für KI-/ML-Workloads: Die Orchestrierung übernimmt die komplexe Koordination, die für Pipelines für maschinelles Lernen (ML) erforderlich ist, von der Datenvorverarbeitung und dem Modelltraining bis hin zur Bereitstellung und Überwachung. Es verwaltet auch die unterschiedlichen Rechenleistungsanforderungen verschiedener Dienste für künstliche Intelligenz (KI).

Wichtige Microservices-Entwurfsmuster und Orchestrierung

Eine erfolgreiche Orchestrierung stützt sich auf bewährte Entwurfsmuster für Microservices, die häufige Herausforderungen für verteilte Systeme angehen. Hier sind einige der wichtigsten Beispiele:

Saga-Muster

Ein Saga-Muster verwaltet verteilte Transaktionen, indem es sie in umkehrbare Schritte aufteilt. Wenn ein Schritt fehlschlägt, führt die Saga kompensierende Aktionen durch, um vorherige Vorgänge rückgängig zu machen und die Datenkonsistenz zwischen den Diensten aufrechtzuerhalten.

Wenn beispielsweise auf einer E-Commerce-Website eine Zahlung beim Bezahlvorgang fehlschlägt, hebt Saga die Bestandssperre auf und stellt den Warenkorb wieder her.

Muster des Leistungsschalters

Ein Trennschalter verhindert kaskadenartige Ausfälle, indem er Aufrufe an nachgelagerte Services überwacht und Anfragen stoppt, wenn Ausfälle erkannt werden.

Wenn beispielsweise ein Produktempfehlungsdienst ausfällt, blockiert der Trennschalter automatisch Anfragen an ihn und zeigt stattdessen zuvor zwischengespeicherte Empfehlungen an.

Erneut versuchen und Timeout-Muster

Ein Erneut-versuchen- und Timeout-Muster behandelt automatisch vorübergehende Dienstausfälle, indem es auf fehlgeschlagene Anfragen mit intelligentem Timing wartet und sie erneut wiederholt.

Wenn beispielsweise ein Zahlungsdienst vorübergehend nicht verfügbar ist, wartet das System und versucht es erneut.

Microservices-Orchestrierung versus Choreografie

Beim Aufbau verteilter Systeme müssen DevOps-Teams und Entwickler entscheiden, ob Dienste zentral koordiniert werden sollen oder ob sie sich selbst koordinieren sollen. Diese Entscheidung beeinflusst die Art und Weise, wie Microservices kommunizieren, wie Teams die Komplexität verwalten und wie Systeme im Laufe der Zeit skalieren.

  • Microservice-Orchestrierung verwendet einen zentralen Koordinator, der alle Serviceinteraktionen verwaltet. Wie ein Projektmanager kennt der Orchestrator den gesamten Workflow und teilt jedem Service mit, wann er handeln soll. Diese Methode bietet einen klaren Einblick in komplexe Prozesse und erleichtert die Implementierung von Business Rules und die Pflege von Audit-Trails.
  • Die Choreographie in Microservices verfolgt den gegenteiligen Ansatz, bei dem sich die Dienste durch Ereignisse ohne zentrale Steuerung selbst koordinieren. Wenn ein Dienst seine Arbeit abschließt, veröffentlicht er ein Ereignis, das andere Dienste zum Handeln veranlasst. Event-Streaming-Plattformen wie Apache Kafka unterstützen diese Interaktionen oft, indem sie Nachrichten zwischen Services in großem Maßstab zuverlässig übermitteln.

Teams entscheiden sich für Orchestrierung, wenn sie explizite Workflow-Steuerung, zentralisierte Governance und strikte Datenkonsistenz benötigen. Es ist besonders wertvoll in den Bereichen Finanzen, Gesundheitswesen und Logistik, wo die Einhaltung gesetzlicher Vorschriften und Überprüfbarkeit unerlässlich ist.

Teams entscheiden sich für eine Choreografie, wenn Skalierbarkeit, Belastbarkeit und Serviceautonomie Priorität haben. Sie eignet sich gut für ereignisgesteuerte Architekturen, Echtzeitsysteme und Massenverarbeitung (z. B. Content-Plattformen und Internet der Dinge (IoT)-Systeme).

Die meisten erfolgreichen Microservices-Architekturen verfolgen einen hybriden Ansatz. Dieser Ansatz kann die Orchestrierung kritischer Workflows bedeuten, die eine strenge Kontrolle und Choreografie für lose gekoppelte Interaktionen erfordern, die von einem unabhängigen Vorteil profitieren.

Die besten Tools für die Orchestrierung in Microservices

Die moderne Orchestrierung stützt sich auf mehrere Kategorien von Tools, die zusammenarbeiten, um die Lebenszyklen von Microservices zu verwalten – von der Bereitstellung und Skalierung bis hin zu Kommunikation und Überwachung. Jede als Nächstes vorgestellte Kategorie spielt eine bestimmte Rolle bei der effektiven Orchestrierung in Microservices:

  • Plattformen für die Container-Orchestrierung
  • Service Meshes
  • Serverlose Plattformen
  • API-Gateways
  • Tools zur Serviceerkennung
  • Workflow- und Orchestrierungsengines

Plattformen für die Container-Orchestrierung

Container-Orchestrierungsplattformen automatisieren die Bereitstellung, Skalierung und Verwaltung containerisierter Anwendungen. Sie stellen die grundlegende Ebene für die Orchestrierung von Microservices dar, indem sie die Diensterkennung, den Lastenausgleich, die Auto-Scaling und die fortlaufenden Bereitstellungen handhaben.

Große Cloud-Provider bieten verwaltete Orchestrierungsdienste an, darunter Amazon ECS und EKS von AWS, Google GKE, Microsoft AKS und IBM Cloud Kubernetes Service.

Service-Meshes

Service Meshes übernehmen die Service-to-Service-Kommunikation, die Sicherheit und die Beobachtbarkeit, ohne dass Änderungen am Anwendungscode erforderlich sind. Sie bieten automatischen Lastausgleich, Verbindungsunterbrechung, Timeouts und umfassende Telemetrie über Microservice-Interaktionen.

Istio– ein konfigurierbaresOpen-Source-Servicenetz – legt transparente Schichten über bestehende Anwendungen an und bietet erweiterte Funktionen für das Datenverkehrsmanagement und die Durchsetzung von Richtlinien. Es funktioniert gut mit Kubernetes und vielen anderen Service-Mesh-ähnlichen Technologien.

Linkerd, das ebenfalls Open Source ist, konzentriert sich auf Einfachheit und Leistung und bietet wesentliche Service-Mesh-Funktionen mit minimalem betrieblichen Aufwand.

Serverlose Plattformen

Serverlose Plattformen ermöglichen ereignisgesteuerte Microservice, die je nach Bedarf automatisch skaliert werden. Sie bieten eine automatische Skalierung von null bis zu Tausenden von Instanzen und ein integriertes Datenverkehrsmanagement für sichere Bereitstellungen.

Knative läuft auf Kubernetes, um serverlose Funktionen für containerisierte Workloads bereitzustellen, eine automatische Skalierung und eine vereinfachte Bereitstellung zu ermöglichen.

API-Gateways

API Gateways bieten einen einheitlichen Einstiegspunkt für Microservices, die Authentifizierung, Ratenbegrenzung, Transformation und Protokollierung verarbeiten. Sie sind unerlässlich für die Orchestrierung von Interaktionen zwischen externen Kunden und internen Diensten.

Es stehen zahlreiche API-Gateway-Lösungen zur Verfügung, die von Open-Source-Optionen wie Kong bis hin zu Cloud-verwalteten Services von großen Anbietern reichen.

Tools zur Diensterkennung

Service-Discovery-Tools ermöglichen es Microservices, dynamisch miteinander zu finden und miteinander zu kommunizieren, wodurch fest codierte Abhängigkeiten beseitigt werden. Sie kümmern sich um die Serviceregistrierung, die Zustandsprüfung und die Koordinierung des Lastausgleichs.

Zu den beliebten Lösungen gehören etcd for Kubernetes-Umgebungen und cloudnative Optionen wie Amazon Web Services (AWS) Cloud-Map.

Workflow- und Orchestrierungs-Engines

Workflow- und Orchestrierungs-Engines koordinieren komplexe mehrstufige Prozesse über mehrere Microservices hinweg im Laufe der Zeit. Diese Plattformen bieten eine visuelle Definition des Workflows, automatische Fehlerbehandlung und eine integrierte Logik zum Erneut versuchen für die Verwaltung verteilter Geschäftsprozesse.

Netflix Conductor übernimmt die Workflow-Orchestrierung, die speziell für Microservices-Umgebungen entwickelt wurde. Camunda Zeebe bietet Unternehmensklasse Prozessorchestrierung durch Verwendung von Business Process Model and Notation (BPMN) für die visuelle Workflow-Definition und ein umfassendes Prozessmanagement. 

Weiterführende Lösungen
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud ist eine vollständig verwaltete OpenShift Container Platform (OCP).

Red Hat OpenShift erkunden
DevOps-Lösungen

Verwenden Sie DevOps-Software und -Tools, um cloudnative Anwendungen für mehrere Geräte und Umgebungen zu erstellen, bereitzustellen und zu verwalten.

DevOps-Lösungen erkunden
Cloud-Beratungsleistungen 

Schalten Sie mit IBM Cloud Consulting Services neue Funktionen frei und steigern Sie die geschäftliche Agilität. Entdecken Sie, wie Sie mit Hybrid-Cloud-Strategien und Expertenpartnerschaften gemeinsam Lösungen entwickeln, die digitale Transformation beschleunigen und die Leistung optimieren können.

Cloud-Services
Machen Sie den nächsten Schritt

Schalten Sie neue Funktionen frei und steigern Sie die geschäftliche Agilität mit IBM Cloud Consulting Services.

Erkunden Sie IBM Cloud Consulting Services Kostenloses IBM Cloud-Konto erstellen
Fußnoten