Was ist SRE, und warum ist es wichtig?

Abgeschlossen

In der Regel sollten Sie am Anfang ansetzen. Beginnen wir mit der grundlegenden Frage: „Was ist Site Reliability Engineering?“ Es sind viele Antworten auf diese Frage im Umlauf, einschließlich eines Zitats der Person, die den Begriff geprägt hat: Ben Treynor Sloss (Google), aber die konkreteste Antwort, die wir geben können, lautet:

Websitezuverlässigkeits-Engineering (Site Reliability Engineering, SRE) ist ein Engineeringbereich, bei dem es darum geht, Organisationen beim nachhaltigen Erzielen der geeigneten Zuverlässigkeitsebene für ihre Systeme, Dienste und Produkte zu unterstützen.

Später kommen noch andere Definitionen dazu. Wir beginnen jedoch mit dieser. Diese Definition enthält drei wichtige Bestandteile, die uns bei näherer Betrachtung zur Frage „Warum ist das wichtig?“ führen.

Zuverlässigkeit

In der Mitte von „SRE“ steht Reliability für „Zuverlässigkeit“. Die Definition spricht nicht vom „angemessenen Grad an Leistung“, „angemessenen Grad an Effizienz“, „angemessenen Grad an Stabilität“ oder vom „angemessenen Grad an Einkommen“, sondern vom „angemessenen Grad an Zuverlässigkeit“. Warum?

Dies wird im Folgenden veranschaulicht. Hier sehen Sie einen Screenshot. Was wird Ihrer Meinung nach darauf dargestellt? Fahren Sie nicht fort, bis Sie eine Idee haben oder aufgeben. Hinweis: Wenn Sie nicht viele Details im Bild erkennen können, ist das kein Problem, denn es wird in Ihrem Browser perfekt gerendert.

A blank screenshot representing a PHP app that fails to load.

Das Bild ist ein Screenshot, der darstellt, wie eine PHP-App (ohne zusätzliche Debugging-Unterstützung) aussieht, wenn ein Fehler auftritt. Für eine Java-App sieht dies etwa folgendermaßen aus:

A screenshot of failed java app with HTTPS Status 500 error.

Warum sehen wir uns diese Beispiele an? Jeder dieser Screenshots stellt eine Anwendung dar, in deren Erstellung ein Unternehmen viel Zeit, Energie und viele Ressourcen investiert hat. Wenn die Anwendung nicht betriebsbereit ist, wenn ein Kunde darauf zugreifen muss, also wenn sie nicht zuverlässig ist, profitiert niemand von ihr, am wenigsten das Unternehmen. Mangelnde Zuverlässigkeit kann einem Unternehmen sogar schaden, z. B. dem Ruf, den Finanzen, Verträgen oder der Arbeitsmoral.

Deshalb ist Zuverlässigkeit so wichtig und die grundlegende Eigenschaft von SRE – vielleicht sogar die grundlegende Eigenschaft eines Diensts, Systems oder Produkts. Zuverlässigkeit kann viele Dinge umfassen (wie wir später erörtern), aber lassen Sie uns zum zweiten entscheidenden Teil der Definition übergehen.

Angemessener Grad an Zuverlässigkeit

Beim ersten Lesen der Definition ist Ihnen ein weiteres wichtiges Wort möglicherweise nicht aufgefallen, das nun näher erläutert werden soll:

Bei Site Reliability Engineering handelt es sich um einen Aufgabenbereich bei der Entwicklung, der dafür vorgesehen ist, Organisationen beim nachhaltigen Erreichen eines angemessenen Grads an Zuverlässigkeit für ihre Systeme, Dienste und Produkte zu unterstützen.

Warum ist dieses Wort so wichtig?

Eine wichtige Beobachtung in der SRE-Branche ist, dass es wenige Systeme und Dienste gibt, die eine Zuverlässigkeit von 100 % erfordern. Eine wichtige Ausnahme stellen z.B. die Luftfahrt oder medizinische Geräte dar, bei denen Zuverlässigkeit über Leben und Tod entscheiden kann.

Tatsächlich gibt es jedoch nur wenige Situationen, in denen Zuverlässigkeit erstrebenswert ist. Der Aufwand und die Ressourcen (und somit die Kosten), die für mehr Zuverlässigkeit aufgewendet werden müssen, steigen mit dem angestrebten Grad an Zuverlässigkeit an. Einfach gesagt verschwenden Sie Zeit und Geld, wenn Sie einen Grad an Zuverlässigkeit anstreben, den Sie nicht benötigen. Sie möchten den angemessen Grad an Zuverlässigkeit in Ihren Systemen, Diensten und Produkten erreichen.

Dieser muss den Anforderungen Ihres Unternehmens entsprechen und dennoch umsetzbar sein. Angenommen, unsere Kunden verbinden sich mit Ihnen über ein Netzwerk, das nicht zu 100 % zuverlässig ist (sagen wir, es ist zu 90 % der Zeit verfügbar). Mühen und Kosten, die Sie aufwenden, um sicherzustellen, dass Ihr Dienst zu 95 % zuverlässig ist, sind per Definition Zeit- und Geldverschwendung. Sie möchten den angemessen Grad an Zuverlässigkeit in Ihren Systemen, Diensten und Produkten erreichen.

SRE denkt diesen Pragmatismus weiter. Wenn wir nun einen gewünschten Grad an Zuverlässigkeit im Sinn haben, stellt sich die Frage, welche Handlungen erfolgen sollen, wenn dieser Grad erfolgreich erreicht oder sogar übertroffen wird. Gleichermaßen stellt sich die Frage, was geschehen soll, wenn dieser nicht erreicht wird. Diese Fragen werden später im Modul beantwortet.

Nachhaltiges Erreichen von Zielen

Das abschließende Wort der Definition, das es zunächst noch hervorzuheben gilt, ist das Wort nachhaltig. „Nachhaltig“ bezieht sich hier auf die Rolle von Menschen. Es ist wichtig, dass Betriebspraktiken nachhaltig gestaltet werden. Menschen schaffen zuverlässige Systeme, Dienste und Produkte. Wenn wir nicht alles tun, um sicherzustellen, dass unsere Arbeit nachhaltig ist. Wenn wir unsere Mitarbeiter jede Nacht um 03:00 Uhr mit einer SMS wecken und ihnen keine Zeit mit ihrer Familie lassen. Wenn sie nicht die Möglichkeit und Zeit haben, sich um sich selbst zu kümmern. Dann gibt es keine Möglichkeit, zuverlässige Systeme zu schaffen. SRE ist der Ansicht, dass es entscheidend ist, eine Betriebspraxis zu implementieren, die auf lange Sicht nachhaltig ist, sodass unsere Mitarbeiter ihre Arbeit unter besten Voraussetzungen erledigen können.

Überprüfen Sie Ihr Wissen

1.

Welche Dienst-, System- oder Produkteigenschaft steht im Fokus von SRE?

2.

Welche Zuverlässigkeitsstufe soll durch SRE für beinahe alle Dienste, Systeme und Produkte erreicht werden?