Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Warum manuell, wenn’s auch automatisch geht? Was ist ein Software Operator?

Ein Gastbeitrag von Michael Jaeger* |

Anbieter zum Thema

Immer höher legen Anwender und Kunden die Messlatte für den Betrieb anspruchsvoller Websites und Dienste. Sie erwarten, dass Dienste rund um die Uhr online, funktionsfähig und performant sind. Site Reliability Engineering- und DevOps-Teams automatisieren ihre Aufgaben, um diese Erwartungen zu erfüllen. Wer besonders effektiv den Betrieb von IT-Anwendungen automatisieren will, sollte sich genauer mit dem Software-Operator-Konzept, das zuletzt stark an Bedeutung gewonnen hat, befassen.

Michael Jaeger von Canonical erläutert, was unter dem Begriff 'Software Operator' zu verstehen ist.
Michael Jaeger von Canonical erläutert, was unter dem Begriff 'Software Operator' zu verstehen ist.
(Bild: gemeinfrei: Gerd Altmann / Pixabay)

Ein Software Operator kapselt das Wissen und Abläufe eines Teams aus der realen Welt in ein Computerprogramm, das dabei hilft, komplexe Deployments aus Datenbanken, Messaging-Systemen oder Web-Anwendungen zu betreiben.

Der Ansatz ist vor allem für den Einsatz von „Kubernetes“ populär, dem Open-Source-Orchestrierungssystem für Container, das die Bereitstellung und den Betrieb komplexer Serveranwendungen erleichtert. Das Konzept Software Operator bietet sich aber auch für den Anwendungs- und Infrastrukturbetrieb auf Plattformen jenseits von Kubernetes an. Am populärsten ist der Ansatz indes für Kubernetes, da er dazu beiträgt, die Komplexität der Vorgänge auf dieser leistungsstarken Plattform zu reduzieren.

*Über Michael Jaeger

Michael Jaeger, erläutert für Leser von DataCenter-Insider, was unter einem „Software Operator“ zu verstehen ist.
Michael Jaeger, erläutert für Leser von DataCenter-Insider, was unter einem „Software Operator“ zu verstehen ist.
(Bild: Canonical)

Der Autor, Michael Jaeger, ist Product Manager bei Canonical für Ökosysteme im Bereich Cloud Nativer Anwendungen. Er absolvierte ein Studium der Technischen Informatik an der TU Berlin. Nach dem Studium arbeitete er als wissenschaftlicher Mitarbeiter und schrieb seine Doktorarbeit im Bereich der Verteilten Systeme, ebenfalls an der TU Berlin.

Anschließend führte seine berufliche Laufbahn zur Siemens AG in München. Dort wirkte er in verschiedenen Positionen und Rollen, unter anderem als IT-Consultant, Trainer, Software-Architekt und zuletzt als 'Senior Key Expert Open Source Software'. Jaeger hat als Co-Maintainer in zwei Open Source Projekten gearbeitet: Das Linux Foundation Projekt 'FOSSology' und das Projekt der Eclipse Foundation 'SW360'.

Was macht ein Operator?

Ein Operator automatisiert die mit der Administration einer Serveranwendung verbundenen Aufgaben. Die Automatisierung kann einige oder alle der folgenden Aufgaben abdecken:

  • Deployment: Die korrekte Installation einer Anwendung kann komplexe Aufgaben umfassen, insbesondere für verteilte, serverseitige Systeme. Sicherzustellen, dass eine Anwendung korrekt und konsistent auf wiederholbare Weise bereitgestellt wird, ist heute in der Regel eine obligatorische Anforderung in der IT vieler Organisationen.
  • Konfiguration: Die korrekte Konfiguration einer Anwendung kann schwierig sein, und Änderungen an einem Wert können sich auf vielfältige Weise auswirken. Manchmal können Einstellungen von zusätzlichen Orientierungshilfen und Checks profitieren. Und oft müssen sinnvolle Voreinstellungen vorgenommen werden. Der Operator bietet einen zusätzlichen Rahmen für Konfigurationswerte, quasi Leitplanken, womit er aktiv dazu beiträgt, Ausfälle zu reduzieren.
  • Upgrades: Upgrades, insbesondere Upgrades von zustandsbehafteten Systemen wie Datenbankservern und Message Brokern, sind notorisch riskant und fehleranfällig. Wenn hingegen bewährte und eingespielte Upgrade-Abläufe in einen Operator implementiert werden, einschließlich einer Logik zur Behandlung von Corner Cases oder einem Rollback, können viele dieser Risiken reduziert werden.
  • Skalieren: Wenn zustandslose Anwendungen skaliert werden, wie eine Webfarm, können Zum Beispiel Einträge für neue Nodes zu einer Load-Balancer-Konfiguration (so genanntes Scale-out) hinzugefügt werden. Es kann dabei auch darum gehen, dass Instanzen mit höherer Kapazität (so genanntes Scale-up) bereitgestellt und alte Instanzen mit geringerer Kapazität außer Betrieb genommen werden.
    Das Skalieren von zustandsbehafteten Anwendungen, wie einem Datenbankserver-Cluster, ist häufig komplexer: So müssen neue Instanzen des Datenbankservers, die dem Cluster beitreten, wahrscheinlich zuerst durch einen Mechanismus wie State Snapshot Transfer (SST) initialisiert werden.
    In beiden Fällen vereinfacht Software in Form eines Operators rund um Hochverfügbarkeit und Skalierung den Betrieb. Gleichzeitig verbessert der Operator Zuverlässigkeit und Stabilität im Vergleich zu manuellen Eingriffen durch Administratoren deutlich.
  • Backups: Administratoren müssen Konfigurationsdaten und Anwendungsdaten routinemäßig sichern und wiederherstellen. Diese Aufgaben effektiv auszuführen, kann sich jedoch als komplex und fehleranfällig erweisen. So sollte von Zeit zu Zeit getestet werden, ob die Datenintegrität der Sicherungen gewährleistet ist. Das gleiche gilt für die Wiederherstellung.
    Ein Operator, der ein Backup und die Wiederherstellung implementiert, unterstützt Administratoren dabei, anspruchsvolle Zeitziele und geringe Verlusttoleranzen für serverseitige Anwendungen wie Datenbanksysteme umzusetzen.

