Jaka jest różnica między SRE a DevOps?


57

Jaka jest różnica między SRE a DevOps?

Niezawodność witryny Operacje inżynieryjne i programistyczne wydają się nakładać na siebie bardzo szczegółowo. Skąd mam wiedzieć, która grupa jest odpowiedzialna za co i skąd mam wiedzieć, jakie stanowiska byłyby odpowiednie dla mojego zestawu umiejętności?

Wygląda na to, że SRE polega na utrzymywaniu serwerów i sieci, a DevOps na utrzymywaniu kodu, czy to prawda? Czy nadal nie ma dość pokrywania się tych dwóch elementów?


3
Myślę, że DevOps było tak nadużywane jako termin, że w tym momencie oznacza coś lub nic.
pisklęta

1
Firma, z którą rozmawiałem, miała zarówno zespół SRE, jak i zespół DevOps. Powiedzieli mi, że DevOps był używany do tworzenia nowych aplikacji (0–6 miesięcy), a SRE utrzymywał stare aplikacje. Obaj byli programistami, którzy używali automatyzacji, kodowali i wypuszczali aplikacje.
Paul Totzke,

1
Myślę, że książka Googles na temat SRE byłaby dobrą lekturą, aby zrozumieć, co to jest: landing.google.com/sre
Kyle Steenkamp

Odpowiedzi:


49

DevOps polega na utrzymywaniu kodu, czy to prawda?

DevOps to nie tylko „kod”, system, czy jakakolwiek inna rzecz. DevOps to bardzo ogólny termin, który obejmuje wszystkie rzeczy związane z dostarczaniem oprogramowania.

Inżynieria niezawodności witryny to termin spopularyzowany przez Google. Z tego artykułu https://landing.google.com/sre/interview/ben-treynor.html możemy destylować ich TL; DR:

Zasadniczo dzieje się tak, gdy poprosisz inżyniera oprogramowania o zaprojektowanie funkcji operacyjnej.

Rozmycie operacji, inżynierii i oprogramowania. Stopień automatyzacji wymagany do stworzenia i utrzymania dojrzałej infrastruktury wymaga umiejętności od wszystkich trzech. SRE są administratorzy, a inżynierowie i programiści.

Zobacz także: http://shop.oreilly.com/product/0636920041528.do


6
DevOps nie ogranicza się tylko do oprogramowania, co jest nieporozumieniem. Powinien wiązać się z projektowaniem produktu, wymaganiami produktu, dokumentacją itp. Powinien on podążać za całym łańcuchem wartości od klienta do klienta. Ograniczenie widoku prowadzi do zmniejszenia wpływu i ostatecznie do niezrozumienia roli bardziej wyrafinowanego inżyniera wydania.
Jiri Klouda

Muszę jeszcze zrozumieć różnicę między tym, DevOps Engineeringa SRE worktym, że akronim jest opracowany przez Google i poparty całkiem fajną (darmową!) Książką.
BlackVegetable

Inżynier niezawodności witryny to rzeczywisty tytuł i opis stanowiska. Oznacza to, co mówi. Tytuł, który może sugerować DevOps po stronie oprogramowania, to Inżynier Platform, w którym budujesz i automatyzujesz platformę, na której programiści mogą się wdrażać. Tymczasem SRE jest osobą odpowiedzialną za typowe operacje. Są to nieco anegdotyczne, ale prawdopodobnie mogą pomóc w zrozumieniu @BlackVegetable.
Matt O.,

1
Istnieje kilka świetnych filmów z YouTube'a Seth Vargo i Liz Fong (Google im.) Wyjaśniają one: „klasa SRE implementuje DevOps”. SRE to konkretna, sformalizowana praktyka zgodna z wieloma zasadami DevOps.
Dave Swersky


21

Dave Swersky opublikował już doskonałą odpowiedź powyżej z definicją SRE Bena Treynora, która jest równie wzruszająca dzisiaj, jak w 2003 roku.

Zasadniczo dzieje się tak, gdy poprosisz inżyniera oprogramowania o zaprojektowanie funkcji operacyjnej.

Tak więc, próbując dalej zdefiniować „DevOps”, oto fragment książki Effective DevOps Jennifer Davis i Katherine Daniels:

