Facebook Pixel
Searching...
Deutsch
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Site Reliability Engineering

Site Reliability Engineering

How Google Runs Production Systems
von Betsy Beyer 2016 552 Seiten
4.22
2k+ Bewertungen
Hören

Wichtige Erkenntnisse

1. Site Reliability Engineering balanciert Zuverlässigkeit und Innovation

SRE ist das Ergebnis, wenn man einen Software-Ingenieur bittet, ein Betriebsteam zu entwerfen.

Die Kernaufgabe von SRE besteht darin, skalierbare und zuverlässige Softwaresysteme zu schaffen. Dieser Ansatz beinhaltet die Anwendung von Software-Engineering-Prinzipien auf den Betrieb, mit dem Ziel, Aufgaben zu automatisieren und die Systemzuverlässigkeit zu verbessern. SRE-Teams bestehen aus Ingenieuren mit unterschiedlichen Hintergründen, einschließlich Softwareentwicklung und Systemadministration. Sie konzentrieren sich auf:

  • Automatisierung sich wiederholender Aufgaben
  • Aufbau und Wartung skalierbarer Infrastrukturen
  • Implementierung von Überwachungs- und Alarmsystemen
  • Gestaltung für Fehlertoleranz und Katastrophenwiederherstellung

Indem der Betrieb als Softwareproblem behandelt wird, ermöglicht SRE Organisationen, große Systeme effizienter zu bauen und zu warten. Dieser Ansatz erlaubt schnellere Innovationen bei gleichzeitiger Aufrechterhaltung hoher Zuverlässigkeitsstandards und schafft ein Gleichgewicht zwischen Stabilität und Agilität in der Systementwicklung und -verwaltung.

2. Risiken eingehen, um die Serviceleistung zu optimieren

Extreme Zuverlässigkeit hat ihren Preis: Maximale Stabilität begrenzt die Geschwindigkeit, mit der neue Funktionen entwickelt und Produkte an Benutzer geliefert werden können, und erhöht die Kosten erheblich, was wiederum die Anzahl der Funktionen reduziert, die ein Team anbieten kann.

Risikomanagement ist ein entscheidender Aspekt von SRE. Anstatt 100% Zuverlässigkeit anzustreben, was oft unpraktisch und kostspielig ist, konzentrieren sich SRE-Teams auf das Management eines "Fehlerbudgets". Dieser Ansatz beinhaltet:

  • Definition eines akzeptablen Maßes an Ausfallzeiten oder Fehlern
  • Nutzung dieses Budgets, um fundierte Entscheidungen darüber zu treffen, wann neue Funktionen eingeführt werden sollen
  • Ausgleich des Bedarfs an Innovation mit dem Bedürfnis nach Stabilität

Indem ein gewisses Maß an Risiko akzeptiert wird, können Organisationen:

  • Schneller neue Funktionen entwickeln und bereitstellen
  • Kosten reduzieren, die mit übermäßigem Engineering für Zuverlässigkeit verbunden sind
  • Ressourcen auf Bereiche konzentrieren, die den größten Nutzen für die Benutzer bieten

Dieser Ansatz fördert einen dynamischeren und innovativeren Entwicklungsprozess bei gleichzeitiger Aufrechterhaltung eines angemessenen Maßes an Systemzuverlässigkeit.

3. Service Level Objectives definieren akzeptable Ausfallzeiten

SLOs sollten spezifizieren, wie sie gemessen werden und unter welchen Bedingungen sie gültig sind.

Service Level Objectives (SLOs) sind ein wichtiges Werkzeug im Management der Systemzuverlässigkeit. Sie definieren spezifische, messbare Ziele für die Systemleistung und -verfügbarkeit. SRE-Teams nutzen SLOs, um:

  • Klare Erwartungen an das Systemverhalten zu setzen
  • Entscheidungen darüber zu leiten, wann Zuverlässigkeitsarbeit priorisiert werden sollte
  • Einen Rahmen für die Messung und Verbesserung der Systemleistung bereitzustellen

SLOs beinhalten typischerweise Metriken wie:

  • Verfügbarkeit (z.B. 99,9% Betriebszeit)
  • Latenz (z.B. 95% der Anfragen werden in unter 100ms abgeschlossen)
  • Fehlerraten (z.B. weniger als 0,1% der Anfragen führen zu Fehlern)

Durch die Definition und Verfolgung dieser Ziele können Teams datengetriebene Entscheidungen darüber treffen, wann der Fokus auf die Verbesserung der Zuverlässigkeit oder die Entwicklung neuer Funktionen gelegt werden sollte, um ein Gleichgewicht zwischen Innovation und Stabilität zu gewährleisten.

4. Beseitigung von Routinearbeit durch Automatisierung und Engineering

Routinearbeit ist die Art von Arbeit, die mit dem Betrieb eines Produktionsdienstes verbunden ist, die tendenziell manuell, repetitiv, automatisierbar, taktisch, ohne bleibenden Wert ist und linear skaliert, wenn ein Dienst wächst.