Operatoren für Routine-Aufgaben

Neben den genannten Beispielen sind sicherlich noch weitere Anwendungsfälle denkbar. Dabei kann es sich um regelmäßige Änderungen von Zugangsdaten zur Risikominderung handeln oder um das Erneuern abgelaufener Server- und Client-PKI-Zertifikate. Häufig implementieren Operatoren einige oder alle dieser Verfahren, um wiederkehrende Jobs für Administratoren zu vereinfachen. Zusammenfassend sind es zumeist Routineverfahren, die Administratoren durchführen müssen. Übernimmt diese ein Operator, macht das den Betrieb laufender Software effizienter.

Operatoren für die Anwendungsintegration

Heutzutage sind die meisten Serveranwendungen eher Kompositionen von Applikationen, statt isolierte Monolithen. Sie bestehen aus Diensten oder Bausteinen wie Datenbanken, Caches, Proxy-Servern, Messaging-Busses und vielem mehr. In produktiven Umgebungen müssen häufig Observability-, Protokollierungs- und Überwachungssysteme integriert werden. Diese Systeme ermöglichen Administratoren den Einblick in Zustand und Nutzung der Anwendung, um deren Betrieb zu verbessern.

Einige Operatoren decken auch die Definition von Service-Interfaces ab. Basierend auf den Interfaces kann die Plattform die technische Integration erleichtern, beispielsweise kann sie die Netzwerkverbindung zwischen bereitgestellten Anwendungen konfigurieren.

Decken Operatoren auch die Integration mittels Interface-Definitionen ab, können diese auch für automatisch konfigurierte Kompositionen von Anwendungen zusammengestellt werden. Verfügt ein Operator auch über Integrationsfunktionen, hilft dies Administratoren, die Anfälligkeit und Fragilität in komplexen Servicelandschaften zu reduzieren.

Warum Operatoren verwenden?

Im Allgemeinen machen Operatoren das menschliche Wissen und die Erfahrung in Form einer Implementierung explizit. Dies hilft Organisationen, den Wissenstransfer sicherzustellen, wenn Administratoren die Organisation verlassen. Operatoren sind aus einer Reihe von Gründen vorteilhaft:

  • Erhöhte Zuverlässigkeit durch konsistente Bereitstellung und Konfiguration.
  • Zuverlässige und vorhersehbare Anwendungs-Upgrades durch automatisierte, getestete und bewährte Upgrade-Verfahren, die Sonderfälle handhaben.
  • Vereinfachung von Verfahren im Zusammenhang mit Scale-up, Scale-out, Scale-down und Scale-in von Anwendungen.
  • Unterstützung bei Post-Mortem-Analysen durch Automatisierung der Aufgaben: Dies hilft dem Site-Reliability Engineering, die Ursachen eines Ausfalls zu identifizieren und das Risiko zu verringern, dass der Ausfall in Zukunft erneut auftritt.
  • Das Offenlegen von Konfigurationsschnittstellen erleichtert anderen Betreiber eine dynamische, automatisierte Neukonfiguration von Anwendungskompositionen.
  • Nicht jeder Operator bietet alle aufgeführten Vorteile. Einige Implementierungen decken nur einen kleinen Teil der möglichen Funktionen ab. Deswegen sollte jeder, die über den Einsatz von Operatoren nachdenkt, die verfügbaren Software-Tools vorab nach den Anforderungen evaluieren.

(ID:48658426)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung