SRE w kontekście

Ukończone

Zanim zbadamy niektóre praktyki związane z inżynierią SRE, dobrze będzie umieścić niektóre pomysły poznane w poprzedniej lekcji w kontekście. W tej krótkiej lekcji poznamy niektóre z historii związane z usługą SRE i sposób, w jaki odnosi się on do innych praktyk operacyjnych, z którymi możesz się zapoznać. Ta wiedza umożliwia nam późniejsze osiągnięcie większego sukcesu, ponieważ te praktyki mają większe znaczenie w kontekście. Ponadto, gdy twoi przyjaciele pytają "Jak różni się SRE od ..." masz gotową odpowiedź.

Historia

Bardzo skrócona historia inżynierii SRE rozpoczyna się od źródeł tej idei w firmie Google w roku 2003. Ben Treynor, teraz Treynor Sloss, przejął kierownictwo "Production Team" Google (wtedy tylko siedmiu inżynierów oprogramowania). Treynor stworzył pomysł i opisał go jako "co się stanie, gdy poprosisz inżyniera oprogramowania o zaprojektowanie funkcji operacji". Warto zrozumieć tę historię, ponieważ pomaga wyjaśnić, dlaczego inżynieria SRE może czuć się bardzo "inżynierią oprogramowania" dla osób korzystających z tej historii po raz pierwszy. Przyjęła ona wartości i narzędzia z tego pola, np. znaczenie kodowania oraz systemy kontroli źródła, jako narzędzia fundamentalne. Wstępne i bieżące wdrożenie SRE w firmie Google jest dobrze udokumentowane w dwóch książkach opublikowanych przez wydawnictwo O'Reilly (zobacz lekcję Wprowadzenie).

Kiedy część osób zaczęła odchodzić z Google (i ludzie z firmy zaczęli częściej publicznie mówić o ich praktykach), pojęcie SRE zaczęło rozprzestrzeniać się do innych organizacji w branży. Kiedy inżynieria SRE dotarła do nowych organizacji, zaczęły one przyjmować i dostosowywać zasady i praktyki SRE, aby dopasować je do lokalnej kultury. Ten proces rozszerzania przyniósł wiele różnych implementacji SRE w terenie.

DevOps i SRE

Szersza branża doświadczała tych samych wyzwań związanych ze skalowaniem, prędkością rozwoju oraz stabilnością operacyjną oraz innych problemów z dostarczaniem oprogramowania, które przyczyniły się do powstania ruchu inżynierii niezawodności lokacji. Równolegle wysiłki związane z tymi wyzwaniami były podejmowane poza firmą Google (w kilku większych firmach w tym czasie), które przyczyniły się do powstania metodyki DevOps.

Aby uzyskać wiele dobrych informacji na temat metodyki DevOps, zobacz Centrum zasobów DevOps.

Uwaga

Należy zauważyć, że DevOps i SRE to dwa różne, równoległe podejścia, które powstały w odpowiedzi na te same wyzwania. Inżynieria SRE nie jest następnym krokiem w ewolucji DevOps. SRE nie został utworzony jako "przyszłość metodyki DevOps".

Różnice między usługami SRE i DevOps są nadal przedmiotem znacznej dyskusji w tej dziedzinie. Istnieje kilka ogólnie uzgodnionych różnic, w tym:

  • Inżynieria SRE to dyscyplina inżynieryjna, która koncentruje się na niezawodności. DevOps to ruch kulturowy, który pojawił się z chęci podzielenia silosów zwykle związanych z oddzielnymi organizacjami deweloperskimi i operacyjnymi.
  • SRE może być nazwą roli, np. „Jestem inżynierem niezawodności lokacji (SRE)”. DevOps nie może. Nikt, mówiąc ściślej, nie zarabia na życie będąc „DevOps”.
  • Inżynieria SRE wydaje się być bardziej normatywna, metodyka DevOps celowo taka nie jest. Niemal uniwersalne przyjęcie ciągłej integracji/ciągłego dostarczania oraz zasad Agile są najbliższym elementem w tej kwestii.

Dwa rozwiązania związane z operacjami, DevOps i SRE, dzielą wspólne zamiłowanie do monitorowania/możliwości obserwacji oraz automatyzacji (możliwe, że z różnych powodów). Jest to jeden z powodów, dla których często łatwiej jest zaimportować praktyki i zasady inżynierii SRE do organizacji z istniejącą praktyką DevOps. Ten proces musi być przeprowadzany z rozwagą i rozmysłem. Może to być również możliwe i powinno być implementowane przyrostowo, nie trzeba robić nagłego przełączania.

Ostrzeżenie

Sama zamiana tytułów stanowisk ludzi w organizacji to strategia wdrożenia, która prawie nigdy nie zakończy się sukcesem. Nie będzie ze sobą niosła korzyści oferowanych przez inżynierię SRE. Zobacz sekcję Wprowadzenie w tej lekcji, aby uzyskać lepsze sugestie.

Podsumowanie

Celem tej krótkiej lekcji było zaprezentowanie odrobiny kontekstu dla inżynierii SRE oraz metodyki DevOps. Usługi SRE i DevOps najlepiej traktować jako sąsiadujące szkoły myśli w praktykach operacyjnych.

Teraz, gdy krótko przyjrzeliśmy się niektórym z podstaw inżynierii SRE, przejdźmy do niektórych podstawowych zasad.

Sprawdź swoją wiedzę

1.

Biorąc pod uwagę pochodzenie SRE, które dyscypliny miał największy wpływ na tę ideę?

2.

Co było pierwsze, DevOps czy SRE?

3.

Czy SRE jest kolejnym krokiem ewolucyjnym DevOps?

4.

Jakie są dwa najlepsze rozwiązania, które są kluczowymi elementami DevOps i SRE?