Kluczowe reguły i praktyki inżynierii SRE: ludzka strona inżynierii SRE

Ukończone

Udany proces operacji to taki, który osiąga żądaną niezawodność i utrzymuje go. Taki proces zależy od tego, jak traktuje ludzi odpowiedzialnych za to środowisko, ponieważ zależy od tego, jak traktuje maszyny. Inżynieria niezawodności lokacji przyznaje tę prawdę na wiele sposobów, które mają kluczowe znaczenie dla jej praktyki.

Trud

Najpierw należy skupić się na pojęciu „trudu”. W kontekście SRE trud odnosi się do operacji wykonywanych przez człowieka o określonej charakterystyce. Trud nie ma długoterminowej wartości realizacji. Nie posuwa usługi do przodu w żaden znaczący sposób. Jest to często powtarzalne i w dużej mierze ręczne (mimo że może być zautomatyzowane). W miarę wzrostu usługi lub systemów w czasie prawdopodobnie proporcjonalnie wzrośnie liczba żądań dla danego systemu, co będzie przekładać się na jeszcze więcej zadań wykonywanych ręcznie.

Na przykład usługa może wymagać, aby zespół SRE naliczał obciążenia operacyjne, takie jak te, które są uważane za trud:

  • Resetuj coś co tydzień.
  • Aprowizowanie nowych kont i miejsca na dysku ręcznie.
  • Wielokrotne ponowne uruchamianie procesu ręcznie.

Wykonanie tych akcji nie sprawia, że usługa jest lepsza w żaden długoterminowy, trwały sposób. Jest również prawdopodobne, że te akcje muszą być powtarzane w całym i ponad.

Uwaga

Nawet jeśli przechowujesz tego typu żądania w systemie biletów, jak robi się to w wielu miejscach, to wykonanie czynności i obsłużenie biletu nadal jest trudem. Jest to po prostu dobrze śledzony trud.

Inżynierowie ds. niezawodności witryny nienawidzą trudu. Pracują, aby go wyeliminować tam, gdzie jest to możliwe i stosowne. Ten cel jest jednym z miejsc, w których automatyzacja wchodzi w grę w SRE. Jeśli te żądania można obsłużyć automatycznie, przełoży się to na zwolnienie mocy zespołu i umożliwi ludziom podejmowanie pracy nad bardziej znaczącymi, satysfakcjonującymi zadaniami, zamiast obsługiwania kolejki żądań.

Użycie słowa "odpowiednie" w odniesieniu do trudu jest podobne do jego użycia wokół niezawodności. Istnieją sytuacje, w których prace związane z wyeliminowaniem trudu mają niski priorytet względem innych prac, ale ogólne pozbycie się trudu z usługi jest kluczowym elementem inżynierii SRE.

Praca nad projektem oraz reaktywna praca „operacyjna”

Aby wykonać pracę niezbędną do usunięcia trudu lub zwiększenia niezawodności systemu, należy odpowiednio przydzielić czas SRE. Chcą mieć pewność, że nie spędzają całego czasu na strzelaninie, odpowiadanie na strony lub tylko przetwarzanie kolejki biletów. Muszą mieć wydzielony czas na pisanie kodu umożliwiającego wyeliminowanie trudu, konstruowanie samoobsługowej automatyzacji, z którą bilety staną się zbędne, oraz tworzenie projektów, dzięki którym usługa i ludzie będą bardziej wydajni. Często przywoływana wartość (pochodząca z oryginalnego modelu Google) to nie więcej niż 50% obciążenia operacyjnego na zespół.

Uwaga

50% jest sztucznie ustaloną wartością, ale w praktyce zdaje się działać jako rozsądny cel dla wielu ludzi.

Istnieją momenty w życiu inżyniera SRE, w których cały jego czas jest poświęcany na gaszenie pożarów, ale nie może to być stała sytuacja. Jeśli reaktywna praca „operacyjna” zespołu (większa część trudu) zajmuje ponad 50% czasu przez dłuższy okres, będzie to przepis na wypalenie zawodowe i niską niezawodność. W takiej sytuacji, cykliczne cykle, które omówiliśmy wcześniej, nie mogą działać ani nie można ich konstruować. SRE podobnie zwraca uwagę na słabo zrównoważone obciążenie na wywołania, ponieważ również ma to potencjał silnego negatywnego wpływu na zespół.

Teraz, skoro mogliśmy już przyjrzeć się części kluczowych praktyk i zasad inżynierii SRE, porozmawiajmy o tym, jak rozpocząć pracę.

Sprawdź swoją wiedzę

1.

Które z poniższych nie jest cechą trudu (w kontekście SRE)?

2.

Jaka jest relacja inżynierii SRE z trudem?

3.

Jaki jest sugerowany podział pracy dla inżynierii SRE?