Pakalpojuma lÄ«meņa mērÄ·i ā€” Google pieredze (Google SRE grāmatas nodaļas tulkojums)

Pakalpojuma lÄ«meņa mērÄ·i ā€” Google pieredze (Google SRE grāmatas nodaļas tulkojums)

SRE (Site Reliability Engineering) ir pieeja tÄ«mekļa projektu pieejamÄ«bas nodroÅ”ināŔanai. Tas tiek uzskatÄ«ts par DevOps sistēmu un runā par to, kā gÅ«t panākumus DevOps prakses pielietoÅ”anā. Tulkojums Å”ajā rakstā 4. nodaļa Pakalpojuma lÄ«meņa mērÄ·i grāmatas Vietnes uzticamÄ«bas inženierija no Google. Å o tulkojumu sagatavoju pats un paļāvos uz savu pieredzi, izprotot uzraudzÄ«bas procesus. Telegrammas kanālā monitorim_it Šø pēdējais ieraksts par HabrĆ© Es arÄ« publicēju tās paÅ”as grāmatas 6. nodaļas tulkojumu par pakalpojumu lÄ«meņa mērÄ·iem.

Kaķa tulkojums. Izbaudi lasīŔanu!

Nav iespējams vadÄ«t pakalpojumu, ja nav izpratnes par to, kādiem rādÄ«tājiem patiesÄ«bā ir nozÄ«me un kā tos izmērÄ«t un novērtēt. Å im nolÅ«kam mēs definējam un saviem lietotājiem sniedzam noteiktu pakalpojumu lÄ«meni neatkarÄ«gi no tā, vai viņi izmanto kādu no mÅ«su iekŔējām API vai publisku produktu.

Mēs izmantojam savu intuÄ«ciju, pieredzi un izpratni par lietotāju vēlmi izprast pakalpojuma lÄ«meņa rādÄ«tājus (SLI), pakalpojumu lÄ«meņa mērÄ·us (SLO) un pakalpojumu lÄ«meņa lÄ«gumus (SLA). Å Ä«s dimensijas raksturo galvenos rādÄ«tājus, kurus vēlamies pārraudzÄ«t un uz kuriem reaģēsim, ja nevarēsim nodroÅ”ināt paredzēto pakalpojuma kvalitāti. Galu galā pareizo metrikas izvēle palÄ«dz pareizi rÄ«koties, ja kaut kas noiet greizi, kā arÄ« sniedz SRE komandai pārliecÄ«bu par pakalpojuma darbÄ«bu.

Å ajā nodaļā ir aprakstÄ«ta pieeja, ko izmantojam metriskās modelÄ“Å”anas, metrikas atlases un metrikas analÄ«zes problēmu risināŔanai. Lielākoties skaidrojums bÅ«s bez piemēriem, tāpēc galveno punktu ilustrÄ“Å”anai izmantosim tā realizācijas piemērā aprakstÄ«to Å ekspÄ«ra servisu (Å ekspÄ«ra darbu meklÄ“Å”ana).

Pakalpojuma līmeņa terminoloģija

Daudzi lasÄ«tāji, iespējams, ir pazÄ«stami ar SLA jēdzienu, taču termini SLI un SLO ir pelnÄ«juÅ”i rÅ«pÄ«gu definÄ«ciju, jo kopumā termins SLA ir pārslogots un tam ir vairākas nozÄ«mes atkarÄ«bā no konteksta. SkaidrÄ«bas labad mēs vēlamies nodalÄ«t Ŕīs vērtÄ«bas.

Indikatori

VDI ir pakalpojuma lÄ«meņa rādÄ«tājs ā€” rÅ«pÄ«gi definēts sniegtā pakalpojuma lÄ«meņa viena aspekta kvantitatÄ«vais rādÄ«tājs.

Lielākajai daļai pakalpojumu galvenais SLI tiek uzskatÄ«ts par pieprasÄ«juma latentumu ā€” cik ilgs laiks nepiecieÅ”ams, lai atgrieztu atbildi uz pieprasÄ«jumu. Citas izplatÄ«tas SLI ietver kļūdu lÄ«meni, kas bieži izteikts kā daļa no visiem saņemtajiem pieprasÄ«jumiem, un sistēmas caurlaidspēja, ko parasti mēra pieprasÄ«jumos sekundē. MērÄ«jumi bieži tiek apkopoti: neapstrādāti dati vispirms tiek savākti un pēc tam pārvērsti izmaiņu ātrumā, vidējā vai procentilē.

