Comparthing Logo
SREDevOpsuzticamībamākoņinfrastruktūraincidentu pārvaldībaoperācijas

Sistēmas uzticamības inženierija salīdzinājumā ar ad hoc apkopi

Sistēmas uzticamības inženierija (SRE) ir strukturēta disciplīna, ko pirmo reizi izveidoja Google un kas izmanto programmatūras inženierijas principus ražošanas sistēmu pārvaldībai, savukārt ad hoc uzturēšana ir reaģējoša, neplānota pieeja problēmu novēršanai, tiklīdz tās rodas. Izvēle starp tām nosaka, kā komandas tiek galā ar darbības laiku, incidentiem un ilgtermiņa darbības veselību.

Iezīmes

  • SRE pārvērš darbību par inženiertehnisku disciplīnu ar izmērāmiem uzticamības mērķiem, savukārt ad hoc apkope to uzskata par reaktīvu ugunsdzēsību.
  • Kļūdu budžeti sniedz SRE komandām kopīgu sistēmu uzticamības un funkciju ātruma līdzsvarošanai — kaut kas tāds, kas ad hoc pieejās pilnībā trūkst.
  • Automatizācija ir SRE pamatā, bet ad hoc vidē tā ir izvēles iespēja, kas laika gaitā noved pie darba apjoma pieauguma.
  • Nevainojamas pēcapkopes SRE rada organizatorisku mācīšanos, savukārt ad hoc apkope parasti atkārto tās pašas kļūdas.

Kas ir Sistēmas uzticamības inženierija?

Proaktīva inženierijas disciplīna, kas piemēro programmatūras praksi darbībās, tiecoties pēc izmērāmas uzticamības, izmantojot automatizāciju un definētus pakalpojumu līmeņa mērķus.

  • SRE ap 2003. gadu Google izveidoja Bens Treinors Sloss, lai novērstu plaisu starp izstrādes un operāciju komandām.
  • Disciplīna koncentrējas uz pakalpojumu līmeņa mērķiem (SLO), pakalpojumu līmeņa indikatoriem (SLI) un kļūdu budžetiem kā galvenajiem uzticamības rādītājiem.
  • Google SRE komandas parasti ierobežo operatīvo slodzi līdz 50% no inženiera laika, bet atlikušo laiku atvēl inženiertehniskajiem darbiem.
  • SRE uzsver nevainojamu pēcnāves pieredzi, uzskatot neveiksmes par mācību iespējām, nevis par pamatu sodam.
  • Šo pieeju ir pieņēmušas tādas lielas organizācijas kā Microsoft, Amazon, LinkedIn un IBM, lai pārvaldītu liela mēroga izkliedētas sistēmas.

Kas ir Ad hoc apkope?

Neplānota, reaģējoša apkopes stratēģija, kurā labojumi tiek veikti tikai tad, kad sistēmas sabojājas vai problēmas kļūst redzamas, bez iepriekš noteiktām procedūrām vai grafikiem.

  • Ad hoc apkopi izraisa tūlītēji simptomi, piemēram, elektroenerģijas padeves pārtraukumi, veiktspējas pasliktināšanās vai lietotāju sūdzības, nevis plānotas pārskatīšanas.
  • Tam parasti trūkst dokumentācijas standartu, kas nozīmē, ka labojumi lielā mērā ir atkarīgi no tā, kurš inženieris ir pieejams.
  • Šāda pieeja ir izplatīta mazās komandās vai jaunizveidotos uzņēmumos, kas vēl nav formalizējuši savu darbības praksi.
  • Ad hoc apkope bieži noved pie atkārtotiem incidentiem, jo pamatcēloņi reti tiek sistemātiski risināti.
  • Nozares pētījumi konsekventi liecina, ka neplānotas dīkstāves uzņēmumiem izmaksā no 100 000 līdz 400 000 USD stundā atkarībā no nozares.

Salīdzinājuma tabula

