Startseite
Themen
SRE
Site Reliability Engineering (SRE) nutzt Software-Engineering, um Aufgaben des IT-Betriebs zu automatisieren, wie z. B. die Verwaltung von Produktionssystemen, das Änderungsmanagement, die Reaktion auf Vorfälle und sogar die Reaktion auf Notfälle, die sonst manuell von Systemadministratoren durchgeführt würde.
Hinter SRE steht das Prinzip, dass es skalierbarer und nachhaltiger ist, große Softwaresysteme automatisch statt manuell zu überwachen –insbesondere, wenn diese Systeme erweitert oder in die Cloud migriert werden.
Außerdem kann SRE eine ausgleichende Wirkung haben, wenn zwischen Entwicklungs- und Betriebsteam Uneinigkeit herrscht. Die einen wollen laufend neue oder aktualisierte Software produktiv schalten, während die anderen Updates oder neue Software nur veröffentlichen wollen, wenn sie sich sicher sind, dass keine Ausfälle oder andere Betriebsprobleme verursacht werden. SRE ist zwar für DevOps nicht unbedingt erforderlich, aber eng mit seinen Prinzipien verbunden. Daher kann es eine wichtige Rolle beim Erfolg von DevOps spielen.
Das Idee von SRE geht auf Ben Treynor Sloss, VP of Engineering bei Google, zurück. Er schrieb: „SRE ist das, was passiert, wenn man Softwareingenieure bittet, ein Betriebsteam zu konzipieren.“
Sehen Sie sich eine Kosten-Nutzen-Analyse von IBM Robotic Process Automation (RPA) an.
Site Reliability Engineering (SRE) arbeitet mit Software Engineering, um Aufgaben des IT-Betriebs zu automatisieren, die sonst manuell ausgeführt werden. Dazu gehören beispielsweise die Verwaltung von Produktionssystemen, das Änderungsmanagement, die Reaktion auf Vorfälle und sogar die Reaktion auf Notfälle.
Hinter SRE steht das Prinzip, dass es skalierbarer und nachhaltiger ist, große Softwaresysteme automatisch statt manuell zu überwachen –insbesondere, wenn diese Systeme erweitert oder in die Cloud migriert werden.
Außerdem kann SRE eine ausgleichende Wirkung haben, wenn zwischen Entwicklungs- und Betriebsteam Uneinigkeit herrscht. Die einen wollen laufend neue oder aktualisierte Software produktiv schalten, während die anderen Updates oder neue Software nur veröffentlichen wollen, wenn sie sich sicher sind, dass keine Ausfälle oder andere Betriebsprobleme verursacht werden. SRE ist zwar für DevOps nicht unbedingt erforderlich, aber eng mit seinen Prinzipien verbunden. Daher kann es eine wichtige Rolle beim Erfolg von DevOps spielen.
Das Idee von SRE geht auf Ben Treynor Sloss, VP of Engineering bei Google, zurück. Er schrieb: „SRE ist das, was passiert, wenn man Softwareingenieure bittet, ein Betriebsteam zu konzipieren.“
Ein Site Reliability Engineer ist ein Softwareentwickler mit Erfahrung im IT-Betrieb – jemand, der weiß, wie man programmiert und in einer großen IT-Umgebung die Systeme am Laufen hält.
Site Reliability Engineers verbringen die Hälfte ihrer Zeit mit manuellen IT-Abläufen und mit Systemadministration, also der Analyse von Protokollen, der Leistungsoptimierung, der Anwendung von Patches, dem Testen von Produktionsumgebungen, der Reaktion auf Vorfälle und der Projektnachbesprechung. Den Rest der Zeit entwickeln sie Code, der diese Aufgaben automatisch abwickelt. Ihr Ziel ist es, weniger Zeit mit Ersterem und mehr Zeit mit Letzterem zu verbringen.
Auf einer übergeordneten Ebene fungiert das SRE-Team als Brücke zwischen dem Entwicklungs- und Betriebsteam: Es ermöglicht dem Entwicklungsteam, neue Software oder Funktionen schnellstmöglich produktiv zu schalten. Gleichzeitig sorgt es für ein vereinbartes akzeptables Maß der IT-Betriebsleistung und des Fehlerrisikos gemäß den mit den Kunden abgeschlossenen SLAs (Service Level Agreements). Auf der Grundlage seiner Erfahrung und der Fülle von Betriebsdaten unterstützt das SRE-Team das Entwicklungs- bzw. Betriebsteam dabei,
Das Fehlerbudget ist das Werkzeug, mit dem ein SRE-Team die Servicezuverlässigkeit eines Unternehmens automatisch mit dem Tempo der Softwareentwicklung und -innovation in Einklang bringt.
Angenommen, das SLA verspricht eine Betriebszeit von 99,99 % (ein gängiger Wert) pro Jahr. Das bedeutet, dass das monatliche Fehlerbudget – die gesamte Ausfallzeit, die ohne vertragliche Konsequenzen für einen bestimmten Monat zulässig ist – etwa 4 Minuten und 23 Sekunden beträgt.
Nehmen wir an, das Entwicklungsteam möchte einige neue Funktionen oder Verbesserungen am System vornehmen. Wenn das System unterhalb des Fehlerbudgets läuft, kann das Team die neuen Funktionen bereitstellen. Andernfalls muss gewartet werden, und Entwicklungs- und Betriebsteam müssen zusammenarbeiten, um diese Fehler oder Ausfälle auf ein akzeptables Maß zu reduzieren.
So helfen Fehlerbudgets dem Entwicklungs- bzw. Betriebsteam dabei,
DevOps ist eine moderne Möglichkeit, um höherwertige Anwendungen schneller bereitzustellen – weil der Lebenszyklus der Softwarebereitstellung automatisiert wird und weil das Entwicklungs- bzw. Betriebsteam mehr Verantwortung teilt und mehr Einfluss auf die gegenseitige Arbeit hat.
Wie SRE macht auch DevOps ein Unternehmen agiler: Es sorgt dafür, dass sich die Notwendigkeiten, einerseits mehr Anwendungen und Änderungen schneller bereitzustellen und andererseits die Produktionsumgebung nicht zu überlasten, die Waage halten. Und wie SRE will auch DevOps dieses Gleichgewicht durch die Festlegung eines akzeptablen Fehlerrisiko erreichen. Tatsächlich scheinen sich SRE und DevOps so sehr zu ähneln, dass es laut einiger Experten dasselbe ist – doch für die meisten sind SRE-Methoden eine hervorragende Möglichkeit, DevOps-Prinzipien umzusetzen. Einige Beispiele:
DevOps-Prinzipien: reduzieren organisatorische Silos mit Tools und Automatisierung
SRE-Methode: mit den Tools zur Softwareentwicklung und -verbesserung den Betrieb automatisieren und verbessern
DevOps-Prinzipien: Misserfolge als normal hinnehmen, schrittweise Änderungen umsetzen
SRE-Methode: Mithilfe von Fehlerbudgets kontinuierlich neue Funktionen innerhalb eines akzeptablen Rahmens bereitstellen
DevOps-Prinzip: alles messen
SRE-Methode: Entscheidungen zur Veröffentlichung neuer Software auf Grundlage von SLA-Metriken treffen
Site Reliability Engineering unterstützt Unternehmen nicht nur beim DevOps-Erfolg, sondern auch in folgenden Bereichen:
Die Migration traditioneller IT und lokaler Rechenzentren in Hybrid-Cloud-Umgebungen ist einer der Hauptgründe dafür, dass das durchschnittliche Unternehmen jährlich zwei- bis dreimal mehr Betriebsdaten generiert. Bei der Nutzung dieser Daten wird SRE zunehmend als entscheidend angesehen, um Systemadministration, Betrieb und Reaktion auf Vorfälle zu automatisieren und Unternehmen trotz immer komplexerer IT-Umgebung zuverlässiger zu machen.
Das Entwickeln, Bereitstellen und Skalieren von Anwendungen kann mit einem cloudnativen Entwicklungsansatz – besonders die Erstellung von Anwendungen als Microservices und deren Bereitstellung in Containern – vereinfacht werden. Durch cloudnative Entwicklung entsteht aber auch eine immer stärker verteilte Umgebung mit aufwändigerer Verwaltung, Bedienung und Leitung. Ein SRE-Team kann das schnelle, durch einen cloudnativen Ansatz ermöglichte Innovationstempo unterstützen und die Systemzuverlässigkeit sicherstellen oder verbessern, ohne die DevOps-Teams stärker unter Druck zu setzen.
Wichtige Tätigkeiten können Sie kontinuierlich in Echtzeit – und ohne menschliches Zutun – automatisieren und damit proaktiv die effizienteste Nutzung von Rechen-, Speicher- und Netzwerkressourcen für Ihre Anwendungen auf jeder Ebene des Stacks ermöglichen.
Erweitern Sie die Überwachung Ihrer Anwendungsleistung und stellen Sie den nötigen Kontext bereit, um Vorfälle schneller zu beheben.
Die Platform Engineering Services von IBM Consulting machen Softwarebereitstellungsteams durch Self-Service bei der Infrastrukturautomatisierung produktiver.
Erfahren Sie, wie Site Reliability Engieers mit KI und Automatisierung im IT-Betrieb die Ausfallsicherheit und Robustheit von Unternehmensanwendungen gewährleisten, um wertvolle Arbeitszeit zur Innovationsförderung freizusetzen.
Erweitern Sie Ihre Fähigkeiten für die Arbeit als SRE mit einer beruflichen Weiterbildung und Zertifizierung von IBM. Erwerben Sie Kenntnisse über IBM Cloud-Umgebungen und -Tools und üben Sie in virtuellen Laboren.
DevOps beschleunigt die Bereitstellung höherwertiger Software, weil es die Arbeit von Softwareentwicklungs- und IT-Betriebsteams kombiniert und automatisiert.
Cloudnative Anwendungen bestehen aus Microservices, die in Containern gepackt und bereitgestellt werden und in jeder Art von Cloud-Umgebung ausführbar sind.
Kubernetes ist eine Open-Source-Plattform zur Orchestrierung von Containern. Sie automatisiert die Bereitstellung, Verwaltung und Skalierung von Anwendungen.