Ideālā gadÄ«jumā SLI tieÅ”i mēra interesējoÅ”o pakalpojumu lÄ«meni, bet dažreiz mērÄ«Å”anai ir pieejama tikai saistÄ«ta metrika, jo sākotnējo ir grÅ«ti iegÅ«t vai interpretēt. Piemēram, klienta puses latentums bieži ir piemērotāks rādÄ«tājs, taču ir gadÄ«jumi, kad latentumu var izmērÄ«t tikai serverÄ«.

Cits SLI veids, kas ir svarÄ«gs SRE, ir pieejamÄ«ba vai laika daļa, kurā pakalpojumu var izmantot. Bieži tiek definēts kā veiksmÄ«go pieprasÄ«jumu rādÄ«tājs, ko dažreiz sauc par ienesÄ«gumu. (Mūžs ā€” iespējamÄ«ba, ka dati tiks saglabāti ilgāku laiku ā€” arÄ« datu uzglabāŔanas sistēmām ir svarÄ«ga.) Lai gan 100% pieejamÄ«ba nav iespējama, bieži vien ir sasniedzama pieejamÄ«ba tuvu 100%; pieejamÄ«bas vērtÄ«bas tiek izteiktas kā "deviņu" skaits Ā» pieejamÄ«bas procents. Piemēram, 99% un 99,999% pieejamÄ«ba var bÅ«t apzÄ«mēta kā "2 deviņi" un "5 deviņi". Google Compute Engine paÅ”reizējais norādÄ«tais pieejamÄ«bas mērÄ·is ir "trÄ«sarpus deviņi" jeb 99,95%.

Mērķi

SLO ir pakalpojuma lÄ«meņa mērÄ·is: pakalpojuma lÄ«meņa mērÄ·a vērtÄ«ba vai vērtÄ«bu diapazons, ko mēra VDI. Parastā SLO vērtÄ«ba ir ā€œSLI ā‰¤ Targetā€ vai ā€œLower Limit ā‰¤ SLI ā‰¤ Upper Limitā€. Piemēram, mēs varam nolemt, ka Å ekspÄ«ra meklÄ“Å”anas rezultātus atgriezÄ«sim ā€œÄtriā€, iestatot SLO uz vidējo meklÄ“Å”anas vaicājuma latentumu, kas ir mazāks par 100 milisekundēm.

Pareizā SLO izvēle ir sarežģīts process. Pirmkārt, jÅ«s ne vienmēr varat izvēlēties konkrētu vērtÄ«bu. Ārējiem ienākoÅ”ajiem HTTP pieprasÄ«jumiem jÅ«su pakalpojumam metriku Query Per Second (QPS) galvenokārt nosaka lietotāju vēlme apmeklēt jÅ«su pakalpojumu, un jÅ«s nevarat iestatÄ«t SLO.

No otras puses, varat teikt, ka vēlaties, lai katra pieprasÄ«juma vidējais latentums bÅ«tu mazāks par 100 milisekundēm. Šāda mērÄ·a iestatÄ«Å”ana var likt jums rakstÄ«t frontend ar zemu latentumu vai iegādāties aprÄ«kojumu, kas nodroÅ”ina Ŕādu latentumu. (100 milisekundes acÄ«mredzot ir patvaļīgs skaitlis, taču labāk ir vēl mazāki latentuma skaitļi. Ir pierādÄ«jumi, kas liecina, ka liels ātrums ir labāks par lēnu ātrumu un ka latentums lietotāju pieprasÄ«jumu apstrādē, kas pārsniedz noteiktas vērtÄ«bas, faktiski liek cilvēkiem palikt prom. no jÅ«su dienesta.)

Atkal, tas ir daudz neskaidrāk, nekā varētu Ŕķist no pirmā acu uzmetiena: jums nevajadzētu pilnÄ«bā izslēgt QPS no aprēķina. Fakts ir tāds, ka QPS un latentums ir cieÅ”i saistÄ«ti viens ar otru: augstāks QPS bieži noved pie lielāka latentuma, un pakalpojumu veiktspēja parasti krasi samazinās, kad tie sasniedz noteiktu slodzes slieksni.

