Startseite

Themen

SRE

Was ist Site Reliability Engineering (SRE)?
SRE-Lösung von IBM erkunden Updates rund um das Thema KI abonnieren
Illustration mit Collage aus Piktogrammen von Ausrüstung, Roboterarm, Mobiltelefon
Was ist 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.“

The Total Economic Impact™ von IBM Robotic Process Automation

Sehen Sie sich eine Kosten-Nutzen-Analyse von IBM Robotic Process Automation (RPA) an.

Ähnliche Inhalte Analystenbericht zu KI-basierten Automatisierungslösungen von IBM lesen
Was ist Site Reliability Engineering?

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.“

Was machen Site Reliability Engineers?

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,

  • Service-Level-Indikatoren (SLIs) zu erstellen: Messungen des von den Systemen bereitgestellten Servicegrads, also Metriken wie Verfügbarkeit (Betriebszeit) oder Latenz.

  • Service Level Objectives (SLOs): vereinbarte Mittel zur Messung von Service-Level-Indikatoren.

  • Fehlerbudgets: Die maximale Zeitspanne, in der ein System ausfallen oder eine zu geringe Leistung erbringen darf, ohne die Vertragsbestimmungen des SLA zu verletzen. Das Fehlerbudget ist mehr als nur eine Metrik. Es ist das Werkzeug, mit dem ein Site-Reliability-Engineering-Team automatisch das Innovationstempo eines Unternehmens mit seiner Servicezuverlässigkeit in Einklang bringen kann. 
Wie funktionieren Fehlerbudgets?

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,

  • die Stabilität und Leistung der Dienste zu verbessern

  • datenbasierte Entscheidungen über die Bereitstellung neuer Funktionen oder Anwendungen zu treffen

  • Innovation zu maximieren, weil Risiken innerhalb akzeptabler Grenzen eingegangen werden.
SRE und DevOps

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

 

Weitere SRE-Vorteile

Site Reliability Engineering unterstützt Unternehmen nicht nur beim DevOps-Erfolg, sondern auch in folgenden Bereichen:

  • Servicezustand transparenter darstellen, durch die Verfolgung von Metriken, Protokollen und Traces für alle Services im Unternehmen und durch die Bereitstellung von Kontext, um die Ursache eines Vorfalls zu ermitteln.

  • Kosten von Ausfallzeiten quantifizieren, um das Entwicklungs- bzw. Betriebsteam dabei zu unterstützen, die Kosten von SLA-Verletzungen zu verstehen, und der Geschäftsleitung dabei zu helfen, die Auswirkungen der Systemzuverlässigkeit auf Produktion, Vertrieb, Marketing, Kundenservice und andere Geschäftsfunktionen mit Zahlen zu belegen.

  • Reaktion auf Vorfälle optimieren, durch effiziente Bereitschaftsprozesse und beschleunigte Alarmierungs-Workflows.

  • Modernes Network Operations Center aufbauen, indem umfassende Kenntnis des IT-Betriebs mit maschinellem Lernen und Automatisierung kombiniert werden, um Warnmeldungen direkt an die Person zu senden, die für die Behebung des Problems zuständig ist.
SRE, Cloud und cloudnative Entwicklung

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.

Weiterführende Lösungen
IBM Turbonomic

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.

IBM Turbonomic kennenlernen
IBM Instana™ Observability

Erweitern Sie die Überwachung Ihrer Anwendungsleistung und stellen Sie den nötigen Kontext bereit, um Vorfälle schneller zu beheben.

IBM Instana erkunden
Services im Bereich Platform Engineering

Die Platform Engineering Services von IBM Consulting machen Softwarebereitstellungsteams durch Self-Service bei der Infrastrukturautomatisierung produktiver.

Platform-Engineering-Beratung erkunden
Ressourcen Mit SRE zu AIOps

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.

IBM Cloud Professional Site Reliability Engineer (SRE) V2

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.

Was ist DevOps?

DevOps beschleunigt die Bereitstellung höherwertiger Software, weil es die Arbeit von Softwareentwicklungs- und IT-Betriebsteams kombiniert und automatisiert.

Was sind cloudnative Anwendungen?

Cloudnative Anwendungen bestehen aus Microservices, die in Containern gepackt und bereitgestellt werden und in jeder Art von Cloud-Umgebung ausführbar sind.

Was ist Kubernetes?

Kubernetes ist eine Open-Source-Plattform zur Orchestrierung von Containern. Sie automatisiert die Bereitstellung, Verwaltung und Skalierung von Anwendungen.

Machen Sie den nächsten Schritt

Mit IBM Turbonomic können Sie Anwendungen nahtlos, kontinuierlich und kostengünstig ausführen, um so eine effiziente App-Performance zu gewährleisten und gleichzeitig die Kosten zu senken.

Mehr über Turbonomic Kostenlose Demo buchen