Funkcija Sistēmas uzticamības inženierija Ad hoc apkope
Pieejas veids Proaktīvs un strukturēts Reaktīvs un neplānots
Uzticamības mērīšana SLO, SLI un kļūdu budžeti Nav oficiālu metriku, kas tiktu izsekotas
Incidentu reaģēšana Dokumentētas izpildes grāmatas un dežūru rotācijas Lai ko nolemtu pieejamais inženieris
Automatizācijas līmenis Augsta automatizācija ir pamatprincips Zems — dominē manuāli labojumi
Dokumentācija Visaptverošas pēcnāves analīzes un rokasgrāmatas Minimāls vai nekonsekvents
Vispiemērotākais Liela mēroga, misijai kritiski svarīgas sistēmas Mazi projekti vai agrīnās stadijas produkti
Izmaksas laika gaitā Lielākas sākotnējās investīcijas, zemākas ilgtermiņa izmaksas Zemākas sākotnējās, pieaugošās izmaksas, kas rodas elektroapgādes pārtraukumu dēļ
Komandas struktūra Īpaša SRE vai platformas komanda Dalīta atbildība bez īpašumtiesībām

Detalizēts salīdzinājums

Filozofija un domāšanas veids

SRE pamatā ir uzskats, ka uzticamība ir funkcija, nevis pēcpārdomāta lieta. Tā uzskata darbības par programmatūras problēmu un piemēro inženiertehnisku stingrību visam, sākot no izvietošanas cauruļvadiem līdz incidentu reaģēšanai. Turpretī ad hoc apkope uzskata darbības par ugunsgrēka dzēšanas vingrinājumu, kura mērķis ir vienkārši pēc iespējas ātrāk atjaunot pakalpojumu sniegšanu. Filozofiskā plaisa starp šīm divām pieejām ir milzīga — viena veido sistēmas, kas nevainojami sabojājas, bet otra steidzas, kad rodas kļūmes.

Mērīšana un atbildība

Viens no SRE nozīmīgākajiem ieguldījumiem ir tā uzstājība uzticamības kvantitatīvu noteikšanu. Komandas definē, kas izskatās “pietiekami labs”, izmantojot SLO, un izseko sniegumu, izmantojot SLI, un kļūdu budžeti nodrošina kopīgu valodu starp izstrādi un darbību. Ad hoc apkopei nav līdzvērtīga ietvara, kas nozīmē, ka nav objektīva veida, kā zināt, vai lietas uzlabojas vai pasliktinās. Bez mērījumiem komandas bieži darbojas pēc intuīcijas, kas mēdz nenovērtēt risku, līdz brīdim, kad notiek nopietns incidents, kas liek pievērst uzmanību.

Automatizācija un darba samazināšana

SRE uzskata atkārtotu manuālu darbu — ko sauc par “smagu darbu” — par nodokli, kas jāsamazina, automatizējot. Google oriģinālajā SRE grāmatā ieteikts ierobežot inženiera slodzi zem 50% no darba laika, lai pārējo varētu veltīt jēgpilniem inženiertehniskiem uzlabojumiem. Ad hoc apkopes vides bieži vien slīkst slodzē, jo katrs labojums ir manuāls un vienreizējs. Laika gaitā tas rada apburto loku, kurā inženieri tik daudz laika pavada, dzēšot ugunsgrēkus, ka nekad neizveido automatizāciju, kas tos novērstu.

Incidentu pārvaldība un mācīšanās

Kad SRE vidē kaut kas sabojājas, reaģēšana notiek saskaņā ar noteiktu procesu: brīdinājumi aktivizē dežūru rotācijas, izpildes grāmatas vada reaģētājus, un nevainojamas pēcoperācijas apkopojumi apkopo gūtās atziņas. Šī sistemātiskā pieeja nozīmē, ka katrs incidents padara sistēmu spēcīgāku. Ad hoc apkopē incidenti tiek risināti haotiski, bieži vien to dara tas, kurš ir pieejams, un vieni un tie paši pamatcēloņi mēdz radīt atkārtotus darbības pārtraukumus. Organizācija nekad neuzkrāj institucionālās zināšanas, jo nav konsekventa mehānisma to apkopšanai.

Izmaksas un mērogojamība

SRE prasa ievērojamas sākotnējās investīcijas rīkos, apmācībā un procesu izstrādē, taču tas atmaksājas, sistēmām mērogojot savu darbību. Uzņēmumi, kas nodrošina uzticamus pakalpojumus Google vai Netflix mērogā, nevarētu izdzīvot, izmantojot ad hoc praksi — sarežģītība pārslogotu jebkuru reaģējošu komandu. Tomēr nelielam jaunuzņēmumam ar nedaudziem lietotājiem ad hoc apkope varētu būt pilnīgi racionāla. Galvenais ir atpazīt, kad esat to pāraudzis, kas parasti notiek ap laiku, kad klientu uzticība sāk mazināties atkārtotu elektroenerģijas padeves pārtraukumu dēļ.