Atlasot un publicējot SLO, tiek noteiktas lietotāju cerÄ«bas par pakalpojuma darbÄ«bu. Å Ä« stratēģija var samazināt nepamatotas sÅ«dzÄ«bas pret pakalpojuma Ä«paÅ”nieku, piemēram, lēnu darbÄ«bu. Bez skaidra SLO lietotāji bieži vien rada savas cerÄ«bas par vēlamo veiktspēju, kam var nebÅ«t nekāda sakara ar to cilvēku viedokļiem, kuri izstrādā un pārvalda pakalpojumu. Šāda situācija var radÄ«t paaugstinātas cerÄ«bas no pakalpojuma, kad lietotāji maldÄ«gi uzskata, ka pakalpojums bÅ«s pieejamāks, nekā tas patiesÄ«bā ir, un izraisÄ«t neuzticÄ«bu, ja lietotāji uzskata, ka sistēma ir mazāk uzticama nekā patiesÄ«bā.

LÄ«gumi

Pakalpojuma lÄ«meņa lÄ«gums ir tieÅ”s vai netieÅ”s lÄ«gums ar jÅ«su lietotājiem, kas ietver tajā ietverto SLO izpildes (vai neievēroÅ”anas) sekas. Sekas ir visvieglāk pamanāmas, ja tās ir finansiālas ā€” atlaide vai soda nauda, ā€‹ā€‹taču tās var izpausties arÄ« citos veidos. VienkārÅ”s veids, kā runāt par atŔķirÄ«bu starp SLO un SLA, ir jautāt: ā€œKas notiek, ja SLO netiek izpildÄ«ti?ā€ Ja nav skaidru seku, jÅ«s gandrÄ«z noteikti skatāties uz SLO.

SRE parasti nav iesaistÄ«ts SLA izveidē, jo SLA ir cieÅ”i saistÄ«ti ar biznesa un produktu lēmumiem. Tomēr SRE ir iesaistÄ«ts neveiksmÄ«gu SLO seku mazināŔanā. Tie var arÄ« palÄ«dzēt noteikt VDI: AcÄ«mredzot lÄ«gumā ir jābÅ«t objektÄ«vam veidam, kā noteikt SLO, pretējā gadÄ«jumā radÄ«sies domstarpÄ«bas.

Google meklÄ“Å”ana ir svarÄ«ga pakalpojuma piemērs, kuram nav publiska SLA: mēs vēlamies, lai ikviens izmantotu MeklÄ“Å”anu pēc iespējas efektÄ«vāk, taču mēs neesam parakstÄ«juÅ”i lÄ«gumu ar pasauli. Tomēr, ja meklÄ“Å”ana nav pieejama, joprojām ir sekas ā€” nepieejamÄ«bas dēļ samazinās mÅ«su reputācija, kā arÄ« samazinās reklāmas ieņēmumi. Daudziem citiem Google pakalpojumiem, piemēram, Google for Work, ir skaidri lÄ«gumi par pakalpojumu lÄ«meni ar lietotājiem. NeatkarÄ«gi no tā, vai konkrētajam pakalpojumam ir SLA, ir svarÄ«gi definēt SLI un SLO un izmantot tos pakalpojuma pārvaldÄ«Å”anai.

Tik daudz teorijas - tagad jāpiedzīvo.

Rādītāji praksē

Ņemot vērā to, ka esam secinājuÅ”i, ka pakalpojumu lÄ«meņa mērÄ«Å”anai ir svarÄ«gi izvēlēties atbilstoÅ”us rādÄ«tājus, kā jÅ«s tagad zināt, kuri rādÄ«tāji ir svarÄ«gi pakalpojumam vai sistēmai?

Kas jums un jūsu lietotājiem rūp?

Jums nav jāizmanto katrs rādītājs kā SLI, ko varat izsekot uzraudzības sistēmā; Izpratne par to, ko lietotāji vēlas no sistēmas, palīdzēs atlasīt vairākus rādītājus. Izvēloties pārāk daudz indikatoru, ir grūti koncentrēties uz svarīgiem rādītājiem, savukārt, izvēloties nelielu skaitu, lielas sistēmas daļas var atstāt bez uzraudzības. Mēs parasti izmantojam vairākus galvenos rādītājus, lai novērtētu un izprastu sistēmas stāvokli.

Pakalpojumus parasti var iedalīt vairākās daļās saistībā ar VDI, kas attiecas uz tiem:

  • Pielāgotas priekÅ”gala sistēmas, piemēram, Å ekspÄ«ra pakalpojuma meklÄ“Å”anas saskarnes no mÅ«su piemēra. Tiem jābÅ«t pieejamiem, tiem jābÅ«t bez aizkaves un ar pietiekamu joslas platumu. AttiecÄ«gi var uzdot jautājumus: vai mēs varam atbildēt uz pieprasÄ«jumu? Cik ilgs laiks pagāja, lai atbildētu uz pieprasÄ«jumu? Cik pieprasÄ«jumu var apstrādāt?
  • UzglabāŔanas sistēmas. Viņi novērtē zemu atbildes latentumu, pieejamÄ«bu un izturÄ«bu. SaistÄ«tie jautājumi: cik ilgs laiks nepiecieÅ”ams datu lasÄ«Å”anai vai rakstÄ«Å”anai? Vai mēs varam piekļūt datiem pēc pieprasÄ«juma? Vai dati ir pieejami, kad mums tie ir nepiecieÅ”ami? Skatiet 26. nodaļu Datu integritāte: tas, ko jÅ«s lasāt, ir tas, ko jÅ«s rakstāt, lai iegÅ«tu detalizētu diskusiju par Å”iem jautājumiem.
  • Lielo datu sistēmas, piemēram, datu apstrādes cauruļvadi, ir atkarÄ«gas no caurlaidspējas un vaicājumu apstrādes latentuma. SaistÄ«tie jautājumi: cik daudz datu tiek apstrādāts? Cik ilgs laiks nepiecieÅ”ams, lai dati tiktu pārvietoti no pieprasÄ«juma saņemÅ”anas lÄ«dz atbildes sniegÅ”anai? (Dažās sistēmas daļās noteiktos posmos var bÅ«t arÄ« aizkave.)

Rādītāju kolekcija

Daudzi pakalpojumu lÄ«meņa rādÄ«tāji visdabiskāk tiek savākti servera pusē, izmantojot uzraudzÄ«bas sistēmu, piemēram, Borgmon (skatÄ«t zemāk). 10. nodaļa Praktiskie brÄ«dinājumi, kuru pamatā ir laikrindu dati) vai Prometheus, vai vienkārÅ”i periodiski analizējot žurnālus, identificējot HTTP atbildes ar statusu 500. Tomēr dažām sistēmām jābÅ«t aprÄ«kotām ar klienta puses metrikas vākÅ”anu, jo klienta puses uzraudzÄ«bas trÅ«kums var novest pie vairāku problēmu, kas ietekmē. lietotājiem, bet neietekmē servera puses metriku. Piemēram, koncentrējoties uz mÅ«su Å ekspÄ«ra meklÄ“Å”anas testa lietojumprogrammas aizmugursistēmas atbildes latentumu, JavaScript problēmu dēļ lietotāja pusē var rasties latentums: Å”ajā gadÄ«jumā labāks rādÄ«tājs ir mērÄ«t, cik ilgi pārlÅ«kprogrammai nepiecieÅ”ams lapas apstrāde.

ApkopoŔana

VienkārŔības un lietoÅ”anas vienkārŔības labad mēs bieži apkopojam neapstrādātus mērÄ«jumus. Tas jādara uzmanÄ«gi.

Daži rādÄ«tāji Ŕķiet vienkārÅ”i, piemēram, pieprasÄ«jumi sekundē, taču pat Å”is Ŕķietami vienkārÅ”ais mērÄ«jums netieÅ”i apkopo datus laika gaitā. Vai mērÄ«jums tiek saņemts Ä«paÅ”i vienu reizi sekundē, vai arÄ« mērÄ«jums tiek aprēķināts, ņemot vērā pieprasÄ«jumu skaitu minÅ«tē? Pēdējā opcija var paslēpt daudz lielāku momentāno pieprasÄ«jumu skaitu, kas ilgst tikai dažas sekundes. Apsveriet sistēmu, kas apkalpo 200 pieprasÄ«jumus sekundē ar pāra skaitļiem un 0 pārējā laikā. Konstante vidējās vērtÄ«bas formā 100 pieprasÄ«jumi sekundē un divreiz lielāka momentānā slodze nav viens un tas pats. LÄ«dzÄ«gi var Ŕķist pievilcÄ«ga vidējā vaicājuma latentuma noteikÅ”ana, taču tā slēpj svarÄ«gu detaļu: iespējams, ka lielākā daļa vaicājumu bÅ«s ātri, taču daudzi vaicājumi bÅ«s lēni.

Lielāko daļu rādÄ«tāju labāk uztvert kā sadalÄ«jumu, nevis vidējos rādÄ«tājus. Piemēram, SLI latentuma gadÄ«jumā daži pieprasÄ«jumi tiks apstrādāti ātri, savukārt daži vienmēr prasÄ«s ilgāku laiku, dažreiz daudz ilgāk. VienkārÅ”s vidējais rādÄ«tājs var paslēpt Ŕīs ilgās kavÄ“Å”anās. Attēlā parādÄ«ts piemērs: lai gan tipiska pieprasÄ«juma izpilde aizņem aptuveni 50 ms, 5% pieprasÄ«jumu ir 20 reizes lēnāki! UzraudzÄ«ba un brÄ«dinājumi, kas balstÄ«ti tikai uz vidējo latentumu, neuzrāda izmaiņas darbÄ«bā visas dienas garumā, lai gan patiesÄ«bā dažu pieprasÄ«jumu apstrādes laikā ir manāmas izmaiņas (augŔējā rinda).

Pakalpojuma lÄ«meņa mērÄ·i ā€” Google pieredze (Google SRE grāmatas nodaļas tulkojums)
50, 85, 95 un 99 procentiļu sistēmas latentums. Y ass ir logaritmiskā formātā.

Izmantojot procentiles indikatoriem, varat redzēt sadalÄ«juma formu un tā raksturlielumus: augsts procentiles lÄ«menis, piemēram, 99 vai 99,9, parāda sliktāko vērtÄ«bu, savukārt 50 procentile (pazÄ«stama arÄ« kā mediāna) parāda visbiežāk sastopamo procentuālo vērtÄ«bu. metrika. Jo lielāka ir reakcijas laika izkliede, jo vairāk ilgstoÅ”ie pieprasÄ«jumi ietekmē lietotāja pieredzi. Efekts tiek uzlabots pie lielas slodzes un rindu klātbÅ«tnē. Lietotāju pieredzes pētÄ«jumi ir parādÄ«juÅ”i, ka cilvēki parasti dod priekÅ”roku lēnākai sistēmai ar lielu reakcijas laika novirzi, tāpēc dažas SRE komandas koncentrējas tikai uz augstiem procentiles rādÄ«tājiem, pamatojoties uz to, ka, ja metrikas darbÄ«ba 99,9 procentilē ir laba, lielākajai daļai lietotāju problēmas nebÅ«s. .

Piezīme par statistikas kļūdām

Mēs parasti dodam priekÅ”roku darbam ar procentilēm, nevis vērtÄ«bu kopas vidējo (vidējo aritmētisko). Tas ļauj mums apsvērt vairāk izkliedētas vērtÄ«bas, kurām bieži ir ievērojami atŔķirÄ«gi (un interesantāki) raksturlielumi nekā vidēji. Datorsistēmu mākslÄ«gā rakstura dēļ metriskās vērtÄ«bas bieži tiek novirzÄ«tas tā, ka neviens pieprasÄ«jums nevar saņemt atbildi ātrāk par 0 ms, un 1000 ms noildze nozÄ«mē, ka nevar bÅ«t veiksmÄ«gas atbildes ar vērtÄ«bām, kas lielākas par taimauts. Rezultātā mēs nevaram pieņemt, ka vidējais un mediāna var bÅ«t vienādi vai tuvu viens otram!

Bez iepriekŔējas pārbaudes un, ja vien nav spēkā daži standarta pieņēmumi un tuvinājumi, mēs esam uzmanÄ«gi, lai nesecinātu, ka mÅ«su dati tiek izplatÄ«ti normāli. Ja izplatÄ«Å”ana nav tāda, kā paredzēts, automatizācijas process, kas novērÅ” problēmu (piemēram, kad tiek konstatētas novirzes, serveris restartējas ar lielu pieprasÄ«jumu apstrādes latentumu), var to darÄ«t pārāk bieži vai nepietiekami bieži (abas nav ļoti labi).

Standartizēt rādītājus

