Standortzuverlässigkeitstechnik

Standortzuverlässigkeitstechnik (Sre) ist eine Reihe von Prinzipien und Praktiken[1] das beinhaltet Aspekte von Softwareentwicklung und wendet sie auf Infrastruktur und Operationen Probleme.[2] Die Hauptziele sind zu erschaffen skalierbar und äußerst zuverlässig Softwaresysteme.[2] Site -Zuverlässigkeitstechnik ist eng mit dem verwandt mit DevOpsEine Reihe von Praktiken, die Softwareentwicklung und IT -Operationen kombinieren, und SRE wurde auch als spezifische Implementierung von DevOps beschrieben.[2][3]

Geschichte

Der Bereich der Standortzuverlässigkeitstechnik stammt aus Google mit Ben Treynor schleppend,[4][5] WHO Gründete ein Site -Zuverlässigkeitsteam, nachdem er 2003 in das Unternehmen eingetreten war.[6] Im Jahr 2016 beschäftigte Google mehr als 1.000 Site -Zuverlässigkeitsingenieure.[7] Nach der Ursprung von Google im Jahr 2003 breitete sich das Konzept in die breitere Softwareentwicklungsbranche aus, und andere Unternehmen nahmen anschließend mit der Zuverlässigkeit von Site -Zuverlässigkeiten ein.[8] Die Position tritt bei größeren Webunternehmen häufiger vor, da kleine Unternehmen häufig nicht in einer Skala arbeiten, für die dedizierte SREs erforderlich sind.[8] Organisationen Wer das Konzept übernommen hat, umfassen Airbnb, Dropbox, IBM,[9] LinkedIn, Netflix,[7] und Wikimedia.[10] Laut einem Bericht des DevOps Institute 2021 hatten 22% der Organisationen in einer Umfrage unter 2.000 Befragten das SRE -Modell übernommen.[11][12]

Definition

Standort -Zuverlässigkeitstechnik als berufliche Rolle kann von Solo -Praktikern oder in Teams organisiert werden Verfügbarkeit, Latenz, Leistung, Effizienz, Änderungsmanagement, Überwachung, Notfallmaßnahmen, und Kapazitätsplanung.[13] Site -Zuverlässigkeitsingenieure haben häufig Hintergründe in Softwareentwicklung, System Entwicklung, oder Systemadministration.[14] Zu den Fokussierungen des Site -Zuverlässigkeitstechnik gehören Automatisierung, System-Designund Verbesserungen an Systemresilienz.[14]

Standortzuverlässigkeitstechnik als eine Reihe von Prinzipien und Praktiken kann von jedem durchgeführt werden. Sre ist ähnlich wie Sicherheitstechnik In der Art und Weise, wie von irgendjemand zu guten Sicherheitspraktiken beiträgt, kann ein Unternehmen jedoch entscheiden, letztendlich Mitarbeiter für den Job zu machen. Umgekehrt können Unternehmen zur Sicherung von Internetsystemen Sicherheitsingenieure einstellen und ihre Zuverlässigkeitsziele definieren und sicherstellen, dass Unternehmen auch SRE einstellen.

Site Zuverlässigkeitstechnik wurde auch als spezifische Implementierung von DevOps beschrieben[2][3] Es konzentriert sich jedoch speziell auf den Aufbau zuverlässiger Systeme, während DevOps allgemein auf die Infrastruktur ausgerichtet ist.[2]

Stephen Gossett schrieb in Eingebaut Dass einige Unternehmen ihre Betriebsteams mit wenig bedeutungsvollem Veränderung in SRE -Teams umbenannt haben.[8] Dies gilt auch für Operations -Teams, die als DevOps -Teams bezeichnet werden.

Prinzipien und Praktiken

Es gab mehrere Versuche, eine kanonische Liste der Prinzipien für die Zuverlässigkeit von Standortzuverlässigkeiten zu definieren.[15][16] Obwohl der Konsens fehlt, sind die folgenden Merkmale normalerweise in den meisten solchen Definitionen enthalten:

  • Automatisierung oder Eliminierung von etwas repetitiv, das auch kostengünstig ist zu automatisieren oder zu beseitigen.
  • Vermeidung, viel mehr Zuverlässigkeit zu verfolgen als das, was ausschließlich notwendig ist. Das Definieren dessen notwendig ist eine Praxis für sich selbst (siehe Liste der Praktiken unten).
  • Systemdesign mit einer Verzerrung zur Reduzierung von Risiken auf Verfügbarkeit, Latenz und Effizienz.
  • Beobachtbarkeit wie in der Fähigkeit, in der Lage zu sein, willkürliche Fragen zu Ihrem System stellen zu können, ohne wissen zu müssen, was Sie stellen wollten.[17]

Die Praktiken zur Zuverlässigkeit von Site Zuverlässigkeit variieren ebenfalls stark, aber die folgende Liste wird zumindest teilweise implementiert:

  • Mühemanagement als Umsetzung des oben beschriebenen ersten Prinzips.
  • Definieren und Messen von Zuverlässigkeitszielen -Slis, SLOs, und Fehlerbudgets.
  • Nichtabstrakt großes Systemdesign (Nalsd) mit Schwerpunkt auf Zuverlässigkeit.
  • Entwerfen und Implementierung von Beobachtbarkeit.
  • Definieren, Testen und Ausführen eines Incident Management Prozess.
  • Kapazitätsplanung.
  • Änderungs- und Freigabemanagement, einschließlich CI/CD.
  • Chaos Engineering.

Implementierungen

Die Teams zur Zuverlässigkeit von Site Zuverlässigkeit beschäftigen sich mit den anderen Teams in ihren Unternehmen und den SRE -Prinzipien und -Praktiken in verschiedenen Formen. Hier finden Sie einen Überblick über gemeinsame SRE -Teamimplementierungen:[18]

Küchenspüle, a.k.a. "Alles sre"

Der Umfang der Dienste oder Arbeitsabläufe ist normalerweise unbegrenzt.

Infrastruktur

Konzentriert sich auf die Zuverlässigkeit von Systemen hinter den Kulissen, die dazu beitragen, die Jobs anderer Teams effizienter zu gestalten. Diese werden oft mit "Plattform" -Teams oder "Plattformoperationen" -Teams verwechselt. Die SRE -Teams in der Infrastruktur können sich mit einem oder mehreren Plattform -Engineering -Teams zusammenschließen. Sie unterscheiden sich jedoch in dieser Infrastruktur. Plattformteams konzentrieren sich in der Regel auf den Aufbau der Plattform und während die Zuverlässigkeit wünschenswert ist, ist dies nicht ihre einzige Priorität.

Werkzeug

Konzentriert sich auf Tools zur Messung, Aufrechterhaltung und Verbesserung der Systemzuverlässigkeit. Zum Beispiel Nagios Core.

Produkt oder Anwendung

SRE -Team für Produkt und/oder Anwendung. Einige große Unternehmen neigen dazu, mehrere davon zu besetzen.

Eingebettet

Normalerweise sind SRE Solo -Praktiker oder Paare in einem Software -Engineering -Team besetzt, um die meisten der oben beschriebenen Prinzipien und Praktiken anzuwenden.

Beratung

Wenden Sie sich an die Umsetzung von SRE -Prinzipien und -Praktiken. Dies sind normalerweise erfahrene SRES, die in einem oder mehreren der oben genannten Implementierungen in Teams gearbeitet haben. SREs über externe Beratungs -Beratungs -SRE -Teams werden häufig als "Kundenzuverlässigkeitsingenieure" bezeichnet. Sie ändern selten, wenn überhaupt, die Konfiguration oder den Code des Kunden.

Große Unternehmen, die SRE übernommen haben, haben in der Regel eine Kombination der oben beschriebenen Implementierungen, einschließlich mehrerer Teams derselben Implementierung, z. Mehrere Produkt-/Anwendungs ​​-SRE -Teams, um die spezifischen Anforderungen mehrerer Produkte und eines Infrastruktur -SRE -Teams zu erfüllen, um sich mit einer Plattform -Engineering -Gruppe zu kombinieren, um die Zuverlässigkeitsziele einer gemeinsamen Plattform für sowohl Produkte/Anwendungen "zu erreichen.

Industrie

Das Usenix Die Organisation hat seit 2014 eine jährliche SRECON -Konferenz für Site -Zuverlässigkeitsingenieure in der Branche abgehalten und hält auch regionale Konferenzen mit ähnlichen Themen.[19]

Siehe auch

Verweise

  1. ^ "Bewerten Sie, wo Ihr Team im SRE -Spektrum liegt". Google Cloud Blog. Abgerufen 2021-06-26.
  2. ^ a b c d e Beyer, Betsy; Jones, Chris; Petoff, Jennifer; Murphy, Niall, Hrsg. (2016). Site Zuverlässigkeitstechnik: Wie Google Produktionssysteme ausführt. Sebastopol, CA: O'Reilly Media. ISBN 978-1-4919-5118-7. OCLC 945577030.
  3. ^ a b Vargo, Seth; Fong-Jones, Liz (1. März 2018). Was ist der Unterschied zwischen DevOps und SRE? (Klasse Sre implementiert DevOps) (Video). Google.
  4. ^ Hill, Patrick. "Liebe DevOps? Warten Sie, bis Sie Sre treffen". Atlassian. Abgerufen 17. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  5. ^ "Was ist Sre?". roter Hut. Abgerufen 17. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  6. ^ Treynor, Ben (2014). "Schlüssel zu Sre". Usenix SRECON14. Abgerufen 17. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  7. ^ a b Fischer, Donald (2. März 2016). "Sind Standortzuverlässigkeitsingenieure die nächsten Datenwissenschaftler?". Techcrunch. Abgerufen 17. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  8. ^ a b c Gossett, Stephen (1. Juni 2020). "Was ist ein Site -Zuverlässigkeitsingenieur? Was macht ein Sre?". Eingebaut. Abgerufen 17. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  9. ^ "Site Zuverlässigkeitstechnik". IBM Cloud Education. IBM. 12. November 2020. Abgerufen 21. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  10. ^ "Sre - Wikitech". wikitech.wikimedia.org. Abgerufen 2021-10-17.
  11. ^ Oehrlich, Eveline; Groll, Jayne; Garbani, Jean-Pierre (2021). Upskilling 2021 Enterprise DevOps SkillsReport (PDF) (Bericht). DevOps Institute. Abgerufen 17. Juni, 2021.
  12. ^ Oehrlich, Eveline (4. Mai 2021). "Was es braucht, um ein Site -Zuverlässigkeitsingenieur zu sein". TechBeacon. Micro Focus. Abgerufen 17. Juni, 2021.{{}}: CS1 Wartung: URL-Status (Link)
  13. ^ Treynor, Ben. "In Konversation" (Interview). Interviewt von Niall Murphy. Google Site Zuverlässigkeitstechnik.
  14. ^ a b Jones, Chris; Underwood, Todd; Nukala, Shylaja (Juni 2015). "Einstellungsbetriebsballerungsingenieure" (PDF). ;Anmeldung:. Vol. 40, nein. 3. S. 35–39. Abgerufen 17. Juni, 2021.
  15. ^ "Die 7 SRE -Prinzipien [und wie sie in die Praxis umsetzen]". www.blameless.com. Abgerufen 2021-06-26.
  16. ^ "Bewerten Sie, wo Ihr Team im SRE -Spektrum liegt". Google Cloud Blog. Abgerufen 2021-06-26.
  17. ^ "Erfahren Sie mehr über Beobachtbarkeit | Wabe". docs.honeycomb.io. Abgerufen 2021-06-26.
  18. ^ "SRE bei Google: So strukturieren Sie Ihr SRE -Team". Google Cloud Blog. Abgerufen 2021-06-26.
  19. ^ "Usenix Srecon". Usenix. 2021. Abgerufen 17. Juni, 2021.

Weitere Lektüre

Externe Links