Was ist der Unterschied zwischen SRE und DevOps?


57

Was ist der Unterschied zwischen SRE und DevOps?

Site Reliability Engineering und Development Operations scheinen sich sehr detailliert zu überschneiden. Woher weiß ich, welche Gruppe für was verantwortlich ist, und woher weiß ich, welche Jobs für meine Fähigkeiten geeignet sind?

Bei SRE geht es anscheinend um die Wartung von Servern und Netzwerk, und bei DevOps geht es um die Wartung von Code. Ist das richtig? Gibt es nicht immer noch ein gutes Maß an Überlappung zwischen diesen beiden?


3
Ich denke, DevOps wurde als Begriff so missbraucht, dass er zu diesem Zeitpunkt alles oder nichts bedeutet.
Küken

1
Ein Unternehmen, mit dem ich gesprochen habe, hatte sowohl ein SRE- als auch ein DevOps-Team. Sie sagten mir, dass DevOps zum Erstellen neuer Anwendungen (0-6 Monate) verwendet wurde und SRE alte Anwendungen pflegte. Beide waren Entwickler, die Automatisierung verwendeten, Apps codierten und veröffentlichten.
Paul Totzke

1
Ich denke, Googles Buch über SRE wäre eine gute Lektüre, um zu verstehen, was es ist: landing.google.com/sre
Kyle Steenkamp

Antworten:


49

Bei DevOps geht es um die Pflege von Code. Ist das richtig?

DevOps handelt nicht nur von Code, Systemen oder irgendetwas anderem. DevOps ist ein sehr allgemeiner Begriff, der alle Aspekte der Softwarebereitstellung abdeckt .

Site Reliability Engineering ist ein von Google verbreiteter Begriff. Aus diesem Artikel https://landing.google.com/sre/interview/ben-treynor.html können wir ihre TL destillieren.

Grundsätzlich geschieht dies, wenn Sie einen Softwareentwickler bitten, eine Betriebsfunktion zu entwerfen.

Operations, Engineering und Softwareentwicklung verschwimmen. Der Automatisierungsgrad, der zum Erstellen und Warten einer ausgereiften Infrastruktur erforderlich ist, erfordert Kenntnisse von allen drei. SREs sind admins, und Ingenieure, und Entwickler.

Siehe auch: http://shop.oreilly.com/product/0636920041528.do


6
DevOps ist nicht nur auf Software beschränkt, das ist ein Irrtum. Es sollte sich vollständig auf Produktdesign, Produktanforderungen, Dokumentation usw. beziehen. Es soll die gesamte Wertschöpfungskette von einem Kunden zurück zum Kunden verfolgen. Die Einschränkung der Ansicht führt zu einer Verringerung der Auswirkungen und schließlich zu einem Missverständnis der Rolle als anspruchsvollerer Release-Ingenieur.
Jiri Klouda

Ich habe den Unterschied zwischen DevOps Engineeringund SRE workdarüber hinaus noch nicht verstanden. Es handelt sich um ein Akronym, das von Google entwickelt und durch ein ziemlich cooles (kostenloses!) Buch untermauert wurde.
BlackVegetable

Site Reliability Engineer ist eine aktuelle Bezeichnung und Stellenbeschreibung. Es impliziert genau das, was es sagt. Ein Titel, der auf der Softwareseite DevOps implizieren kann, ist Platform Engineer, bei dem Sie eine Plattform erstellen und automatisieren, auf der Entwickler sie bereitstellen können. In der Zwischenzeit ist ein SRE die Person, die für die typischen Operationen verantwortlich ist. Diese sind ein bisschen anekdotisch, können aber wahrscheinlich zum Verständnis von @BlackVegetable beitragen.
Matt O.

1
Es gibt eine Reihe großartiger YouTube-Videos von Seth Vargo und Liz Fong (Google sie.) Sie machen deutlich: "Klasse SRE implementiert DevOps." SRE ist eine konkrete, formalisierte Praxis, die vielen DevOps-Prinzipien folgt.
Dave Swersky


21

Dave Swersky hat bereits oben mit Ben Treynors Definition von SRE eine hervorragende Resonanz erzielt, die heute genauso aussagekräftig ist wie 2003.

Grundsätzlich geschieht dies, wenn Sie einen Softwareentwickler bitten, eine Betriebsfunktion zu entwerfen.

Um "DevOps" weiter zu definieren, hier ein Auszug aus dem Buch Effective DevOps von Jennifer Davis & Katherine Daniels:

Devops ist eine Denk- und Arbeitsweise. Es ist ein Rahmen zum Teilen von Geschichten und zum Entwickeln von Empathie ... [es] ist nicht nur eine andere Softwareentwicklungsmethode.

[P] -Praktiken können Softwareentwicklungsmethoden oder Funktionen wie Infrastrukturautomatisierung und kontinuierliche Bereitstellung umfassen, [obwohl] dies viel mehr als nur die Summe dieser Teile ist.

Während diese Konzepte verwandt sind und häufig in devops-Umgebungen gesehen werden, übersehen sie nur das Gesamtbild - die kulturellen und zwischenmenschlichen Aspekte, die devops Macht verleihen.

Zusammenfassend lässt sich sagen, dass eine effektive SRE die DevOps-Praktiken wirksam einsetzen wird.

-

Ebenfalls:

Woher weiß ich, welche Gruppe für was verantwortlich ist?

Eigentum sollte nicht implizit sein; kommunizieren!


17

Site Reliability Engineering fällt unter mehr oder weniger traditionelle Abläufe, ist jedoch stark automatisiert und versionskontrolliert, was auch als Infrastruktur als Code bezeichnet wird . Es ist eine genau definierte vertikale Rolle . In modernen DevOps ist dies die vertikale Schicht, die sich auf Operationen bezieht. Sie können ein Team von SRE haben.

DevOps als solches ist eine kulturelle Veränderung für eine Organisation. Neben dem vertikalen, von oben nach unten, Managementstruktur, erstellt es eine horizontale Verbindung zwischen den Teams entlang der Lieferweg der Arbeit in den Wertschöpfungsketten . Für einen Ingenieur ist es eine lose definierte horizontale Rolle , die mehrere Teams zusammenhält und sicherstellt, dass die Arbeit im gesamten Unternehmen reibungslos und schnell verläuft. Sie können kein Team von DevOps-Ingenieuren haben, das ist ein Oxymoron , da das Überschreiten der Teamgrenzen ein entscheidender Teil der Rolle ist.


Alle Links zu relevanten Quellen wäre toll.
Kenorb

1

Eine andere Möglichkeit, die Unterschiede zwischen Site Reliability Engineering und DevOps zu beschreiben, ist die Erklärung von a in WikipediaSite Reliability Engineer , die wie folgt beginnt:

Site Reliability Engineer (SRE) ist eine Tätigkeitsbeschreibung für Software-Ingenieure, die sich auf Zuverlässigkeit, Skalierbarkeit und die Entwicklung von Cloud-Computing-Infrastrukturen konzentriert, die als Site Reliability Engineering (SRE) bezeichnet werden.

Sie können also SREs als Personen betrachten, die an Building walls...

Die Erklärung von WikipediaDevOps beginnt jedoch so:

DevOps ... ist ein Begriff, der sich auf eine Reihe von Vorgehensweisen bezieht, bei denen die Zusammenarbeit und Kommunikation sowohl von Softwareentwicklern als auch von IT-Fachleuten bei der Automatisierung des Prozesses der Softwarebereitstellung und der Änderungen der Infrastruktur im Vordergrund steht. Ziel ist es, eine Kultur und Umgebung zu schaffen, in der das Erstellen, Testen und Freigeben von Software schneller, häufiger und zuverlässiger erfolgen kann.

Was nicht heißt, ist, dass all diese DevOps-Praktiken tatsächlich durch eine Nachfrage von der Geschäftsseite ausgelöst werden . So mit dem Bau kombiniert und Prüfung (das Entwickeln eines Teils davon) und die Veröffentlichung von Software, ist DevOps über eine DDR (= Nachfrage-Entwicklung-Release) Kultur und Umwelt, die einige Leute aus diesen erinnern kann 9 Sekunden von einer historischen Rede zu Tear down this wall.

Ein Beispiel für alle SE-Standorte, die von einem Benutzer mit der Berufsbezeichnung SRE-Manager gepostet (signiert) wurden, finden Sie in der Frage zu einem für Mittwoch, 3. Mai 2017, 20.00 Uhr (US / Ost) geplanten kurzen Ausfall , Stack Overflow, Inc.


Ich folge nicht dem Argument, dass SRE den Bau von Mauern beinhaltet. Woher bekommen Sie das?
Xiong Chiamiov

Tom Limoncelli ist weit mehr als nur für die Arbeit bei Stack Exchange bekannt.
Xiong Chiamiov
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.