- PagerDuty /
- Der Blog /
- Best Practices und Einblicke /
- Aufbau und Skalierung Ihres SRE-Teams
Der Blog
Aufbau und Skalierung Ihres SRE-Teams
Der Aufbau von Site Reliability Engineering (SRE)-Teams ist schwierig! Es gibt so viele Artikel und Erklärungen zu SRE, dass man leicht den Überblick verliert. Die eigentliche Herausforderung besteht darin, nicht nur die Rolle des einzelnen SRE zu verstehen, sondern auch ein SRE-Team aufzubauen und zu skalieren. Es ist wichtig, die richtigen Informationen zu finden, die Ihnen dabei helfen, Ihr SRE-Team auf die nächste Ebene zu bringen.
In einer kürzlichen Seiten Sie bis zum Limit Podcast-Folge mit Gremlins Mit Tammy Bryant, Principal SRE, haben wir die Bedeutung von SRE und den Aufbau von Teams mit der richtigen Kultur besprochen. Aufbauend auf einigen der von Tammy vorgestellten Best Practices geht dieser Artikel über die bloße Definition der Rolle eines SRE hinaus und befasst sich mit praktischen Möglichkeiten zum Aufbau und zur Skalierung Ihrer SRE-Teams.
Was ist ein SRE?
Das Ziel hier ist nicht, die Definition von Site Reliability Engineer oder SRE neu zu erfinden. Der Begriff SRE wurde an mehreren Stellen definiert (die umfassendsten Informationen finden Sie unter Googles SRE-Buch ). Eine meiner Lieblingserklärungen, was ein SRE ist, stammt von Tammy Bryant selbst: „Sie [SREs] arbeiten mit allen Teams einer Organisation zusammen, um sicherzustellen, dass Zuverlässigkeitsziele ständig erreicht werden. Sie sind Ingenieure, sie sind Ausbilder, sie sind Mentoren, sie sind „Automatisierer“, sie sind datengesteuert und sie stellen den Kunden an erste Stelle.“
„Eine der wichtigsten Aufgaben eines SRE besteht darin, die Software und Systeme hinter wirklich wichtigen Diensten, die die Menschen täglich nutzen und auf die sie sich verlassen, zu schützen, bereitzustellen und weiterzuentwickeln. Daher muss man Haltbarkeit, Verfügbarkeit, Latenz, Leistung und Kapazität stets im Auge behalten.“
– Tammy Bryant , Haupt-SRE, Gremlin
Im Allgemeinen versucht ein SRE, die Lücke zwischen Entwicklungs- und Betriebsteams zu schließen, um die Zuverlässigkeit der Systeme sicherzustellen und ist verantwortlich für Verfügbarkeit, Latenz, Leistung, Effizienz, Änderungsmanagement und Überwachung.
In der DevOps-Welt herrscht oft Verwirrung darüber, dass DevOps und SRE dasselbe sind. Obwohl es Überschneidungen gibt, geht es bei DevOps eher um das „Was“, das getan werden muss, während sich Site Reliability Engineering mehr auf das „Wie“ konzentriert, das getan werden kann.
SRE-Fähigkeiten und -Verantwortlichkeiten
SRE ist eine wichtige Rolle/ein wichtiges Team in der heutigen digitalen Welt. Wie Tammy es ausdrückt: „Wenn Ihr System und Ihre Dienste nicht laufen, können Ihre Kunden Ihre Dienste nicht einmal nutzen.“
Wie bereits erwähnt, konzentrieren sich die Rollen und Verantwortlichkeiten von SREs auf Leistung und Zuverlässigkeit. Ein SRE ist nicht einfach nur „eine Person aus dem operativen Bereich, die Code schreibt“, sondern er verfügt über Fähigkeiten, die auf Automatisierung, Bereitstellung, Konfigurationsmanagement, Überwachung sowie Analysen und Metriken ausgerichtet sind. Gute SREs suchen Partnerschaften mit technischen Stakeholdern, um eine zuverlässige, skalierbare, sichere und leistungsfähige Plattform zu entwickeln und bereitzustellen. Über die Partnerschaft hinaus suchen SREs und SRE-Teams nach Möglichkeiten, das Kundenerlebnis zu verbessern und über technische Trends auf dem Laufenden zu bleiben, um innovative Tools und Ansätze zur Problemlösung zu finden.
Wenn Sie über die übergreifenden Verantwortlichkeiten der Automatisierung nachdenken und sich auf das Kundenerlebnis und die Zuverlässigkeit konzentrieren, sollten SREs über die Fähigkeiten verfügen, Probleme zu lösen, indem sie Code schreiben, um manuelle Prozesse zu automatisieren. SREs sind häufig für die Ausführung kritischer Dienste verantwortlich, auf die Kunden (sowohl interne als auch externe) angewiesen sind. Es ist wichtig, dass SREs die Auswirkungen und die Bedeutung verstehen, die eine betriebliche Optimierung auf ein Produkt haben kann, und die positiven Auswirkungen, die sie auf eine gesamte Organisation haben kann. SREs sollten auch einfühlsam und reaktionsschnell gegenüber anderen sein und die Fähigkeit besitzen, Meinungen und Vorschläge aufzunehmen und diese in Möglichkeiten umzusetzen, schnell technische Lösungen zu erreichen.
Aufbau eines SRE-Teams
Beim Aufbau eines SRE-Teams ist es wichtig, Richtlinien festzulegen, die die Ziele des Teams repräsentieren. Bei PagerDuty verfügen unsere SREs über eine Reihe von Richtlinien, die das SRE-Team durch den Entscheidungsprozess begleiten. Dave Bresci, Site Reliability Engineering Manager bei PagerDuty, hat uns diese Richtlinien mitgeteilt. Sie sind hier aufgeführt:
- Stellen Sie sicher, dass unsere Arbeit mit den Organisationszielen in Einklang steht.
- Arbeiten Sie mit Engineering-Stakeholdern zusammen, um eine unterstützenswerte und leistungsfähige Servicearchitektur (gepflasterter Weg) zu definieren.
- Streben Sie kontinuierlich danach, das Kundenerlebnis zu verbessern: Vollständige Unterstützung des Lebenszyklus (Erstellung, Entwicklung, Bereitstellung, Außerbetriebnahme), Beobachtbarkeit, flexible Konnektivität und Überwachung.
- Bevorzugen Sie verwaltete, kommerziell unterstützte oder branchenweit akzeptierte Lösungen gegenüber selbst entwickelten Systemen.
- Benachrichtigen Sie die Organisation proaktiv über wesentliche Infrastrukturänderungen.
- Messen Sie den Erfolg anhand der Akzeptanz.
- Überprüfen Sie Designentscheidungen und Komponenten, die veraltet sind, und prüfen Sie, was durch verwaltete oder handelsübliche Teile ersetzt oder erheblich vereinfacht werden kann.
- Geben Sie SRE-Fachwissen an die gesamte PagerDuty Organisation weiter.
- Berücksichtigen Sie bei der Entscheidungsfindung zu Architektur und Plattform die Betriebskosten.
Wenn Ziele klar formuliert, niedergeschrieben und für die gesamte Organisation sichtbar sind, verbessert dies die Unternehmenskultur durch Transparenz, Klarheit und Informationsaustausch. Ein Beispiel für ein spezifisches Teamziel ist das des PagerDuty SRE Delivery Teams: Wir bestärken Dienstbesitzer in der Bereitstellung von Werkzeugen, Mustern und Partnerschaften, damit sie schnell und in großem Maßstab zuverlässige, funktionsfähige und leistungsfähige Dienste aufbauen können. Zusätzlich zu diesen übergreifenden SRE-Zielen bei PagerDuty haben unsere einzelnen SRE-Teams jeweils ihre eigenen individuellen Ziele niedergeschrieben.
Beim Aufbau und der Skalierung von SRE ist es wichtig, sich Möglichkeiten zum Teilen von Informationen wie Fortschritt und Zielen zu überlegen. Wir überprüfen diese Ziele auch in unserem Product All Hands. Was auch immer Ihre Ziele sind, definieren Sie sie klar, teilen Sie sie mit der Organisation und machen Sie die Vision und Mission Ihres Teams weithin bekannt. Bei PagerDuty verwenden wir ein internes Wiki, das allen offen steht, um Ziele miteinander zu teilen, und wir überprüfen diese Ziele auch in Product All Hands.
Die Arbeitsweise eines SRE-Teams variiert je nach Organisation. SRE-Rollen können vollständig in ein Team integriert, von mehreren Teams gemeinsam genutzt oder von einem eigenständigen Team gemeinsam genutzt werden. Wenn Sie wissen, wo Sie sich im organisatorischen Transformationsprozess befinden und welches übergeordnete Ziel Sie mit einem SRE-Team erreichen möchten, können Sie besser bestimmen, wie Ihr Team strukturiert sein soll.
Skalieren Sie Ihr SRE-Team
Wie bei der Skalierung jedes Teams ist der erste Schritt, sich darüber im Klaren zu sein, dass Einstellung und Einarbeitung viel Zeit in Anspruch nehmen. Neue Mitarbeiter können 3 bis 12 Monate brauchen, um neue Systeme, neue Arbeitsweisen und die kulturelle Dynamik neuer Organisationen und Teams zu erlernen.
Denken Sie immer daran, dass Transformation nicht über Nacht passiert, genauso wie das Erstellen neuer Teams und/oder das Skalieren besagter Teams. Eine Möglichkeit, auf Kurs zu bleiben, besteht darin, immer den Horizont im Auge zu behalten und zu schauen, was als Nächstes kommt. Setzen Sie sich Teamziele für die nächsten 2-3 Jahre, die Sie erreichen möchten. Denken Sie daran, dass SRE-Teams nicht auf einer Insel leben und die Verantwortung der SRE-Gruppe nicht nur darin besteht, für die Zukunft zu bauen, sondern auch die bestehende Umgebung zu unterstützen. Sie wissen nie, wann die aktuellen Systeme zusammenbrechen oder wann plötzlich eine Pandemie ausbricht und Sie Ihre Umgebung stark skalieren müssen.
Das Verständnis, dass Skalierung und Reparaturen bei SRE-Teams aktuelle Optimierungsprojekte auf Eis legen können, und dies dem Team mitzuteilen, ist der Schlüssel, um es auf die Bedürfnisse des Unternehmens und der Kunden konzentrieren zu können. Schließlich werden die Teams frustriert sein, wenn sie sich mit all den Altsystemen herumschlagen müssen. Sie werden alles in die Luft jagen und reparieren wollen, weshalb es wichtig ist, die Teams daran zu erinnern, dass die Migration und der Fortschritt Zeit brauchen und dass sich dieser Fortschritt nicht immer in der täglichen Problembewältigung zeigt. Eine Möglichkeit, dem entgegenzuwirken, besteht darin, das Team regelmäßig an die kleinen Fortschritte zu erinnern, die sich summiert haben. Stellen Sie Fragen wie „Erinnern Sie sich, wo wir vor 6 Monaten waren?“ Die Verwendung von Daten zur Untermauerung von Fortschrittsraten ist großartig. Sie können sich Dinge ansehen wie: „So sieht unsere Akzeptanzrate dieses neuen Tools im Laufe der Zeit aus“ oder „Vor einem Jahr hatten wir fünf containerisierte Dienste und jetzt haben wir über 100.“
Letzten Endes ist es nicht einfach, Teams aufzubauen und zu skalieren. Hoffentlich hat Ihnen dieser Artikel einige Denkanstöße gegeben, wenn Sie sich auf Ihre SRE-Reise begeben. Wir würden uns freuen, auch Ihre Geschichten, Tipps und Gedanken zu hören.
Setzen Sie das Gespräch mit uns hier fort: community.pagerduty.com Wenn Sie weitere Informationen zum Aufbau und zur Skalierung Ihrer SRE-Teams wünschen, besuchen Sie Tammy Bryants Vortrag vom PagerDuty Summit und die Seite es bis zum Limit Podcast-Folge zu SRE .