Mēs iesakām standartizēt SLI vispārÄ«gos raksturlielumus, lai jums nebÅ«tu katru reizi par tiem jādomā. Jebkura funkcija, kas atbilst standarta modeļiem, var tikt izslēgta no atseviŔķa SLI specifikācijas, piemēram:

  • ApkopoÅ”anas intervāli: ā€œvidēji vairāk nekā 1 minÅ«teā€
  • ApkopoÅ”anas apgabali: ā€œVisi uzdevumi klasterÄ«ā€
  • Cik bieži tiek veikti mērÄ«jumi: ā€œIk pēc 10 sekundēmā€
  • Kādi pieprasÄ«jumi ir iekļauti: "HTTP GET no melnās kastes uzraudzÄ«bas darbiem"
  • Kā iegÅ«ti dati: "Pateicoties mÅ«su serverÄ« izmērÄ«tajam monitoringam"
  • Datu piekļuves latentums: ā€œLaiks lÄ«dz pēdējam baitamā€

Lai ietaupītu pūles, izveidojiet atkārtoti lietojamu SLI veidņu kopu katram kopējam rādītājam; tie arī ļauj ikvienam vieglāk saprast, ko nozīmē noteikta VDI.

Mērķi praksē

Sāciet, domājot par to (vai noskaidrojot!), kas rÅ«p jÅ«su lietotājiem, nevis par to, ko varat izmērÄ«t. Bieži vien to, kas ir svarÄ«gi jÅ«su lietotājiem, ir grÅ«ti vai neiespējami izmērÄ«t, tāpēc jÅ«s nonākat tuvāk viņu vajadzÄ«bām. Tomēr, ja jÅ«s vienkārÅ”i sākat ar to, ko ir viegli izmērÄ«t, jÅ«s iegÅ«sit mazāk noderÄ«gus SLO. Rezultātā dažkārt esam atklājuÅ”i, ka sākotnēji vēlamo mērÄ·u noteikÅ”ana un pēc tam darbs ar konkrētiem rādÄ«tājiem izdodas labāk nekā indikatoru izvēle un pēc tam mērÄ·u sasniegÅ”ana.

Definējiet savus mērķus

Lai nodroÅ”inātu maksimālu skaidrÄ«bu, bÅ«tu jādefinē, kā tiek mērÄ«ti SLO, un nosacÄ«jumi, kādos tie ir derÄ«gi. Piemēram, mēs varētu teikt sekojoÅ”o (otrā rinda ir tāda pati kā pirmā, bet izmanto SLI noklusējuma iestatÄ«jumus):

  • 99% (vidēji vairāk nekā 1 minÅ«te) no Get RPC zvaniem tiks pabeigti mazāk nekā 100 ms (mērot visos aizmugursistēmas serveros).
  • 99% Get RPC zvanu tiks pabeigti mazāk nekā 100 ms laikā.

Ja veiktspējas līkņu forma ir svarīga, varat norādīt vairākus SLO:

  • 90% Get RPC zvanu tiek pabeigti mazāk nekā 1 ms laikā.
  • 99% Get RPC zvanu tiek pabeigti mazāk nekā 10 ms laikā.
  • 99.9% Get RPC zvanu tiek pabeigti mazāk nekā 100 ms laikā.

Ja jÅ«su lietotāji Ä£enerē neviendabÄ«gas darba slodzes: lielapjoma apstrādi (kurai ir svarÄ«ga caurlaidspēja) un interaktÄ«vo apstrādi (kurai svarÄ«gs latentums), iespējams, ir vērts definēt atseviŔķus mērÄ·us katrai slodzes klasei.

  • 95% klientu pieprasÄ«jumu prasa caurlaidspēju. Iestatiet izpildÄ«to RPC zvanu skaitu <1 s.
  • 99% klientu rÅ«p latentums. Iestatiet to RPC zvanu skaitu, kuru trafiks ir <1 KB un darbojas <10 ms.

Ir nereāli un nevēlami uzstāt, ka SLO tiks izpildÄ«ti 100% gadÄ«jumu: tas var samazināt jaunas funkcionalitātes ievieÅ”anas un ievieÅ”anas tempu un prasÄ«t dārgus risinājumus. Tā vietā labāk ir atļaut kļūdu budžetu ā€” sistēmas atļautās dÄ«kstāves procentuālo daļu ā€” un pārraudzÄ«t Å”o vērtÄ«bu katru dienu vai katru nedēļu. Augstākā vadÄ«ba var vēlēties ikmēneÅ”a vai ceturkŔņa novērtējumus. (Kļūdas budžets ir vienkārÅ”i SLO salÄ«dzināŔanai ar citu SLO.)

