Menü

Was ist Site Reliability Engineering (SRE)?

Vergrößerungsglas

Site Reliability Engineering (SRE) ist ein Ansatz zur Erstellung äußerst skalierbarer und zuverlässiger Softwaresysteme. Dabei werden Software-Engineering-Verfahren auf infrastrukturbezogene und operative Probleme angewendet. Erfahrene Site Reliability Engineers können ausgewogene Lösungen für Entwicklungs- und Operations-Teams erstellen. Google war Pionier dieser Rolle; eine eingehende Erklärung finden Sie im Google-E-Book „Site Reliability Engineering“.

Site Reliability Engineering im Vergleich zu DevOps

SREs (Site Reliability Engineers) arbeiten an der Schnittstelle von Entwicklung und Betrieb, aber nicht unbedingt innerhalb von DevOps selbst. Das Konzept des SRE gibt es seit 2003, was bedeutet, dass es älter als DevOps ist. Der Begriff wurde durch Ben Treynor bekannt, der das Site Reliability Team von Google zusammenstellte. Laut Treynor ist SRE das, „was passiert, wenn ein Software-Ingenieur mit dem beauftragt wird, was früher als Operations bezeichnet wurde“.

Beide Disziplinen, DevOps und SRE, haben die Verbesserung des Versionszyklus zum Ziel, indem sie Entwickler und Ops dabei unterstützen, während des gesamten Applikationslebenszyklus beide Seiten des Prozesses im Auge zu behalten. Sie setzen sich auch für die Automatisierung und Überwachung ein, indem sie die Zeit von der Änderung durch einen Entwickler bis zur Produktionsreife verkürzen. SREs und DevOps zielen auf dieses Ergebnis ab, ohne die Qualität des Codes oder des Produkts selbst zu beeinträchtigen.

SREs und DevOps stellen zwei unterschiedliche, aber gleich wertvolle Fragen:

DevOps fragt, was getan werden muss.

SRE fragt, wie es getan werden kann.

Tägliche Aufgaben der Site Reliability Engineers

Site Reliability Engineers messen Service-Level Indicators (SLIs) und Service-Level Objectives (SLOs), während DevOps-Teams die Fehlerquote und die Erfolgsquote im Zeitverlauf messen. Die SREs leisten Unterstützung bei den folgenden wichtigen Grundlagen der DevOps-Infrastrukturverbesserung:

Geringere Anzahl von Silos in der Organisation

SREs selbst kümmern sich nicht um die Anzahl der Silos im Unternehmen, regen aber alle anderen zur Besprechung des Themas an. Dazu werden Tools und Techniken im gesamten Unternehmen eingesetzt, die dazu beitragen, die Eigentümerschaft auf alle Mitarbeiter zu verteilen.

Fehler als normal akzeptieren

SREs müssen sicherstellen, dass nicht zu viele Fehler oder Ausfälle auftreten. Dazu wird eine Formel verwendet, die aus SLI- und SLO-Scores besteht. SLIs (Service Level Indicators) zählen Ausfälle pro Anforderung, indem sie die Anforderungslatenz, den Anforderungsdurchsatz pro Sekunde oder die Ausfälle pro Anforderung pro Zeit berechnen. SLOs (Service Level Objectives) werden aus Schwellwerten und Prozentwerten abgeleitet und stellen den Erfolg von SLIs über einen bestimmten Zeitraum dar.

Schrittweise Implementierung von Änderungen

SREs befürworten Änderungen, aber in einer langsamen, methodischen Weise. Da Unternehmen schneller vorankommen möchten, fordern sie häufig neue Versionen, um das Produkt kontinuierlich zu aktualisieren. DevOps und SREs müssen also schnell reagieren, aber ein stabiles, kontrolliertes Tempo aufrechterhalten.

Tools und Automatisierung nutzen

Automatisieren Sie, solange Entwickler und Betrieb vom Wegfall manueller Aufgaben profitieren.

Messen Sie alles

SRE-Teams müssen wissen, dass alles sich in die richtige Richtung bewegt. Dazu können Warnungen für verschiedene Szenarien eingerichtet, Peer-Code-Überprüfung durchgeführt und/oder Geräte-Tests verwendet werden.

Zukunft der SRE-Technik (Site Reliability Engineering)

SRE (Site Reliability Engineering) und DevOps sind zwei Trenddisziplinen mit einer gewissen Überschneidung. Ihre wesentlichen Ziele sind das Verständnis der Erfolgs- oder Fehlermessung sowie die Frage, wie sich kontinuierliche Zuverlässigkeit für jede Applikation erzielen lässt. Bei Zuverlässigkeit geht es nicht nur um die Infrastruktur – sie ist für jeden Schritt relevant, von der Anwendungsqualität über die Leistung bis hin zur Sicherheit. Die SREs kümmern sich um jeden Prozess vom Quellcode bis zur Implementierung. Damit verdienen sie sich ihren Ruf, eine echte Brücke von der Entwicklung bis zu Operations zu sein.

Weitere Informationen

Drift chat loading