Die Reduzierung von Routinearbeit ist ein grundlegendes Ziel von SRE. Routinearbeit bezieht sich auf manuelle, sich wiederholende Arbeiten, die keinen bleibenden Wert bieten. SRE-Teams streben danach, Routinearbeit zu minimieren, indem sie:

  • Routinemäßige Aufgaben und Prozesse automatisieren
  • Systeme bauen, die selbstheilend sind und minimalen manuellen Eingriff erfordern
  • Werkzeuge und Prozesse kontinuierlich verbessern, um manuelle Arbeit zu reduzieren

Vorteile der Beseitigung von Routinearbeit umfassen:

  • Mehr Zeit für strategische, wertvolle Ingenieursarbeit
  • Verbesserte Systemzuverlässigkeit durch konsistente, automatisierte Prozesse
  • Erhöhte Arbeitszufriedenheit und reduzierte Burnout-Raten unter den Teammitgliedern

Durch den Fokus auf die Beseitigung von Routinearbeit können SRE-Teams ihre Fähigkeit skalieren, komplexe Systeme zu verwalten, ohne die Anzahl der Mitarbeiter linear zu erhöhen, was effizientere und effektivere Operationen ermöglicht.

5. Effektive Überwachungs- und Alarmsysteme implementieren

Überwachung sollte niemals erfordern, dass ein Mensch irgendeinen Teil des Alarmbereichs interpretiert.

Robuste Überwachungs- und Alarmsysteme sind entscheidend für die Aufrechterhaltung der Systemzuverlässigkeit. Effektive Systeme sollten:

  • Echtzeit-Einblicke in die Systemleistung und -gesundheit bieten
  • Umsetzbare Alarme generieren, die menschliches Eingreifen erfordern
  • Alarmmüdigkeit vermeiden, indem Lärm und Fehlalarme reduziert werden

Wichtige Komponenten eines guten Überwachungs- und Alarmsystems umfassen:

  • Klar definierte Service Level Indicators (SLIs), die kritische Systemverhalten messen
  • Automatisierte Sammlung und Analyse von Systemmetriken
  • Intelligente Alarmweiterleitung und Eskalationsverfahren
  • Dashboards, die einen Überblick über den Systemstatus bieten

Durch die Implementierung effektiver Überwachungs- und Alarmsysteme können SRE-Teams Probleme schnell identifizieren und darauf reagieren, bevor sie Benutzer beeinträchtigen, und so hohe Zuverlässigkeits- und Leistungsniveaus aufrechterhalten.

6. Praxis der schuldlosen Nachbesprechungen, um aus Fehlern zu lernen

Eine schuldlos geschriebene Nachbesprechung geht davon aus, dass alle Beteiligten eines Vorfalls gute Absichten hatten und das Richtige mit den ihnen zur Verfügung stehenden Informationen getan haben.

Schuldlose Nachbesprechungen sind ein kritisches Werkzeug, um aus Vorfällen zu lernen und die Systemzuverlässigkeit zu verbessern. Dieser Ansatz konzentriert sich auf:

  • Identifizierung der Grundursachen von Vorfällen ohne persönliche Schuldzuweisung
  • Förderung offener und ehrlicher Kommunikation über Fehler
  • Entwicklung umsetzbarer Verbesserungen, um ähnliche Vorfälle in der Zukunft zu verhindern

Wichtige Elemente effektiver Nachbesprechungen umfassen:

  • Detaillierte Zeitleiste des Vorfalls
  • Analyse der beitragenden Faktoren
  • Klare Maßnahmen zur Systemverbesserung
  • Teilen der gewonnenen Erkenntnisse in der gesamten Organisation

Durch die Förderung einer Kultur der schuldlosen Nachbesprechungen können Organisationen ein Umfeld schaffen, in dem Fehler als Lern- und Verbesserungsmöglichkeiten gesehen werden, was zu widerstandsfähigeren Systemen und Teams führt.

7. Lastverteilung und Überlastungsbewältigung sind entscheidend für die Zuverlässigkeit

Clients können weiterhin Anfragen an das Backend senden, bis die Anfragen K-mal so groß sind wie die Annahmen.

Effektive Lastverteilung ist entscheidend für die Aufrechterhaltung der Systemleistung bei unterschiedlichen Verkehrsaufkommen. Wichtige Strategien umfassen:

  • Implementierung intelligenter clientseitiger Lastverteilungsalgorithmen
  • Verwendung adaptiver Drosselung zur Vermeidung von Überlastung
  • Gestaltung von Systemen mit Fähigkeiten zur sanften Degradation

Wichtige Überlegungen zur Lastverteilung und Überlastungsbewältigung:

  • Angemessene Unterteilung zur Lastverteilung über Backend-Server
  • Implementierung von Priorisierungsmechanismen basierend auf Kritikalität
  • Gestaltung von Wiederholungsmechanismen, die Überlastungssituationen nicht verschärfen