Priekšrocības un trūkumi

Sistēmas uzticamības inženierija

Iepriekšējumi

  • + Kvantitatīvi nosakāma uzticamība
  • + Samazināts darbs laika gaitā
  • + Spēcīga reaģēšana uz incidentiem
  • + Nepārtrauktas pilnveidošanās kultūra

Ievietots

  • Augstas sākotnējās investīcijas
  • Nepieciešama kultūras maiņa
  • Sarežģīti ieviest
  • Nepieciešama īpaša ekspertīze

Ad hoc apkope

Iepriekšējumi

  • + Zemas sākotnējās izmaksas
  • + Elastīgs un ātrs
  • + Nav procesuālās birokrātijas
  • + Viegli iedarbināt

Ievietots

  • Neparedzams dīkstāves laiks
  • Zināšanu silos
  • Atkārtoti pamatcēloņi
  • Tehniskā parāda pieaugums

Biežas maldības

Mīts

SRE ir tikai iedomāts nosaukums operācijām.

Realitāte

SRE principiāli atšķiras no tradicionālajām operācijām, jo programmatūras inženierija tiek piemērota operacionālām problēmām un uzticamība tiek uzskatīta par produkta funkciju. Tradicionālās darbības bieži vien koncentrējas uz sistēmu manuālu darbību, savukārt SRE inženieri veido automatizāciju, kas jau sākotnēji novērš manuālas iejaukšanās nepieciešamību.

Mīts

Ad hoc uzturēšana ir lētāka, jo nav procesu pieskaitāmo izmaksu.

Realitāte

Lai gan ad hoc uzturēšana ļauj izvairīties no sākotnējām procesu izmaksām, tā laika gaitā parasti kļūst daudz dārgāka atkārtotu pārtraukumu, ilgstošu atkļūdošanas sesiju un tehniskā parāda salikto izmaksu dēļ. Pētījumi par neplānotu dīkstāvi regulāri liecina, ka vidēja lieluma uzņēmumiem izmaksas sasniedz simtiem tūkstošu dolāru stundā.

Mīts

Lai gūtu labumu no SRE, jūsu uzņēmumam jābūt Google izmēram.

Realitāte

SRE principi — SLO, kļūdu budžeti, automatizācija, nevainojama pēcoperācijas analīze — efektīvi tiek mērogoti. Daudzas mazas un vidēja lieluma komandas ievieš šo prakšu vieglākas versijas un ievērojami uzlabo uzticamību, neizmantojot īpaši izveidotu SRE organizāciju.

Mīts

SRE novērš visus elektroenerģijas padeves pārtraukumus.

Realitāte

SRE nesola pilnīgu kļūmi — tā pieņem, ka kļūmes ir neizbēgamas, un koncentrējas uz to pārvaldību pieņemamās robežās, ko nosaka kļūdu budžeti. Mērķis ir ātra atklāšana, ātra atkopšana un mācīšanās no katra incidenta, nevis pilnība.

Mīts

Ad hoc apkope darbojas labi, ja jums ir labi inženieri.

Realitāte

Pat izcili inženieri nevar kompensēt trūkstošos procesus, dokumentāciju un automatizāciju. Varonīgas individuālas pūles nav ilgtspējīga uzticamības stratēģija, un tās rada izdegšanu, vienlaikus atstājot organizāciju atkarīgu no konkrētiem cilvēkiem, nevis no spēcīgām sistēmām.

Bieži uzdotie jautājumi

