Co to jest inżynieria SRE i dlaczego jest istotna?

Ukończone

Zazwyczaj najlepiej zaczynać od początku. Zacznijmy więc od zadania podstawowego pytania: „Czym jest inżynieria niezawodności lokacji?”. Istnieje wiele odpowiedzi na to pytanie unoszące się, w tym ten często cytowany przez osobę, która ukuła termin (Ben Treynor Sloss w Google), ale najbardziej praktyczną odpowiedzią, którą możemy zaoferować, jest:

Inżynieria niezawodności lokacji to dyscyplina poświęcona pomaganiu organizacji w trwałym osiągnięciu odpowiedniego poziomu niezawodności w zakresie systemów, usług i produktów.

Później możemy omówić kolejne definicje, ale zacznijmy od tego. Istnieją trzy kluczowe części tej definicji, które musimy rozpakować, które prowadzą nas bezpośrednio do "Dlaczego ma to znaczenie?" .

Niezawodność

W samym sercu tej idei (oraz w samym środku nazwy „inżynieria niezawodności lokacji”) znajduje się słowo „niezawodność”. Definicja nie mówi o „odpowiednim poziomie wydajności”, „odpowiednim poziomie efektywności”, „odpowiednim poziomie stabilności” ani o „osiąganiu odpowiedniego poziomu przychodów”. Mówi o „odpowiednim poziomie niezawodności”. Dlaczego?

Spójrzmy na krótką demonstrację. Poniżej znajduje się zrzut ekranu. Co myślisz, że to pokazuje? Postaraj się nie przechodzić dalej, dopóki nie wpadniesz na jakiś pomysł albo poddasz się. Uwaga: jeśli trudno jest wykryć bardzo dużo szczegółów na tym obrazie, jest to renderowanie doskonale w przeglądarce.

A blank screenshot representing a PHP app that fails to load.

Ten obraz przedstawia zrzut ekranu aplikacji PHP (bez dodania obsługi innych metod debugowania) w momencie, w którym występuje awaria. W przypadku aplikacji Java możesz zobaczyć coś takiego:

A screenshot of failed java app with HTTPS Status 500 error.

Dlaczego przyglądamy się tym przykładom? Każdy z nich reprezentuje aplikację, której utworzenie potencjalnie wymagało od firmy poświęcenia ogromnych nakładów czasu, energii i zasobów. Niemniej jeśli aplikacja nie działa, jeśli nie jest funkcjonalna w momencie, w którym klient chce do niej uzyskać dostęp, jeśli nie jest niezawodna, to nie zapewni nikomu żadnych korzyści, zwłaszcza firmie. W rzeczywistości brak niezawodności może wyrządzić faktyczne szkody (w kontekście reputacji, ekonomii, umów, morale itp.) w firmie.

Dlatego usługa SRE decyduje się skupić na niezawodności jako podstawowej właściwości, być może podstawowej właściwości usługi, systemu lub produktu. Niezawodność może obejmować wiele rzeczy (jak omawiamy później), ale przejdźmy do drugiej kluczowej części definicji.

Odpowiednie poziomy niezawodności

Możliwe, że umknęło Ci to podczas pierwszego przeczytania definicji, ale podkreślmy kolejne ważne słowo:

Inżynieria niezawodności lokacji to dyscyplina poświęcona pomaganiu organizacji w trwałym osiągnięciu odpowiedniego poziomu niezawodności w zakresie systemów, usług i produktów.

Dlaczego to słowo jest tak bardzo istotne?

Ważną obserwacją w świecie SRE jest to, że istnieje kilka systemów i usług, które muszą być w 100% niezawodne. Rozwiązania decydujące o życiu i śmierci, np. w lotnictwie, medycynie itp. są istotnym wyjątkiem.

W rzeczywistości istnieje kilka sytuacji, w których jest to nawet pożądane. Wymagania dotyczące nakładów pracy i zasobów (a tym samym koszty) rosną bardzo szybko w przypadku osiągania większej niezawodności. Innymi słowy, goni po niezawodności, której nie potrzebujesz, to strata czasu i pieniędzy. Chcesz osiągnąć odpowiedni poziom niezawodności systemu, usług i produktów.

Poziom musi być dopasowany do potrzeb biznesowych oraz musi być pragmatyczny. Na przykład nasi klienci mogą łączyć się z Tobą za pośrednictwem sieci, która nie jest w 100% niezawodna (załóżmy, że to nawet 90% czasu). Wydatki na nakład pracy i pieniądze, aby upewnić się, że twoja usługa jest w 95% niezawodna, jest z definicji stratą czasu i pieniędzy. Chcesz osiągnąć odpowiedni poziom niezawodności systemu, usług i produktów.

Inżynieria SRE przenosi ten pragmatyzm na kolejny poziom. Jeśli teraz możemy myśleć o pożądanym poziomie niezawodności, czy jest coś, co powinniśmy zrobić, jeśli uda nam się osiągnąć spotkanie lub przekroczyć ten poziom? Podobnie, co mamy zrobić, jeśli nie osiągniemy tego poziomu? Odpowiemy na te pytania w dalszej części modułu.

Trwale zapewnić

Zanim przejdziemy dalej, ostatnim wyrazem z naszej definicji, który musimy wyróżnić jest trwale. Podtrzymuje rolę ludzi. Niezwykle ważne jest, aby stworzyć zrównoważoną praktykę operacyjną. Osoby tworzyć niezawodne systemy, usługi i produkty. Jeśli nie robimy rzeczy, aby upewnić się, że nasza praca jest zrównoważona. Jeśli obudzimy naszych ludzi o godzinie 3:00 każdej nocy ze stroną i nie daj im czasu z rodziną. Jeśli nie mają okazji spędzać czasu, dbając o siebie. Następnie nie ma możliwości tworzenia niezawodnych systemów. SRE uważa, że kluczowe jest wdrożenie praktyki operacyjnej, która jest zrównoważona w czasie, więc nasi ludzie są w stanie jak najlepiej pracować.

Sprawdź swoją wiedzę

1.

Na której właściwości usługi, systemu lub produktu przede wszystkim skupia się inżynieria SRE?

2.

Do jakiego poziomu niezawodności dąży inżynieria SRE dla prawie wszystkich usług, systemów i produktów?