Nejčastější dotazy: Jaký je vztah mezi SRE a DevOps?

Existuje sada běžných otázek, které se týkají vztahu mezi technikou spolehlivosti lokality a DevOps včetně "Jak jsou stejné? Jaký je mezi nimi rozdíl? Můžeme mít oba v naší organizaci?". Tento článek se pokouší sdílet některé odpovědi, které nabízí SRE a DevOps komunity, které nám přiblíží pochopení tohoto vztahu.

Jak jsou stejné?

SRE i DevOps jsou moderní provozní postupy, které byly vytvořeny a vyvinuty v reakci na výzvy, které zahrnují:

  • rostoucí složitost našich produkčních prostředí a vývojových procesů
  • zvyšující se podnikatelská závislost na nepřetržitém fungování těchto prostředí
  • neschopnost škálovat pracovní síly lineárně s velikostí těchto prostředí
  • nutnost rychlejšího pohybu a zachování provozní stability

Obě provozní postupy si váží pozornosti témat, které jsou zásadní pro řešení těchto problémů, jako je monitorování/ pozorovatelnost, automatizace, dokumentace a nástroje pro vývoj softwaru pro spolupráci.

Mezi SRE a DevOps se výrazně překrývají nástroje a oblasti práce. Jak uvádí Sešit spolehlivosti webu, "SRE věří ve stejné věci jako DevOps, ale z mírně různých důvodů."

Tři různé způsoby porovnání dvou provozních postupů

Podobnosti mezi SRE a DevOps jsou jasné. Kde je to opravdu zajímavé, jak se tyto dva liší nebo rozbíhají. Zde nabízíme tři způsoby, jak přemýšlet o jejich vztahu jako o způsobu, jak přinést některé nuance na tuto otázku. S těmito odpověďmi možná nesouhlasíte, ale každý z nich poskytuje dobré výchozí místo pro diskuzi.

Třída SRE implementuje rozhraní DevOps

Sešit o spolehlivosti webu (uvedený v našem seznamu zdrojů) popisuje SRE a DevOps v první kapitole. Tato kapitola používá frázi "třída SRE implementuje rozhraní DevOps" jako jeho podnadpis. To je určené k návrhu (použití fráze zaměřené na vývojáře), které by SRE mohlo být považováno za konkrétní implementaci DevOps filozofie. Jak je uvedeno v kapitole, "DevOps je relativně tiché o tom, jak spouštět operace na podrobné úrovni", zatímco SRE je výrazně popisnější ve svých postupech. Jednou z možných odpovědí na otázku, jak souvisí, je SRE možné považovat za jednu z mnoha možných implementací DevOps.

SRE je spolehlivost, protože DevOps je doručování

Toto porovnání je trochu bahno, protože existuje více definic pro SRE i DevOps, ale stále je potenciálně užitečné. Začíná otázkou "Pokud byste museli jednotlivé operace destilovat do jednoho nebo dvou slov, která odrážejí jeho základní obavy, co by to bylo?"

Pokud použijeme tuto definici SRE z technického centra pro spolehlivost lokality:

Site Reliability Engineering (SRE) je technická disciplína, která pomáhá organizaci udržitelně dosahovat odpovídající úrovně spolehlivosti jejích systémů, služeb a produktů.

pak by bylo snadné říci, že slovo pro SRE je "spolehlivost". Když je to přímo uprostřed názvu, nabízí také některé vynikající důkazy pro tento nárok.

Pokud použijeme tuto definici DevOps z centra prostředků Azure DevOps:

DevOps je spojení lidí, procesů a produktů, které má koncovým uživatelům průběžně doručovat hodnotu.

poté může být podobná destilace pro DevOps "dodání".

Proto "SRE je spolehlivost, protože DevOps je doručování".

Směr pozornosti

Tato odpověď je citována nebo mírně parafrázována z příspěvku Thomas Limoncelli k hledání SRE knihy uvedené v našem seznamu zdrojů. Konstatuje, že DevOps technici se do značné míry zaměřují na kanál životního cyklu vývoje softwaru s občasnými odpovědnostmi za produkční operace, zatímco srEs se zaměřují na produkční provoz s občasnými odpovědnostmi za kanálY SDLC.

Ale ještě důležitější je, že také nakreslí diagram, který začíná procesem vývoje softwaru na jedné straně a provozními operacemi na druhé straně. Obě jsou propojené obvyklým kanálem, který je sestaven tak, aby kód převzal od vývojáře, ovští ho požadovaným počtem testů a fází a pak tento kód přesunul do produkčního prostředí.

Limoncelli konstatuje, že DevOps technici začínají ve vývojovém prostředí a automatizují kroky směrem k produkčnímu prostředí. Po dokončení se vrátí k optimalizaci kritických bodů.

SrEs se na druhou stranu zaměřují na provozní operace a do hloubky se do kanálu zaměřují jako prostředek ke zlepšení koncového výsledku (v podstatě pracuje v opačném směru).

Je to rozdíl ve směru SRE a DevOps zaměření, které jim může pomoct odlišit.

Koexistence ve stejné organizaci

Poslední otázka, kterou bychom chtěli vyřešit, je "Můžete mít SRE i DevOps ve stejné organizaci?"

Odpověď na tuto otázku je uspořádaná "ano!".

Doufáme, že předchozí odpovědi nabízejí představu o tom, jak se tyto dva provozní postupy překrývají, a když se nepřekrývají, jak se můžou vzájemně překrývat. Organizace se zavedenou DevOps praxi můžou experimentovat s postupy SRE v malém měřítku (například s pokusy OS A SLO) bez nutnosti vytvářet pozice nebo týmy SRE. Jedná se o poměrně běžný vzor přijetí SRE.

Další kroky

Zajímá vás další informace o spolehlivosti webu nebo o DevOps? Podívejte se na naše centrum pro spolehlivost webu a centrum prostředků Azure DevOps.