Kāda ir galvenā atšķirība starp SRE un tradicionālajām operācijām?
Galvenā atšķirība ir tā, ka SRE piemēro programmatūras inženierijas principus operāciju darbam, īpašu uzsvaru liekot uz automatizāciju, mērīšanu un manuālā darba samazināšanu. Tradicionālās darbības mēdz būt vairāk manuālas un reaģējošas, koncentrējoties uz sistēmu darbības uzturēšanu, nevis uz to izstrādi, lai tās būtu uzticamākas. SRE ievieš arī formālus jēdzienus, piemēram, SLO un kļūdu budžetus, kas tradicionālajās operācijās parasti trūkst.
Vai neliela komanda var praktizēt SRE?
Pilnīgi noteikti. Mazas komandas var ieviest SRE principus, neizveidojot atsevišķu SRE nodaļu. Sāciet ar SLO definēšanu svarīgākajiem pakalpojumiem, ieviešot pamata uzraudzību un brīdināšanu, rakstot izpildes grāmatas bieži sastopamiem incidentiem un pakāpeniski automatizējot atkārtotus uzdevumus. Mērķis ir iestrādāt uzticamības domāšanu esošajā komandā, nevis izveidot atsevišķu silo.
Kas ir kļūdu budžets SRE sistēmā?
Kļūdu budžets ir maksimāli pieļaujamais pakalpojuma kļūmju līmenis, kas tiek aprēķināts kā 100% mīnus jūsu SLO mērķis. Piemēram, ja jūsu SLO ir 99,9% pieejamība, jūsu kļūdu budžets ir 0,1%, kas nozīmē, ka jūs varat atļauties aptuveni 43 minūtes dīkstāves mēnesī. Kad budžets ir izsmelts, funkciju izvietošana var tikt apturēta, lai koncentrētos uzticamības uzlabošanai, līdz pakalpojums stabilizējas.
Kāpēc ad hoc apkope tiek uzskatīta par riskantu?
Ad hoc apkope ir riskanta, jo tai trūkst struktūras, kas nepieciešama, lai novērstu atkārtotas kļūmes un konsekventi reaģētu uz incidentiem. Bez dokumentācijas, izpildes grāmatām vai pēcinstalācijas vienas un tās pašas problēmas mēdz parādīties atkal, un institucionālās zināšanas iesprūst atsevišķu inženieru galvās. Laika gaitā tas rada trauslas sistēmas, kas ir atkarīgas no konkrētu cilvēku pieejamības.
Kā darbojas nevainojamas pēcnāves izmeklēšanas?
Nevainīgas pēcaptaujas koncentrējas uz sistēmas un procesu kļūmēm, nevis individuālām kļūdām. Pēc incidenta komanda dokumentē notikušo, tā iemeslus un izmaiņas, kas novērsīs atkārtošanos, neuzvelot personisku vainu. Šāda pieeja veicina godīgu ziņošanu un palīdz organizācijām mācīties no neveiksmēm, nevis tās slēpt.
Kas ir darbs SRE kontekstā?
Noslogotība attiecas uz manuālu, atkārtotu operatīvu darbu, kas pieaug lineāri līdz ar sistēmas lielumu — tādas lietas kā pakalpojumu restartēšana, reaģēšana uz ikdienas brīdinājumiem vai manuāla izmaiņu ieviešana. SRE mērķis ir samazināt noslogotību, izmantojot automatizāciju, lai inženieri varētu veltīt vairāk laika projektiem, kas ilgtermiņā uzlabo uzticamību. Google slavenais ieteikums ir ierobežot noslogotību līdz mazāk nekā 50% no inženiera laika.
Kad uzņēmumam vajadzētu pāriet no ad hoc apkopes uz SRE?
Pāreja parasti ir lietderīga, kad dīkstāve sāk ietekmēt klientus vai ieņēmumus, kad komanda vairāk laika pavada ugunsgrēku dzēšanai nekā būvniecībai vai kad incidenti kļūst tik bieži, ka var graut uzticību. Citi iemesli ir normatīvās prasības attiecībā uz darbības laiku, strauja sistēmas sarežģītības pieaugums vai grūtības iekļaut jaunus inženierus nedokumentētu procesu dēļ.
Vai SRE ir tas pats, kas DevOps?
SRE un DevOps ir līdzīgi mērķi — nojaukt izolācijas starp izstrādi un darbību —, taču tie pieiet problēmai atšķirīgi. DevOps ir plašāka kultūras filozofija, kas uzsver sadarbību un nepārtrauktu piegādi, savukārt SRE ir specifiska ieviešana ar konkrētām praksēm, piemēram, SLO un kļūdu budžetiem. Daudzas organizācijas uzskata SRE par DevOps principu praktisku ieviešanu.
Kādus rīkus SRE komandas parasti izmanto?
Izplatītākie SRE rīki ietver Prometheus un Grafana uzraudzībai, PagerDuty vai Opsgenie brīdināšanai un dežūru pārvaldībai, Terraform vai Ansible infrastruktūras automatizācijai un tādus rīkus kā Chaos Engineering platformas noturības testēšanai. Konkrētais rīku komplekts atšķiras, taču pamatmērķis vienmēr ir viens: redzamība, automatizācija un ātra reaģēšana uz incidentiem.
Vai ad hoc apkope jebkad var būt pareizā izvēle?
Jā, ļoti specifiskos kontekstos. Prototipu, iekšēju rīku ar nelielu lietotāju skaitu vai agrīnās stadijas produktu gadījumā, kur ātrums ir svarīgāks par uzticamību, ad hoc apkope var būt racionāla izvēle. Galvenais ir būt godīgam par kompromisiem un izstrādāt plānu, kā ieviest vairāk struktūras, sistēmai pieaugot tās nozīmei un sarežģītībai.

