Wie DevOps und SRE zusammenarbeiten können

Komplementäre DevOps- und SRE-Teams können wunderbare Synergien schaffen – und sind die Mühe der Integration wert

DevOpsUPDATED ON Mai 18, 2023

John Adam K&C head of marketing

Author

Hero image for DevOps and SRE article with animated DevOps engineer with laptop against tech-themed background

DevOps auf der einen Seite zu sehen und Site Reliability Engineering (SRE) auf der anderen impliziert gewissermaßen eine Konkurrenz zwischen den beiden Ansätzen. Das muss aber nicht sein. Wie bei den meisten erfolgreichen Methoden im Tech-Bereich können DevOps und SRE wertvolle Synergien schaffen, wenn sie so implementiert werden, dass sie sich gegenseitig ergänzen.

Im Folgenden erfahren Sie, wie Sie eine für beide Seiten vorteilhafte Beziehung zwischen SRE und DevOps aufbauen können. Wir beginnen mit den Unterschieden zwischen den beiden Ansätzen, den Vorteilen und Herausforderungen, die sich aus ihrer Kombination ergeben, und den Strategien für ihre effektive Nutzung.

Was ist SRE?

A diagram illustrating

Das Phänomen der massiv skalierbaren Cloud-Services hat eine neue Ära in der IT eingeleitet – und eine Revolution des IT-Betriebs und der Systemgestaltung. Ein wesentliches Element dieses Umbruchs war das Aufkommen von SRE. Das wiederum erfordert einen Wandel sowohl in der organisatorischen Denkweise als auch in den Betriebsabläufen.

SRE wurde von Benjamin Treynor definiert, nachdem er 2003 Leiter der Produktionsabteilung von Google geworden war. SRE bedeutet im Wesentlichen, dass Ingenieure mit Software-Know-how die Arbeit übernehmen, die traditionell von Betriebsteams erledigt wurde. Der Unterschied zwischen traditionellen Ops-Teams und SREs besteht darin, dass letztere die Aufgabe haben, so viel wie möglich zu automatisieren und die Wahrscheinlichkeit menschlicher Fehler zu minimieren.

SREs sind dafür verantwortlich, dass Produktionssysteme und -dienste verfügbar, zuverlässig und widerstandsfähig sind. Sie kümmern sich um die Leistungsabstimmung und -optimierung mithilfe von Automatisierung und zentralisierten Tools. Außerdem definieren und pflegen sie Kunden-SLAs und leisten technische und betriebliche Unterstützung, wenn gegen SLA-Systeme verstoßen wird. Und schließlich sind sie auch für die Erstellung und Pflege von Notfallwiederherstellungsplänen verantwortlich.

SRE betrachtet Infrastruktur und Betrieb als ein Softwareproblem und verwendet wiederholbare, programmatische Prozesse, um fehleranfällige manuelle Aufgaben zu eliminieren. Das Hauptziel von SREs besteht darin, DevOps-Praktiken zu implementieren und zu automatisieren, um Störungen zu minimieren und die Zuverlässigkeit und Skalierbarkeit zu maximieren. SREs stehen in ständiger Kommunikation mit dem Entwicklungsteam und geben häufig Feedback zu Leistungskennzahlen wie Störungen, Verfügbarkeit, Latenz, Effizienz und Kapazität.

Was ist DevOps?

DevOps life cycle infographic

DevOps vereint traditionelle Softwareentwicklungs- und Betriebsteams nach einer Reihe von Praktiken mit dem gemeinsamen Ziel, ein zuverlässiges Endprodukt zu liefern. Durch die enge Zusammenarbeit von Entwicklungs- und Betriebsteams erhöht sich die Geschwindigkeit, mit der sie hochwertige Software produzieren, testen und bereitstellen.

DevOps-Teams sind für die kontinuierliche Integration (continuous integration, CI) und die kontinuierliche Bereitstellung (continuous delivery, CD) von Pipelines verantwortlich, während sie die Entwicklungsinfrastruktur des Unternehmens verwalten und pflegen. Mithilfe verschiedener Tools und Technologien unterstützen sie die Automatisierung der Build-, Test- und Bereitstellungsprozesse, um die Geschwindigkeit und Effizienz der Anwendungsbereitstellung zu erhöhen. Außerdem sorgen sie dafür, dass die von ihnen entwickelten Systeme hochverfügbar und skalierbar sind.

Die Einführung von DevOps ist mit einem kulturellen Wandel verbunden, der Unternehmen dazu bringt, Organisationssilos zu beseitigen, Fehler als Teil des Prozesses zu behandeln, inkrementelle Änderungen zu implementieren, die Automatisierung zu nutzen und alles zu erfassen. DevOps macht es den Teams leichter, geschäftlichen Mehrwert zu liefern, da sie schneller und mit weniger Fehlern arbeiten können.

Wie ist die Beziehung zwischen DevOps- und SRE-Teams?

SRE arbeitet eng mit DevOps zusammen und stellt eine Reihe von Prozessen, Standards und Automatisierungsdetails für DevOps-Teams bereit, um Aktualisierungen zu überwachen und Systemprobleme zu beheben, sobald sie auftreten – insbesondere bei großen, geografisch verteilten Systemen.

DevOps bemüht sich um ein Gleichgewicht zwischen Durchsatz und Stabilität, während SRE die Zuverlässigkeit in den Vordergrund stellt. Beide konzentrieren sich auf Metriken, aber DevOps berücksichtigt Elemente wie Bereitstellungshäufigkeit, Zykluszeit und Fehlerrate bei Änderungen; SRE versucht, Service Level Agreements (SLAs), Service Level Objectives (SLOs) und Service Level Indicators (SLIs) durch Fehlerbudgets zu verwalten. DevOps und SRE sind ohne Zweifel unterschiedlich, sollten aber keine Konkurrenten sein.

Warum sollten Sie DevOps und SRE integrieren?

DevOps und SRE ergänzen sich in dem allgemeinen Bestreben, den Betrieb reibungsloser zu gestalten, organisatorische Silos aufzubrechen und schneller hochwertige Software zu liefern. In einer Welt, in der die Erwartungen der Benutzer exponentiell steigen und die Angebote der Mitbewerber ständig weiterentwickelt werden, werden Systemausfälle nicht toleriert, so dass Unternehmen noch härter arbeiten müssen, um einen außergewöhnlichen Service zu gewährleisten.

Aus diesem Grund ist es von entscheidender Bedeutung, DevOps- und SRE-Teams zu integrieren, damit sie für maximale Effizienz zusammenarbeiten. SREs haben die Fähigkeit, Systeme zu optimieren und dadurch sicherzustellen, dass Ressourcen immer dann verfügbar sind, wenn sie benötigt werden. Das ist eine wesentliche Unterstützung für DevOps-Teams, denen möglicherweise die Kapazitäten fehlen, sich auf die Erwartungen der Benutzer zu konzentrieren.

Die zunehmende Komplexität von Softwareumgebungen und -infrastrukturen ist ein weiterer Grund, warum DevOps-Teams mit ihren SRE-Kollegen zusammenarbeiten müssen. Sie können maschinelles Lernen, Kubernetes und andere komplexe, Cloud-native Technologien unterstützen, die mehr Aufmerksamkeit erfordern. Gemeinsam können SRE und DevOps dazu beitragen, die betriebliche Komplexität zu minimieren, indem sie Prozesse effizienter gestalten, die Bereitstellung automatisieren und die Systemleistung verbessern. Diese Vereinfachung führt zu niedrigeren Kosten, einer verbesserten Benutzererfahrung und höherer Produktivität.

Was kann schiefgehen?

DevOps und SRE sind komplementäre Methoden, die bei der Zusammenarbeit wertvolle Synergien erzeugen können. Ihre erfolgreiche Zusammenarbeit hängt jedoch von einer gesunden Beziehung zwischen den beiden Teams ab. Die Anwendungsbereitstellung ist eine Herausforderung: Ohne effektive Kommunikation und Zusammenarbeit zwischen SRE und DevOps ist es schwierig, ein effektives End-to-End-Management und eine effektive Reaktion auf Vorfälle aufrechtzuerhalten.

Um eine stabile Beziehung zu gewährleisten, müssen SRE und DevOps Klarheit über sowohl ihre jeweiligen Aufgaben als auch die Bereiche haben, in denen sie zusammenarbeiten sollten. Auch muss das Unternehmen den kulturellen Wandel unterstützen, den diese Art der Integration mit sich bringt. Probleme entstehen, wenn Grenzen und Überschneidungsbereiche nicht explizit definiert sind, die Unternehmenskultur nicht offen für Veränderungen ist oder die Rolle der Automatisierung nicht verstanden wird.

Grenzen

Die Abgrenzung zwischen SRE und DevOps ist von Unternehmen zu Unternehmen unterschiedlich. Dennoch sollten sich DevOps-Teams hauptsächlich auf die Softwareentwicklung und -bereitstellung konzentrieren, SRE-Teams dagegen auf den laufenden Betrieb und die Wartung der Software nach der Bereitstellung.

SLAs sind eine weitere Abgrenzung. Der Schwerpunkt eines SRE-Teams liegt auf der Verfügbarkeit und Leistung der Anwendung, während DevOps sich um den Entwicklungs- und Bereitstellungsprozess kümmert – was im Allgemeinen über den Rahmen eines Kunden-SLA hinausgeht.

Ein weiteres Unterscheidungsmerkmal ist die Dokumentation. Die technische Dokumentation ist für die Rolle eines SRE-Teams von entscheidender Bedeutung, während dies für DevOps-Teams im Allgemeinen nicht zutrifft. Dies ändert sich jedoch, da DevOps-Teams bestrebt sind, etabliertes Wissen zu festigen, das Onboarding von Entwicklern zu optimieren und Entwicklern bei der Suche nach Informationen Zeit zu sparen.

Überschneidungen

SRE- und DevOps-Teams müssen in wichtigen Bereichen zusammenarbeiten, um maximale Produktivität zu gewährleisten. Einer dieser Bereiche ist die Einführung neuer Funktionen und Dienste. SRE und DevOps sollten zusammenarbeiten, um sicherzustellen, dass jede neue Version skalierbar und zuverlässig ist.

Sie sollten auch einen teamübergreifenden Ansatz für das Konfigurationsmanagement und die Kapazitätsplanung verfolgen, da Konfigurationsprobleme in einer Anwendung beide Teams betreffen können. DevOps und SRE verfügen auch über spezifische Fachkenntnisse und Daten. Diese sind erforderlich, um die Skalierbarkeit von Software sicherzustellen und somit die Geschäftsanforderungen zu erfüllen, ohne das Budget zu sprengen.

Da sich SRE und DevOps auf die Überwachung ihrer jeweiligen Zuständigkeitsbereiche konzentrieren, sollten sie auch gemeinsam reagieren, wenn Probleme auftreten. Diese Zusammenarbeit erstreckt sich zum Beispiel auf die Ursachenanalyse und die Nachuntersuchung von Vorfällen. Dadurch können Maßnahmen ergriffen werden, um ähnliche Vorfälle in Zukunft zu verhindern.

Sicherheit ist ein weiterer Bereich, der für beide Teams von entscheidender Bedeutung ist. Zumal Unternehmen nur über begrenzte Ressourcen verfügen, um die ständig zunehmenden Bedrohungen durch Angreifer zu bekämpfen. Wenn DevOps- und SRE-Teams zusammenarbeiten, um Toolchains zu automatisieren und zu sichern, ist das Unternehmen besser gerüstet, um seinen Kunden auf sicherer und kontinuierlicher Basis neue Funktionen und Fehlerbehebungen zu liefern.

Kultur

Es liegt in der Natur des Menschen, sich gegen Veränderungen zu wehren. Die Integration von DevOps und SRE fällt sicherlich in die Kategorie der bedeutenden kulturellen Veränderungen. Einige DevOps- und SRE-Teammitglieder werden die Aussicht auf eine engere Zusammenarbeit nicht gerne sehen Eine solide Planung und eine starke Unterstützung durch die Führung können den Übergang jedoch reibungsloser gestalten.

Bevor Sie sich daran machen, die Arbeitsbeziehung zwischen DevOps und SRE zu ändern, sollten Sie einen klaren Plan formulieren, wie die Änderung vonstatten gehen soll, und diesen mit allen beteiligten Teammitgliedern transparent besprechen. Vergewissern Sie sich, dass das Führungsteam die Integration befürwortet und den erforderlichen Aufwand sichtbar unterstützt.

Automatisierung

Automatisierung ist sicherlich der Schlüssel zur Integration von DevOps und SRE, aber sie ist kein Allheilmittel und kann auch übertrieben werden. Alles zu automatisieren kann problematisch sein und manchmal zu unnötiger Komplexität, verschwendeten Ressourcen und fehlerhaften Bereitstellungen führen. Das Hinzufügen eines manuellen Schritts vor der Übertragung von Änderungen in eine Produktionsumgebung kann dagegen sehr hilfreich sein, um Risiken zu erkennen, nachdem die unteren Umgebungen auf potenzielle Probleme überprüft wurden.

Wie können Sie DevOps mit SRE nutzen?

Angesichts der unbestreitbaren Vorteile der Verknüpfung von DevOps und SRE wäre es verlockend, alle Aspekte von DevOps und SRE auf einmal zu implementieren. Ein schrittweiser Ansatz ist jedoch ratsam. Unternehmen sollten zunächst die Grundlagen schaffen, indem sie sicherstellen, dass die Rollen klar definiert sind und auf einer soliden Grundlage aufbauen.

Um optimale Ergebnisse zu erzielen, sollten Unternehmen die Automatisierung einbeziehen. Automatisierung ist ein wesentlicher Bestandteil von DevOps und SRE, und Unternehmen sollten sich daran orientieren. Sie trägt dazu bei, den Arbeitsaufwand und die Kosten zu reduzieren, die Zuverlässigkeit zu verbessern und die schnelle Anpassung an sich ändernde Anforderungen zu erleichtern.

Ausbildung ist ein weiterer wichtiger Bereich, dem Priorität eingeräumt werden sollte. Der Erfolg von DevOps und SRE hängt von speziellen Fähigkeiten ab, die ständig aktualisiert werden müssen. Daher sollten Unternehmen umfangreiche Weiterbildungsprogramme anbieten, um ihre Teams auf dem neuesten Stand der Best Practices und Technologien zu halten. Kultur ist etwas, das von oben nach unten gesteuert werden sollte. Die Förderung der Zusammenarbeit und Kommunikation zwischen den Teams trägt dazu bei, dass sich alle an den gemeinsamen Zielen von DevOps und SRE orientieren.

Zusammenfassend

Einzeln betrachtet sind SRE und DevOps leistungsstarke Disziplinen zur Reduzierung der betrieblichen Komplexität. In den meisten Fällen führt die Nutzung ihrer gemeinsamen Stärken zu einem exponentiellen Wert und stellt sicher, dass die IT-Infrastruktur eines Unternehmens zuverlässig und effizient läuft.

Begrenzte Ressourcen und ein kleinerer Mitarbeiterstamm können es für kleinere Unternehmen jedoch schwierig machen, die beiden Disziplinen zu kombinieren. Dennoch sollten sich auch kleinere Unternehmen auf die schrittweise Einführung von DevOps und SRE konzentrieren, mit dem Ziel, sie im Laufe ihres Wachstums zu integrieren.

Die Befolgung von Best Practices zur Förderung der Zusammenarbeit zwischen den Teams kann es Unternehmen ermöglichen, eine verbesserte Agilität, Skalierbarkeit und Zuverlässigkeit zu erreichen. Das wiederum verschafft einen eindeutigen Wettbewerbsvorteil in der digitalen Welt verschafft.

K&C – Nearshore DevOps Ingenieure, Berater und DevOps Teams

K&C ist ein Nearshore-IT-Outsourcing-Dienstleister mit Sitz in München und Außenstellen in Krakau, Sofia, Baku und Sulaymaniyah sowie Remote-Spezialisten in anderen Nearshore-Märkten.

Wir bieten flexible DevOps-Ressourcen, die sich bequem mit Ihren Projektzyklen skalieren lassen. Gleichzeitig optimieren wir Ihre IT-Budgetausgaben: Wir stellen Ihnen zuverlässig die von Ihnen benötigten Ressourcen zur Verfügung, wenn Sie sie brauchen – ohne die Kosten in die Höhe zu treiben, wenn Sie sie nicht brauchen.