Devops to sposób myślenia i sposób działania. To ramy do dzielenia się historiami i rozwijania empatii ... [to] nie jest tylko kolejną metodologią tworzenia oprogramowania.

[P] taktyki mogą obejmować metody opracowywania oprogramowania lub funkcje, takie jak automatyzacja infrastruktury i ciągłe dostarczanie, [chociaż] to znacznie więcej niż tylko suma tych części.

Choć pojęcia te są ze sobą powiązane i często można je zobaczyć w środowiskach programistów, skupienie się wyłącznie na nich pomija szerszy obraz - aspekty kulturowe i interpersonalne, które dają programistom swoją moc.

Podsumowując: skuteczny SRE wykorzysta praktyki DevOps.

-

Również:

Skąd mam wiedzieć, która grupa jest odpowiedzialna za co?

Własność nie powinna być domniemana; komunikować się!


17

Inżynieria niezawodności witryny podlega mniej lub bardziej tradycyjnym operacjom, ale jest wysoce zautomatyzowana i kontrolowana pod względem wersji, co jest również nazywane infrastrukturą jako kod . Jest to dobrze określona rola pionowa . We współczesnych DevOps jest to pionowy wycinek, który odnosi się do operacji. Możesz mieć zespół SRE.

DevOps jako taka jest zmianą kulturową dla organizacji. Oprócz pionowej, z góry na dół struktury zarządzania, tworzy ona horyzontalne połączenie między zespołami wzdłuż ścieżek dostaw pracy w łańcuchach wartości . Dla inżyniera jest to luźno zdefiniowana pozioma rola , która łączy kilka zespołów razem, zapewniając, że praca przebiega płynnie i szybko w całej organizacji. Nie możesz mieć zespołu inżynierów DevOps, który jest oksymoronem , ponieważ przekroczenie granic zespołu jest kluczową częścią tej roli.


Wszelkie linki do odpowiednich źródeł byłyby świetne.
kenorb

1

Innym sposobem na opisanie różnic między inżynierią niezawodności witryny a DevOps jest spojrzenie na wyjaśnienie Wikipedii dotyczące Site Reliability Engineer, które zaczyna się tak:

Inżynier niezawodności witryny (SRE) to opis zadania skierowany do inżynierów oprogramowania, koncentrujący się na niezawodności, skalowalności i rozwoju infrastruktury przetwarzania w chmurze, znanej jako inżynieria niezawodności witryny (SRE).

Więc możesz rozważyć SRE jako osoby zaangażowane w Building walls...

Jednak wyjaśnienie WikipediiDevOps zaczyna się tak:

DevOps ... to termin używany w odniesieniu do zestawu praktyk, które kładą nacisk na współpracę i komunikację zarówno twórców oprogramowania, jak i specjalistów technologii informatycznych (IT), jednocześnie automatyzując proces dostarczania oprogramowania i zmiany infrastruktury. Ma na celu stworzenie kultury i środowiska, w którym tworzenie, testowanie i wydawanie oprogramowania może się odbywać szybko, często i bardziej niezawodnie.

Nie mówi jednak, że wszystkie te praktyki DevOps są wywoływane przez popyt ze strony biznesu. Więc w połączeniu z tworzenia i testowania (The Develop część) oraz wersji oprogramowania, devops jest o DDR (= Zapotrzebowanie-Develop uwalnianiu) kultury i środowiska, które niektórzy mogą pamiętać z tych 9 sekund historycznego speach do Tear down this wall.

Zapoznaj się z pytaniem dotyczącym krótkiej przerwy planowanej na środę, 3 maja 2017 r. O godz. 20:00 czasu wschodniego / wschodniego (jak wiertarka ogniowa do komputerów), na przykład o wszystkich witrynach SE ... opublikowanych (podpisanych) przez użytkownika o nazwie SRE Manager , Stack Overflow, Inc.


Nie podążam za argumentem, że SRE polega na budowaniu ścian. Skąd to bierzesz?
Xiong Chiamiov

Również Tom Limoncelli znany jest o wiele więcej niż tylko pracę w Stos Exchange.
Xiong Chiamiov
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.