Zum Inhalt springen

Glossar · O

Orchestrierung

Automatisierung der Verwaltung, Bereitstellung und Skalierung von Anwendungen in einem verteilten System.

Definition

Orchestrierung bezeichnet in der Informationstechnologie die automatisierte Verwaltung, Koordination und Steuerung von komplexen Abläufen in verteilten Systemen. Dabei werden verschiedene Komponenten, Dienste oder Anwendungen so zusammengeführt, dass sie effizient und zuverlässig zusammenarbeiten. Ziel ist es, manuelle Eingriffe zu reduzieren und Prozesse konsistent auszuführen.

Im Kontext von Cloud-Computing und Container-Technologien umfasst Orchestrierung insbesondere die Automatisierung der Bereitstellung, Skalierung und Verwaltung von Anwendungen über mehrere Hosts hinweg. Dies schließt auch die Überwachung und Fehlerbehandlung ein, um die Verfügbarkeit und Leistungsfähigkeit der Systeme sicherzustellen.

Hintergrund und Entwicklung

Der Begriff Orchestrierung stammt ursprünglich aus der Musik, wo er die Abstimmung verschiedener Instrumente zu einem harmonischen Gesamtklang beschreibt. Übertragen auf die IT steht Orchestrierung für die koordinierte Steuerung von Einzelschritten zu einem funktionierenden Ganzen. Mit dem Aufkommen von Microservices, Containern und Cloud-Umgebungen gewann der Begriff in den 2010er Jahren zunehmend an Bedeutung.

Frühe Automatisierungslösungen konzentrierten sich auf einzelne Aufgaben wie Deployment oder Konfigurationsmanagement. Die steigende Komplexität moderner Anwendungen erforderte jedoch eine übergreifende Steuerung, die mehrere Systeme und Prozesse integriert. Projekte wie Kubernetes, das 2014 von Google veröffentlicht wurde, trugen maßgeblich zur Verbreitung von Orchestrierungslösungen bei.

Funktionsweise

Orchestrierungssysteme verwalten Ressourcen und steuern Abläufe anhand von definierten Regeln und Workflows. Sie übernehmen Aufgaben wie das Starten, Stoppen und Überwachen von Containern oder virtuellen Maschinen, das Lastenausgleichsmanagement sowie die Fehlererkennung und Wiederherstellung. Die Systeme reagieren dynamisch auf Veränderungen in der Umgebung, etwa durch Skalierung bei Lastspitzen.

Dabei nutzen Orchestrierungstools deklarative Konfigurationen, in denen der gewünschte Zustand des Systems beschrieben wird. Das Orchestrierungssystem sorgt dann automatisch dafür, dass dieser Zustand erreicht und erhalten wird. Dies ermöglicht eine konsistente und reproduzierbare Verwaltung komplexer Umgebungen.

Einsatzgebiete

Orchestrierung wird vor allem in Cloud-Infrastrukturen, bei Microservice-Architekturen und in DevOps-Prozessen eingesetzt. Sie erleichtert die Verwaltung verteilter Anwendungen, die aus vielen einzelnen Komponenten bestehen, die unabhängig voneinander skaliert und aktualisiert werden müssen. Beispiele sind Webanwendungen, Big-Data-Plattformen oder IoT-Systeme.

Darüber hinaus findet Orchestrierung Anwendung in der Automatisierung von Geschäftsprozessen und IT-Service-Management. Hier werden verschiedene IT-Tools und Systeme so koordiniert, dass komplexe Abläufe ohne manuelle Eingriffe ablaufen. Dies erhöht die Effizienz und reduziert Fehlerquellen in der IT-Betriebsführung.

Abgrenzung zu verwandten Begriffen

Orchestrierung wird oft mit Automatisierung verwechselt, ist aber spezifischer: Automatisierung umfasst die Ausführung einzelner Aufgaben ohne menschliches Eingreifen, während Orchestrierung die koordinierte Steuerung mehrerer automatisierter Prozesse bedeutet. Orchestrierung integriert also mehrere Automatisierungsschritte zu einem Gesamtprozess.

Im Vergleich zu Konfigurationsmanagement, das sich auf die Einrichtung und Pflege von Systemzuständen konzentriert, befasst sich Orchestrierung mit dem Ablauf und der Abfolge von Aktionen in einem verteilten System. Bekannte Orchestrierungstools sind Kubernetes, Apache Mesos und Docker Swarm, während Ansible oder Puppet eher für Konfigurationsmanagement eingesetzt werden.