Suchen

Komposition verschiedener Einzeldienste zu einem Gesamtservice Was bedeutet Orchestrierung im IT-Umfeld?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Florian Karlstetter

In der IT bedeutet Orchestrierung die Komposition mehrerer Einzeldienste zu einem Gesamtservice. Die Orchestrierung weist den Diensten, Prozessen, Webservices, Anwendungen oder Workloads konkrete Aufgaben zu und steuert die Abhängigkeiten untereinander. Mit der Cloud-Orchestrierung werden Services unterschiedlicher oder gleicher Cloud-Umgebungen und -Anbieter zu einer Gesamtkomposition kombiniert.

Orchestrierung im IT- und Cloud-Umfeld: Kombination mehrerer Cloud-Services zu einer sinnvollen Gesamtkomposition
Orchestrierung im IT- und Cloud-Umfeld: Kombination mehrerer Cloud-Services zu einer sinnvollen Gesamtkomposition
(Bild: gemeinfrei © Gerd Altmann / Pixabay )

Der Begriff Orchestrierung stammt ursprünglich aus der Musik. Die Orchestrierung im IT-Umfeld leitet sich aus dieser musikalischen Bedeutung ab. Handelt es sich bei der Musik-Orchestrierung um die Ausarbeitung einer Gesamtkomposition für viele Einzelinterpreten und Einzelinstrumente in einem gemeinsam musizierenden Orchester, steht der Begriff Orchestrierung im IT-Umfeld für die Komposition mehrerer konkreter oder virtueller Einzeldienste zu einem Gesamtservice. Mit diesem Gesamtservice lassen sich beispielsweise Geschäftsprozesse bedienen oder cloudbasierte Anwendungen realisieren.

Es können Dienste, Prozesse, Webservices, Anwendungen oder Workloads zu einem Gesamtservice kombiniert werden. Jeder Dienst ist für sich unabhängig, interagiert aber mit anderen Diensten. Die Orchestrierung weist den Einzelservices konkrete Aufgaben zu und steuert die Abhängigkeiten und das Zusammenspiel. Die Gesamtverantwortung und Gesamtsteuerung der Informationsflüsse übernimmt eine Orchestrator-Komponente. Um beim Bild des Musikorchesters zu bleiben, hat diese Orchestrator-Komponente die Aufgabe eines Orchesterdirigenten. Durch die sinnvolle Vernetzung und externe Steuerung vieler einzelner Services oder Prozesse lassen sich komplexe IT-Workflows abbilden.

Unterscheidung zwischen Orchestrierung und Choreographie

Die Begriffe Service- oder Dienstekomposition stehen in der IT für die Verknüpfung und Kombination mehrere Dienste miteinander. Grundsätzlich ist bei der Dienstekomposition eine Unterscheidung zwischen Choreographie und Orchestrierung möglich. Während sich der Begriff Orchestrierung, wie bereits beschrieben, aus der Musik ableitet, hat der Begriff Choreographie seinen Ursprung im Tanz- oder Ballettbereich. Die Choreographie teilt einem Einzelservice eine bestimmte Aufgabe innerhalb einer Gesamtchoreographie zu. Es existiert aber keine übergeordnete Komponente, die die Steuerung der Aufgabenerfüllung übernimmt. Jeder Service oder jeder Prozess bleibt an sich autonom. Durch das vorher festgelegte Zusammenwirken der autonomen Einzelprozesse entsteht die Gesamtchoreographie.

Kurz zusammengefasst lässt sich der Unterschied zwischen Choreographie und Orchestrierung folgendermaßen beschreiben: Während bei der Choreographie der autonome Einzelservice mit seiner konkreten Aufgabe im Mittelpunkt steht, hat die Orchestrierung ihren Schwerpunkt in der Steuerung des Zusammenspiels der Einzelkomponenten innerhalb einer Gesamtkomposition.

Was ist Cloud-Orchestrierung?

Im Cloud Computing fällt häufig der Begriff der Cloud-Orchestrierung. Cloud-Orchestrierung ist notwendig, um über verschiedene Cloud-Modelle und Cloud-Anbieter hinweg übergreifende Gesamtservices zu realisieren und komplexe Geschäftsprozesse mit hoher Produktivität zu bedienen. Cloud-Anwendungen sind teilweise aus vielen verschiedenen Services zusammengesetzt. Sie bestehen aus Einzelservices der Cloud-Servicemodelle Software as a Service (SaaS), Platform as a Service (PaaS) und Infrastructure as a Service (IaaS), die miteinander interagieren und den Gesamtservice bilden. Die einzelnen Dienste können über verschiedene Liefermodelle wie die Public Cloud, die Private Cloud oder über hybride Cloud-Strukturen bereitgestellt werden.

Durch die Cloud-Orchestrierung entsteht ein flexibles und optimal miteinander vernetztes System, das die Einzeldienste in einer performanten Gesamtkomposition zusammenführt. Im Konkreten bedeutet das, dass die Cloud-Orchestrierung Interaktionen der Einzeldienste verschiedener Cloud-Servicemodelle und Cloud-Liefermodelle unterschiedlicher oder gleicher Anbieter herstellt und managt. Aus den Einzeldiensten entsteht ein zusammenhängender Worfklow, der den gewünschten Geschäftsprozess bedient. Cloud-Orchestrierung kann beispielsweise Serverleistungen bereitstellen, Speicherkapazität zuweisen, Netzwerkverbindungen herstellen, virtuelle Maschinen und Container erstellen und starten, Zugriffe steuern oder verwalten und vieles mehr.