Spriedums

Sistēmu uzticamības inženierija ir pareizā izvēle jebkurai organizācijai, kas darbojas ar ražošanas sistēmām, kurās dīkstāvei ir reālas sekas uzņēmējdarbībai, īpaši pieaugot sarežģītībai. Ad hoc apkope var darboties ļoti agrīnas stadijas projektos vai nekritiskiem iekšējiem rīkiem, taču tā ātri kļūst par apgrūtinājumu. Lielākā daļa nobriedušu inženierijas organizāciju galu galā pāriet no ad hoc prakses uz SRE iedvesmotiem ietvariem, pat ja tās pilnībā nepieņem Google modeli.

Saistītie salīdzinājumi

Adaptīvā infrastruktūra pret statisko infrastruktūras dizainu

Adaptīvā infrastruktūra dinamiski pielāgojas mainīgajām darba slodzēm, izmantojot automatizāciju un mērogošanu reāllaikā, savukārt statiskās infrastruktūras dizains balstās uz fiksētiem, iepriekš konfigurētiem resursiem. Izvēle starp tiem ir atkarīga no darba slodzes mainīguma, budžeta paredzamības un darbības brieduma jūsu mākoņvidē.

Augstas caurlaidspējas apkalpošanas sistēmas salīdzinājumā ar zemas datplūsmas API

Augstas caurlaidspējas apkalpošanas sistēmas apstrādā milzīgu pieprasījumu apjomu ar milisekundes līmeņa latentumu, nodrošinot ieteikumu dzinēju un reklāmu platformu darbību. API ar mazu datplūsmu apkalpo mazākas lietotāju bāzes, kur vienkāršība, izmaksu efektivitāte un uzturēšanas vieglums ir svarīgāki par neapstrādātu mērogu.

Augstas caurlaidspējas ieteikumu apkalpošana salīdzinājumā ar zemas latentuma API sistēmām

Augstas caurlaidspējas ieteikumu apkalpošana koncentrējas uz miljonu vienumu ranžēšanu katrā pieprasījumā plašā mērogā, savukārt zemas latentuma API sistēmas piešķir prioritāti ātram, paredzamam atbildes laikam vispārējas nozīmes vaicājumiem. Abas pieprasa veiktspēju zem 100 ms, bet risina fundamentāli atšķirīgas inženiertehniskās problēmas mūsdienu mākoņinfrastruktūrā.

AWS pret Google Cloud

Šis salīdzinājums izvērtē Amazon Web Services un Google Cloud, analizējot to pakalpojumu piedāvājumus, cenu modeļus, globālo infrastruktūru, veiktspēju, izstrādātāju pieredzi un optimālos lietošanas gadījumus, palīdzot organizācijām izvēlēties mākoņplatformu, kas vislabāk atbilst to tehniskajām un biznesa prasībām.

Baitu nobīdes kontrolpunktēšana salīdzinājumā ar bezvalstnieku atkopšanu

Baitu nobīdes kontrolpunkti un bezstāvokļa atkopšana ir principiāli atšķirīgas pieejas kļūdu tolerancei izkliedētās sistēmās, kur pirmā saglabā precīzas straumes pozīcijas precīzai atsākšanas iespējai, bet otrā atjauno stāvokli no nulles, izmantojot nemainīgus datu avotus, aizstājot krātuves pieskaitāmās izmaksas rekonstrukcijas vienkāršības labad.