SLO pārkāpumu procentuālo daļu var salīdzināt ar kļūdu budžetu (skatiet 3. nodaļu un sadaļu "Kļūdu budžeta motivācija"), ar starpības vērtību, kas tiek izmantota kā ievade procesā, kas izlemj, kad izvietot jaunus laidienus.

Mērķa vērtību atlase

PlānoÅ”anas vērtÄ«bu (SLO) izvēle nav tÄ«ri tehniska darbÄ«ba produktu un biznesa intereÅ”u dēļ, kas ir jāatspoguļo atlasÄ«tajos SLI, SLO (un, iespējams, SLA). Tāpat var bÅ«t nepiecieÅ”ama informācijas apmaiņa par jautājumiem, kas saistÄ«ti ar personālu, laiku lÄ«dz tirgum, aprÄ«kojuma pieejamÄ«bu un finansējumu. SRE vajadzētu bÅ«t daļai no Ŕīs sarunas un palÄ«dzēt izprast dažādu iespēju riskus un dzÄ«votspēju. Mēs esam izvirzÄ«juÅ”i dažus jautājumus, kas varētu palÄ«dzēt nodroÅ”ināt produktÄ«vāku diskusiju:

Neizvēlieties mērÄ·i, pamatojoties uz paÅ”reizējo sniegumu.
Lai gan ir svarÄ«gi saprast sistēmas stiprās puses un robežas, metriku pielāgoÅ”ana bez pamatojuma var liegt jums uzturēt sistēmu: tas prasÄ«s varonÄ«gas pÅ«les, lai sasniegtu mērÄ·us, kurus nevar sasniegt bez bÅ«tiskas pārprojektÄ“Å”anas.

Atstāj to vienkārŔu
Sarežģīti SLI aprēķini var paslēpt izmaiņas sistēmas veiktspējā un apgrÅ«tināt problēmas cēloņa atraÅ”anu.

Izvairieties no absolūtiem
Lai gan ir vilinoÅ”i izveidot sistēmu, kas spēj izturēt bezgalÄ«gi augoÅ”u slodzi, nepalielinot latentumu, Ŕī prasÄ«ba ir nereāla. Sistēma, kas tuvojas Ŕādiem ideāliem, visticamāk, prasÄ«s daudz laika, lai izstrādātu un izveidotu, tās darbÄ«ba bÅ«s dārga, un tā bÅ«s pārāk laba to lietotāju cerÄ«bām, kuri darÄ«tu ar kaut ko mazāk.

Izmantojiet pēc iespējas mazāk SLO
Atlasiet pietiekamu skaitu SLO, lai nodroÅ”inātu labu sistēmas atribÅ«tu pārklājumu. Aizsargājiet izvēlētos SLO: ja jÅ«s nekad nevarat uzvarēt strÄ«dā par prioritātēm, norādot konkrētu SLO, iespējams, nav vērts apsvērt Å”o SLO. Tomēr ne visi sistēmas atribÅ«ti ir piemēroti SLO: ir grÅ«ti aprēķināt lietotāja prieka lÄ«meni, izmantojot SLO.

Nevajag dzīties pēc pilnības
Laika gaitā vienmēr varat precizēt SLO definÄ«cijas un mērÄ·us, uzzinot vairāk par sistēmas darbÄ«bu slodzes laikā. Labāk ir sākt ar peldoÅ”u mērÄ·i, ko laika gaitā pilnveidosit, nekā izvēlēties pārāk stingru mērÄ·i, kas ir jāatslābina, kad uzskatāt, ka tas ir nesasniedzams.

SLO var bÅ«t galvenais virzÄ«tājspēks, un tiem vajadzētu bÅ«t SRE un produktu izstrādātāju darba prioritātes noteikÅ”anai, jo tie atspoguļo lietotāju bažas. Labs SLO ir noderÄ«gs izpildes rÄ«ks izstrādes komandai. Bet slikti izstrādāts SLO var novest pie izŔķērdÄ«ga darba, ja komanda pieliek varonÄ«gas pÅ«les, lai sasniegtu pārāk agresÄ«vu SLO, vai slikts produkts, ja SLO ir pārāk zems. SLO ir spēcÄ«ga svira, izmantojiet to saprātÄ«gi.

Kontrolējiet savus mērījumus