Die Orchestrierung erfolgt über heterogene Infrastrukturen und verschiedene geografische Lokationen hinweg in abstrahierter Form. Aus der Orchestrierung unterschiedlicher Services der Private Cloud und der Public Cloud entstehen hybride Cloud- oder Multi-Cloud-Kompositionen. Auf dem Markt existieren zahlreiche Lösungen zur Cloud-Orchestrierung. Viele Softwarehersteller und nahezu alle großen Cloud-Computing-Anbieter haben Orchestrierungslösungen in ihrem Portfolio, die je nach Lösung für den anbieterinternen oder den anbieterübergreifenden Einsatz vorgesehen sind. Beispiele hierfür sind Amazon Web Services (AWS) CloudFormation, Flexiant Cloud Orchestrator, IBM Cloud Orchestrator, Microsoft Azure Automation, Google Cloud Composer und viele mehr.

Orchestrierung und virtualisierte Umgebungen

Aus technischer Sicht liegen dem Cloud Computing virtualisierte Infrastrukturen zugrunde. Die Cloud Services laufen auf virtualisierten Umgebungen in virtuellen Maschinen oder Containern, die von der physischen Hardware abstrahiert sind. Sehr beliebt im Cloud-Umfeld ist die Container-Virtualisierung, wie sie beispielsweise die freie Software Docker ermöglicht. Anwendungen entstehen beispielsweise auf Basis von in Containern bereitgestellten Microservices. Ein Container beinhaltet alle notwendigen Ressourcen wie den Programmcode, Systembibliotheken, Konfigurationsdateien und Systemwerkzeuge und stellt komplette Laufzeitumgebungen zur Verfügung, um einen bestimmten Service oder eine Anwendung auszuführen. Gleichzeitig sorgt der Container für die Trennung der virtuellen Umgebung gegenüber dem Betriebssystem des Hostrechners und für die Isolation der Container untereinander.

Im Vergleich zu virtuellen Maschinen belegen Container weniger Ressourcen des Hostsystems. Kommen viele einzelne Container für eine Gesamtlösung wie eine Webanwendung zum Einsatz, ist die Container-Orchestrierung zur Gestaltung der komplexen Umgebung und Steuerung des Zusammenspiels der Einzelservices notwendig. Die Container-Orchestrierung verteilt beispielsweise Container auf verschiedene Server oder Cloud-Umgebungen, überwacht und steuert die Ausführung der Container und kann bei Fehlern einen automatisierten Failover von Containern einleiten. Orchestrierungslösungen ermöglichen die Automatisierung der Bereitstellung, der Skalierung, des Managements und des Betriebs Container-basierter Applikationen. Verfügbare Lösungen zur Orchestrierung von Containern sind zum Beispiel Docker Swarm oder Kubernetes. Kubernetes ist aus der Container-Orchestrierung von Google hervorgegangen und mittlerweile ein Open-Source-Projekt. Es unterstützt verschiedene Container-Techniken inklusive Docker und arbeitet mit den gängigen Cloud-Lösungen der großen Anbieter wie Amazon Web Services (AWS), Microsoft Azure oder Google Cloud zusammen. Kubernetes ist eine der am häufigsten verwendeten und leistungsfähigsten Lösungen zur Orchestrierung von Containern.

Vorteile durch die Cloud-Orchestrierung

Eine leistungsfähige Cloud-Orchestrierung bietet zahlreiche Vorteile. Sie ist die Voraussetzung zur Schaffung moderner Cloud-Anwendungen, die sich flexibel und dynamisch den unterschiedlichen Anforderungen anpassen. Services lassen sich schneller, mit weniger Aufwand und zuverlässiger bereitstellen. Für die Einzelservices können abhängig von den Anforderung die jeweils am besten geeigneten, günstigsten oder performantesten Cloud-Modelle und Cloud-Anbieter genutzt werden. Durch die Cloud-Orchestrierung werden Verwaltung, Bereitstellung und Betrieb komplexer Umgebungen automatisiert und vereinfacht. Weitere Vorteile der Cloud-Orchestrierung sind:

  • Reduzierung der Fehleranfälligkeit bei Bereitstellung, Verwaltung und Betrieb der Cloud-Services
  • Reduzierung des Arbeitsaufwands zur Bereitstellung der Cloud-Services
  • Möglichkeit des Self-Provisionings von komplexen Cloud-Services
  • effizientere Auslastung der Cloud-Umgebung
  • höhere Performance der Cloud-Anwendungen
  • bessere Verfügbarkeit der Cloud-Anwendungen
  • Reduzierung der Kosten durch intelligente Zuteilung von IT-Ressourcen
  • höhere Sicherheit im Zusammenspiel der Einzelservices in den Cloud-Umgebungen.

(ID:46297258)

Über den Autor