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 lokalit a DevOps, včetně toho, jak jsou stejné? Jaký je mezi nimi rozdíl? Můžeme mít obě v naší organizaci?". Tento článek se snaží sdílet některé odpovědi, které nabízejí komunity SRE a DevOps, 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é zahrnovaly:

  • 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í
  • potřeba rychlejšího pohybu a zachování provozní stability

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

Nástroje a oblasti práce mezi SRE a DevOps se značně překrývají. 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é, je, jak se tyto dva liší nebo rozbíhají. Zde nabízíme tři způsoby, jak přemýšlet o jejich vztahu jako způsob, jak na tuto otázku přinést nějaké nuance. S těmito odpověďmi nemusíte souhlasit, ale každý z nich poskytuje dobré výchozí místo pro diskuzi.

"Třída SRE implementuje rozhraní DevOps"

Sešit Site Reliability Workbook (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 její podnadpis. To má za cíl navrhnout (pomocí fráze zaměřené na vývojáře), že SRE by se dalo považovat za konkrétní implementaci filozofie DevOps. Jak je uvedeno v kapitole, "DevOps je poměrně tiché na tom, jak spouštět operace na podrobné úrovni", zatímco SRE je v postupech výrazně popisnější. Jednou z možných odpovědí na otázku, jak tyto dvě relace souvisí, by se proto dalo 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 zmlátené, protože existuje několik definic pro SRE i DevOps, ale stále je to 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 centra pro přípravu spolehlivosti 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". Mít to být přímo uprostřed jména také nabízí některé vynikající důkazy pro toto tvrzení.

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.

pak může být podobná destilační pro DevOps "dodávka".

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 do knihy Hledání SRE zmíněna v našem seznamu zdrojů. Konstatuje, že technici DevOps se do značné míry zaměřují na kanál životního cyklu vývoje softwaru s občasnými zodpovědnostmi za provozní operace, zatímco srEs se zaměřují na produkční provoz s občasnými odpovědnostmi za kanálY SDLC.

Ale 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ě. Oba jsou propojeny obvyklým kanálem, který je sestaven tak, aby kód převzal vývojář, přivedl 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 technici DevOps 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ů.

Na druhou stranu se zaměřených na provozní operace a zaměřte se hluboko do kanálu jako prostředek ke zlepšení konečného výsledku (v podstatě pracujeme v opačném směru).

Jedná se o tento rozdíl ve směru zaměření SRE a DevOps, 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 dvě provozní postupy překrývají a při nepřekrývání se mohou vzájemně komplementovat. Organizace s zavedeným postupem DevOps můžou experimentovat s postupy SRE v malém měřítku (například vyzkoušet cíle úrovně služeb a cíle úrovně služeb), aniž by se museli zavázat k vytváření pozic nebo týmů SRE. Jedná se o poměrně běžný model přijetí SRE.

Další kroky

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