SLI un SLO ir galvenie sistēmu pārvaldības elementi:

  • UzraudzÄ«t un mērÄ«t SLI sistēmas.
  • SalÄ«dziniet SLI ar SLO un izlemiet, vai ir nepiecieÅ”ama darbÄ«ba.
  • Ja ir nepiecieÅ”ama darbÄ«ba, izdomājiet, kam jānotiek, lai sasniegtu mērÄ·i.
  • Pabeidziet Å”o darbÄ«bu.

Piemēram, ja 2. darbÄ«ba parāda, ka pieprasÄ«jumam iestājas noildze, un pēc dažām stundām tiks pārtraukts SLO, ja nekas netiks darÄ«ts, 3. darbÄ«ba var ietvert hipotēzes pārbaudi, ka serveri ir saistÄ«ti ar CPU, un, pievienojot vairāk serveru, slodze tiks sadalÄ«ta. Bez SLO jÅ«s nezinātu, vai (vai kad) rÄ«koties.

Iestatīt SLO - tad tiks iestatītas lietotāja cerības
SLO publicÄ“Å”ana nosaka lietotāju cerÄ«bas attiecÄ«bā uz sistēmas darbÄ«bu. Lietotāji (un potenciālie lietotāji) bieži vēlas zināt, ko sagaidÄ«t no pakalpojuma, lai saprastu, vai tas ir piemērots lietoÅ”anai. Piemēram, cilvēki, kas vēlas izmantot fotoattēlu koplietoÅ”anas vietni, varētu vēlēties izvairÄ«ties no pakalpojuma, kas sola ilgmūžību un zemas izmaksas, apmaiņā pret nedaudz mazāku pieejamÄ«bu, lai gan tas pats pakalpojums varētu bÅ«t ideāls arhÄ«vu ierakstu pārvaldÄ«bas sistēmai.

Lai lietotājiem liktu reālas cerības, izmantojiet vienu vai abas no tālāk norādītajām taktikām.

  • Saglabājiet droŔības rezervi. Izmantojiet stingrāku iekŔējo SLO, nekā tiek reklamēts lietotājiem. Tas dos jums iespēju reaģēt uz problēmām, pirms tās kļūst redzamas ārēji. SLO buferis arÄ« ļauj jums nodroÅ”ināt droŔības rezervi, instalējot laidienus, kas ietekmē sistēmas veiktspēju, un nodroÅ”ina, ka sistēmu ir viegli uzturēt, neradot lietotājus dÄ«kstāves dēļ.
  • Nepārsniedziet lietotāju cerÄ«bas. Lietotāji balstās uz jÅ«su piedāvāto, nevis jÅ«su teikto. Ja jÅ«su pakalpojuma faktiskā veiktspēja ir daudz labāka par norādÄ«to SLO, lietotāji paļausies uz paÅ”reizējo veiktspēju. JÅ«s varat izvairÄ«ties no pārmērÄ«gas atkarÄ«bas, apzināti izslēdzot sistēmu vai ierobežojot veiktspēju pie nelielas slodzes.

Izpratne par to, cik labi sistēma atbilst cerÄ«bām, palÄ«dz izlemt, vai investēt, lai paātrinātu sistēmu un padarÄ«tu to pieejamāku un elastÄ«gāku. AlternatÄ«vi, ja pakalpojums darbojas pārāk labi, daļa personāla laika jāvelta citām prioritātēm, piemēram, tehniskā parāda dzÄ“Å”anai, jaunu funkciju pievienoÅ”anai vai jaunu produktu ievieÅ”anai.

Līgumi praksē

Lai izveidotu SLA, biznesa un juridiskajām komandām ir jādefinē sekas un sodi par tā pārkāpÅ”anu. SRE uzdevums ir palÄ«dzēt viņiem izprast iespējamās problēmas, lai izpildÄ«tu SLA ietvertos SLO. Lielākā daļa ieteikumu par SLO izveidi attiecas arÄ« uz SLA. Ir saprātÄ«gi bÅ«t konservatÄ«vam attiecÄ«bā uz lietotājiem solÄ«to, jo jo vairāk jums ir, jo grÅ«tāk ir mainÄ«t vai noņemt SLA, kas Ŕķiet nepamatoti vai grÅ«ti izpildāmi.

Paldies, ka izlasÄ«jāt tulkojumu lÄ«dz beigām. Abonējiet manu telegrammas kanālu par uzraudzÄ«bu monitorim_it Šø emuārs vietnē Medium.

Avots: www.habr.com

Pievieno komentāru