Durch die Implementierung robuster Lastverteilungs- und Überlastungsbewältigungsmechanismen können SRE-Teams sicherstellen, dass Systeme auch bei hoher Last reaktionsfähig und verfügbar bleiben, was die Gesamtzuverlässigkeit und Benutzererfahrung verbessert.

8. Systeme entwerfen, um kaskadierende Ausfälle zu verhindern und zu mildern

Ein kaskadierender Ausfall ist ein Ausfall, der im Laufe der Zeit aufgrund positiver Rückkopplung wächst.

Die Verhinderung kaskadierender Ausfälle ist entscheidend für die Aufrechterhaltung der Systemzuverlässigkeit im großen Maßstab. Wichtige Strategien umfassen:

  • Gestaltung von Systemen mit angemessener Isolation und Fehlerbegrenzung
  • Implementierung von Schutzschaltern zur Verhinderung der Überlastungsausbreitung
  • Einsatz von Mechanismen zur schrittweisen und kontrollierten Degradation

Wichtige Designüberlegungen:

  • Ressourcenallokation und -management zur Vermeidung von Erschöpfung
  • Implementierung von Backoff- und Wiederholungsmechanismen mit Jitter
  • Gestaltung für sanfte Dienstunverfügbarkeit

Durch den Fokus auf die Verhinderung und Minderung kaskadierender Ausfälle können SRE-Teams widerstandsfähigere Systeme bauen, die Teilfehler ohne Beeinträchtigung der gesamten Systemverfügbarkeit und -leistung überstehen können.

9. Eine Kultur des Software-Engineerings innerhalb von SRE-Teams pflegen

SREs müssen mindestens 50% ihrer Zeit mit Ingenieursarbeit verbringen, wenn man es über einige Quartale oder ein Jahr hinweg betrachtet.

Die Förderung von Software-Engineering-Praktiken innerhalb von SRE-Teams ist entscheidend für den Aufbau skalierbarer und zuverlässiger Systeme. Dieser Ansatz beinhaltet:

  • Ermutigung von SREs, einen erheblichen Teil ihrer Zeit mit Entwicklungsarbeit zu verbringen
  • Anwendung von Software-Engineering-Prinzipien auf Betriebstätigkeiten
  • Entwicklung von Werkzeugen und Automatisierung zur Verbesserung der Systemzuverlässigkeit und Effizienz

Vorteile dieses Ansatzes umfassen:

  • Verbesserte Fähigkeit, den Betrieb zu skalieren, ohne die Anzahl der Mitarbeiter linear zu erhöhen
  • Erhöhte Problemlösungsfähigkeiten für komplexe Systemprobleme
  • Erhöhte Arbeitszufriedenheit und Karrieremöglichkeiten für SREs

Durch die Pflege einer starken Software-Engineering-Kultur innerhalb von SRE-Teams können Organisationen robustere und skalierbarere Systeme aufbauen und gleichzeitig erstklassige Ingenieurtalente anziehen und halten.

Zuletzt aktualisiert:

Rezensionen

4.22 von 5
Durchschnitt von 2k+ Bewertungen von Goodreads und Amazon.

Site Reliability Engineering erhält gemischte Bewertungen. Leser loben die wertvollen Einblicke in die Praktiken von Google, kritisieren jedoch die ungleiche Qualität und die Wiederholungen im Text. Viele empfinden das Buch als unverzichtbar für das Verständnis des Managements großangelegter Systeme, während andere es als zu spezifisch für Google ansehen. Zu den positiven Aspekten zählen praktische Ratschläge zu Monitoring, Fehlerbudgets und Postmortems. Die Kritikpunkte konzentrieren sich auf die Länge des Buches, den inkonsistenten Schreibstil und gelegentliche Überheblichkeit. Trotz dieser Mängel wird es allgemein als einflussreiche Ressource für SRE- und DevOps-Profis angesehen, die einzigartige Perspektiven zur Aufrechterhaltung zuverlässiger Dienste im großen Maßstab bietet.

Über den Autor

Betsy Beyer ist technische Redakteurin bei Google in New York City und spezialisiert auf Site Reliability Engineering. Ihr Werdegang umfasst das Verfassen von Dokumentationen für die Data Center- und Hardware-Operationsteams von Google, die über global verteilte Rechenzentren hinweg arbeiten. Vor ihrer aktuellen Position war Beyer Dozentin für technisches Schreiben an der Stanford University. Ihr Bildungshorizont ist vielfältig, mit Abschlüssen in Internationalen Beziehungen und Englischer Literatur von Stanford und Tulane. Diese Kombination aus technischem Fachwissen und literarischen Fähigkeiten ermöglicht es ihr, komplexe Ingenieurkonzepte in ihrer Arbeit bei Google effektiv zu kommunizieren und die Kluft zwischen technischen und nicht-technischen Zielgruppen zu überbrücken.

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →