Facebook Pixel
Searching...
Norsk
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
by Betsy Beyer 2016 552 pages
4.22
2k+ ratings
Listen

Key Takeaways

1. SRE balanserer pålitelighet med innovasjonsfart

SRE er hva som skjer når du ber en programvareingeniør om å designe et driftsteam.

Definere SRE. Site Reliability Engineering (SRE) er Googles tilnærming til tjenesteforvaltning, med fokus på å utvikle ingeniørløsninger for driftsproblemer. SRE-er er programvareingeniører som anvender prinsipper fra programvareingeniørfaget på infrastruktur- og driftsutfordringer. Målet er å skape skalerbare og svært pålitelige programvaresystemer.

Balansekunst. Den grunnleggende filosofien bak SRE er å balansere påliteligheten til tjenester med behovet for rask innovasjon. Denne balansen oppnås ved å:

  • Sette et mål om 50% tid brukt på drift vs. 50% på utviklingsarbeid
  • Bruke feilsaldoer for å avgjøre når nye funksjoner skal lanseres vs. når man skal fokusere på pålitelighet
  • Automatisere rutinemessige driftsoppgaver for å frigjøre tid til mer innflytelsesrikt arbeid

2. Omfavn risiko for å optimalisere ressursallokering og brukeropplevelse

100% er det feil pålitelighetsmålet for i prinsippet alt.

Risiko som verktøy. SRE omfavner risiko som et middel for å optimalisere ressursallokering og forbedre brukeropplevelsen. Ved å akseptere at et visst nivå av feil er uunngåelig, kan team ta mer informerte beslutninger om hvor de skal investere sine ressurser.

Praktisk anvendelse. Denne risikoomfavnende tilnærmingen manifesterer seg på flere måter:

  • Sette realistiske pålitelighetsmål under 100%
  • Bruke feilsaldoer for å balansere pålitelighet og funksjonsutvikling
  • Gjennomføre kontrollerte eksperimenter og gradvise utrullinger for å teste systemresiliens
  • Designe systemer med tanke på feil, og sikre en smidig degradering når problemer oppstår

3. Sett klare Service Level Objectives (SLO-er) for å definere pålitelighetsmål

SLO-er er et verktøy for å hjelpe med å bestemme hvilket ingeniørarbeid som skal prioriteres.

Definere pålitelighet. Service Level Objectives (SLO-er) er spesifikke, målbare mål for systemets pålitelighet. De gir en klar definisjon av hva "tilstrekkelig pålitelig" betyr for en gitt tjeneste.

Komponenter av SLO-er:

  • Service Level Indicators (SLI-er): Metrikker som måler spesifikke aspekter av tjenestenivåer (f.eks. forespørselens ventetid, feilrate)
  • Service Level Objectives (SLO-er): Målverdier for SLI-er
  • Service Level Agreements (SLA-er): Forpliktelser gjort til kunder, ofte med straff for manglende overholdelse

Viktigheten av SLO-er:

  • Justere ingeniørinnsats med brukerforventninger
  • Gi et felles språk for å diskutere pålitelighet på tvers av team
  • Hjelpe med å prioritere arbeid og gjøre avveininger mellom pålitelighet og nye funksjoner

4. Eliminere slitsomt arbeid gjennom automatisering og ingeniørløsninger

Slitsomt arbeid er den typen arbeid knyttet til drift av en produksjonstjeneste som har en tendens til å være manuell, repetitiv, automatiserbar, taktisk, uten varig verdi, og som skalerer lineært etter hvert som tjenesten vokser.

Identifisere slitsomt arbeid. Slitsomt arbeid refererer til manuelt, repetitivt arbeid som ikke gir varig verdi. Det er viktig å gjenkjenne og eliminere slitsomt arbeid for å forbedre effektiviteten og jobbtilfredsheten.

Strategier for å eliminere slitsomt arbeid:

  • Automatisere rutineoppgaver og prosesser
  • Designe systemer som er selvhelbredende og krever minimal manuell inngripen
  • Implementere overvåking og varsling for proaktivt å håndtere problemer
  • Kontinuerlig refaktorere og forbedre systemer for å redusere driftskostnader

Fordeler med å redusere slitsomt arbeid:

  • Økt tid til strategisk, høyinnflytelsesarbeid
  • Forbedret skalerbarhet av driften
  • Høyere jobbtilfredshet og redusert utbrenthet blant teammedlemmer

5. Implementere effektive overvåknings- og varslingssystemer

Overvåking bør aldri kreve at et menneske tolker noen del av varslingsdomenet.

Designe overvåkningssystemer. Effektiv overvåking er avgjørende for å opprettholde systemets pålitelighet. SRE understreker viktigheten av gjennomtenkt, handlingsdyktig overvåking og varsling.

Nøkkelprinsipper for SRE-overvåking:

  • Fokusere på symptomer, ikke årsaker
  • Bruke de fire gyldne signalene: ventetid, trafikk, feil og metning
  • Implementere svart-boks og hvit-boks overvåking
  • Designe varsler som er handlingsdyktige og krever menneskelig inngripen

Vurderinger for varselutforming:

  • Unngå varselutmattelse ved å redusere støy og falske positiver
  • Sørge for at varsler gir klar, handlingsdyktig informasjon
  • Bruke lagdelte varslingssystemer for å skille mellom kritiske og ikke-kritiske problemer

6. Praktisere uten skyld postmortem for å lære av feil

Hovedmålene med å skrive en postmortem er å sikre at hendelsen er dokumentert, at alle bidragende årsaker er godt forstått, og, spesielt, at effektive forebyggende tiltak settes i verk for å redusere sannsynligheten for og/eller virkningen av gjentakelse.

Fremme en læringskultur. Uten skyld postmortem er et kritisk verktøy for å lære av hendelser og forbedre systemets pålitelighet. De fokuserer på å identifisere systematiske problemer i stedet for individuelle feil.

Nøkkelkomponenter av effektive postmortem:

  • Detaljert tidslinje for hendelsen
  • Rotårsaksanalyse
  • Virkningsvurdering
  • Handlingspunkter for å forhindre lignende hendelser i fremtiden

Fordeler med uten skyld postmortem:

  • Oppmuntre til åpen og ærlig kommunikasjon om feil
  • Identifisere systematiske problemer og muligheter for forbedring
  • Bygge organisatorisk resiliens og kunnskapsdeling

7. Designe for skalerbarhet og resiliens i distribuerte systemer

Et distribuert system er et der feilen til en datamaskin du ikke engang visste eksisterte, kan gjøre din egen datamaskin ubrukelig.

Utfordringer med distribuerte systemer. Store systemer står overfor unike utfordringer når det gjelder skalerbarhet, pålitelighet og kompleksitet. SRE-prinsipper hjelper med å adressere disse utfordringene gjennom gjennomtenkt systemdesign.

Nøkkel designprinsipper:

  • Designe for feil: Anta at komponenter vil feile og planlegge deretter
  • Bruke redundans og lastbalansering for å forbedre resiliens
  • Implementere smidig degradering for å opprettholde delvis funksjonalitet under feil
  • Designe systemer for å være selvhelbredende og kreve minimal manuell inngripen

Skalerbarhetsvurderinger:

  • Bruke horisontal skalerbarhet for å håndtere økt belastning
  • Implementere effektive datalagrings- og hentesystemer
  • Designe systemer med løs kobling mellom komponenter for å lette uavhengig skalering

8. Balanser belastningen effektivt på datacenterressurser

Lastbalansering i stor skala krever å bryte bort fra enkle løsninger som rund-robin eller minst-laste algoritmer.

Lastbalanseringsstrategier. Effektiv lastbalansering er avgjørende for å opprettholde systemytelse og pålitelighet, spesielt i store distribuerte systemer.

Nøkkel teknikker for lastbalansering:

  • Vektet rund-robin: Fordeler belastningen basert på serverkapasitet
  • Minst tilkoblinger: Sender forespørslene til servere med færrest aktive tilkoblinger
  • Konsistent hashing: Minimerer omfordeling når servere legges til eller fjernes
  • Geografisk lastbalansering: Dirigerer trafikk til nærliggende datacenter for å redusere ventetid

Vurderinger for lastbalansering:

  • Helsekontroll for å unngå å sende trafikk til usunne servere
  • Håndtering av tilkoblingspersistens for tilstandsbaserte applikasjoner
  • Tilpasse seg endrede trafikkmønstre og serverkapasiteter

9. Forbered deg på og dempe kaskadefeil

En kaskadefeil er en feil som vokser over tid som et resultat av positiv tilbakemelding.

Forstå kaskadefeil. Kaskadefeil oppstår når en feil i en del av et system utløser feil i andre deler, noe som potensielt kan føre til omfattende nedetid.

Strategier for å forhindre og dempe kaskadefeil:

  • Implementere kretsbrytere for å isolere sviktende komponenter
  • Bruke hastighetsbegrensning og lastreduksjon for å forhindre overbelastning
  • Designe systemer med løs kobling og klare feildomener
  • Gjennomføre regelmessige katastrofegjenopprettingsøvelser og kaosteori-eksperimenter

Nøkkelprinsipper for resiliens:

  • Feil raskt og feil uavhengig
  • Implementere smidig degradering av tjenester
  • Opprettholde klar synlighet i systemhelse og avhengigheter
  • Planlegge for det uventede og designe systemer som kan tilpasse seg uforutsette omstendigheter

Last updated:

Review Summary

4.22 out of 5
Average of 2k+ ratings from Goodreads and Amazon.

Site Reliability Engineering får blandede tilbakemeldinger, der mange roser bokens verdifulle innsikter i Googles praksis, men kritiserer dens ujevne kvalitet og repetitivitet. Leserne setter pris på bokens dekning av SRE-prinsipper, feilkalkyler og driftspraksis. Imidlertid synes noen at den er for Google-spesifikk og vanskelig å anvende i mindre organisasjoner. Bokens struktur som en samling essays fører til inkonsistens, der noen kapitler er svært informative, mens andre er mindre engasjerende. Til tross for sine mangler, anser mange den som en viktig lesning for de som er interessert i pålitelighet i storskalasystemer og DevOps.

Your rating:

About the Author

Betsy Beyer er teknisk skribent hos Google i New York City, med spesialisering innen Site Reliability Engineering. Hun har erfaring med å skrive dokumentasjon for Googles datasenter og maskinvareoperasjonsteam på tvers av globalt distribuerte datasentre. Før sin nåværende stilling var Beyer foreleser i teknisk skriving ved Stanford University. Hennes akademiske bakgrunn inkluderer grader i internasjonale relasjoner og engelsk litteratur fra Stanford og Tulane. Beyers karrierevei viser en overgang fra akademisk skriving til teknisk dokumentasjon i teknologibransjen, der hun kombinerer sin ekspertise innen kommunikasjon med komplekse tekniske emner.

Other books by Betsy Beyer

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Bookmarks – save your favorite books
History – revisit books later
Ratings – rate books & see your ratings
Unlock unlimited listening
Your first week's on us!
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 Dec 12,
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/yr
$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 →