Close

Best Practices für DevOps

DevOps erfordert kulturelle Veränderungen, automatisierte Prozesse und Investitionen in die richtigen Technologien

Profilbild von Tom Hall
Tom Hall

DevOps-Fan und -Anwender


Zu den Best Practices von DevOps gehören agiles Projektmanagement, Shift Left mit CI/CD, Automatisierung, Überwachung, Observability und kontinuierliches Feedback.

Was ist DevOps?


DevOps lässt sich am besten verstehen als ein Geschäftsverhalten zur Verbesserung der Kommunikation und Zusammenarbeit zwischen Entwicklungs- und Betriebsteams mit dem Ziel, die Geschwindigkeit und Qualität von Software-Deployments zu erhöhen. Es ist eine neue Arbeitsweise mit tiefgreifenden Auswirkungen auf Teams und die Unternehmen, für die sie arbeiten.

Die Bedeutung von DevOps


Auch wenn im Zuge einer DevOps-Transformation die Geschäftsstrukturen und -prozesse überarbeitet werden müssen, lohnt sich die Mühe. In unserer Umfrage zu DevOps-Trends 2020 gaben 99 % der Befragten an, dass DevOps einen positiven Einfluss auf ihr Unternehmen habe.

Eine weitere DevOps-Studie, DORA's State of DevOps 2019, ergab, dass Elite-Anwender 208-mal häufiger und 106-mal schneller veröffentlichen als weniger leistungsfähige Teams. Neben der höheren Markteinführungsgeschwindigkeit führt DevOps auch zu einer besseren Qualität, wobei Elite-Teams im Vergleich zu weniger leistungsfähigen Teams eine siebenmal niedrigere Änderungsfehlerquote aufweisen.

Symbol: drei überlappende Kreise
Zugehöriges Material

Kostenlos loslegen

Symbol für Trophäe
Zugehöriges Material

Erfahre mehr über die Vorteile von DevOps

Best Practices bei der Implementierung von DevOps


Flexibles Projekt-management

Agile ist ein iterativer Ansatz, der Teams bei Projektmanagement und Softwareentwicklung hilft, ihren Kunden schneller und reibungsloser Mehrwert zu bieten. Agile-Teams liefern ihre Arbeit in kleineren Teilstücken ab, anstatt an einem einzigen Release-Termin alles auf einen Schlag zu veröffentlichen. Anforderungen, Pläne und Ergebnisse werden fortlaufend evaluiert, sodass Teams schnell auf Feedback reagieren und umschwenken können.

Einige Schlüsselkonzepte des agilen Projektmanagements:

  • Beginne mit einem Workflow, der vier Phasen umfasst: Zu erledigen, In Bearbeitung, Codeüberprüfung und Erledigt. Weitere Informationen zu Workflows
  • Teams müssen Großprojekte in kleinere Aufgaben unterteilen und im Laufe der Bearbeitung auf Änderungen der Anforderungen oder des Umfangs reagieren. Lies mehr darüber, wie du mit Epics, Storys und Themes Aufgaben strukturieren und ihren Umfang planen kannst.
  • Wie werden inkrementelle Aufgaben geplant, verfolgt und gemessen? Scrum und Kanban sind zentrale Frameworks für Teams, die agile Methoden anwenden.

​​​​​​​Shift Left mit CI/CD

Wenn Teams einen "Shift Left" vollziehen, bringen sie frühzeitig Tests in ihre Codeentwicklungsprozesse ein. Anstatt mehrere Änderungen an ein separates Test- oder QS-Team zu senden, werden während des gesamten Codierungsprozesses verschiedene Tests durchgeführt, damit Entwickler direkt Fehler beheben oder die Codequalität verbessern können, während sie an dem entsprechenden Abschnitt der Codebasis arbeiten. Die Anwendung von Continuous Integration (CI) und Continuous Delivery/Deployment (CI/CD) untermauert die Fähigkeit für einen Shift Left. Weitere Informationen zu CI/CD

​​​​​​​Einsatz der richtigen Tools

Eine DevOps-Toolkette erfordert für jede Phase des DevOps-Lebenszyklus die richtigen Tools mit wichtigen Funktionen zur Verbesserung der Softwarequalität und Liefergeschwindigkeit. Lies mehr darüber, wie du DevOps-Tools auswählst und die Funktionen für jede Phase des DevOps-Lebenszyklus überprüfst.

​​​​​​​Implementierung von Automatisierung

Continuous Integration und Delivery ermöglicht es Entwicklern, Code regelmäßig im Haupt-Repository zu mergen. Anstatt dass der Code manuell überprüft werden muss, automatisiert CI/CD diesen Prozess – von Batches in einem festgelegten Zeitraum bis hin zu häufigen Commits. Neben CI/CD sind automatisierte Tests für erfolgreiche DevOps-Praktiken unerlässlich. Automatisierte Tests können End-to-End-Tests, Komponententests, Integrationstests und Leistungstests umfassen. Lies mehr über die Integration von Automatisierung in deine Softwareentwicklungsprozesse. Weitere Informationen zur Automatisierung

​​​​​​​Überwachung der DevOps-Pipeline und der Anwendungen

Die DevOps-Pipeline muss unbedingt überwacht werden, damit ein defekter Build oder ein fehlgeschlagener Test keine unnötigen Verzögerungen verursacht. Die Automatisierung steigert die Entwicklungsgeschwindigkeit enorm, aber wenn in einem automatisierten Prozess ein Fehler passiert und niemand davon erfährt, ist man letztendlich mit manuellen Prozessen besser beraten. Genauso müssen Produktionsanwendungen überwacht werden, um Fehler oder Leistungsmängel zu erkennen, bevor du von deinen Kunden darüber informiert wirst.

​​​​​​​Observability

Da sich die Branche weg von monolithischen, lokalen Systemen sowie Anwendungen und hin zu Cloud-nativen, Microservice-basierten Anwendungen bewegt, ist die Überwachung jetzt erheblich komplexer. Infolgedessen besteht ein zunehmendes Interesse an Observability. Zu den am häufigsten genannten drei Säulen der Observability zählen Protokolle, Traces und Metriken. Protokolle werden von den meisten Systemkomponenten und -anwendungen generiert und bestehen aus Zeitreihendaten über die Funktionsweise des Systems oder der Anwendung. Traces verfolgen den Logikfluss innerhalb der Anwendung. Zu den Metriken gehören CPU/RAM-Reservierung oder -Nutzung, Festplattenspeicher, Netzwerkkonnektivität und mehr. Observability bedeutet einfach, alle drei dieser Informationsquellen zusammen zu nutzen, um Erkenntnisse über die Funktionsweise eines komplexen Systems zu gewinnen und Vorhersagen zu treffen, die sonst nur schwer möglich wären. Weitere Informationen zur Observability

​​​​​​​Fortlaufende Erfassung von Feedback

Kontinuierliches Feedback stellt sicher, dass die Teammitglieder über alle Informationen verfügen, die erforderlich sind, um ihre Arbeit fristgerecht zu erledigen. Aus Sicht der Entwicklung bedeutet dies, dass das Team sofort auf Pipeline-Ausfälle aufmerksam gemacht wird. Dies bedeutet auch, dass den Entwicklern so schnell wie möglich klare, gründliche Codetestergebnisse zur Verfügung gestellt werden. Aus Sicht des Produktmanagements muss das Team auf Produktionsausfälle, Leistungsmängel oder gemeldete Fehler aufmerksam gemacht werden. Früher war die Ansicht weit verbreitet, dass ein Entwicklerteam entweder nur auf Geschwindigkeit oder nur auf Qualität optimieren könne. Kontinuierliches Feedback ist eines der Elemente von DevOps, das beides gleichermaßen ermöglicht.

​​​​​​​Kulturwandel

DevOps erfordert Zusammenarbeit, Transparenz, Vertrauen und Empathie. Wenn dein Unternehmen zu den wenigen gehört, bei denen diese Eigenschaften bereits etabliert sind, sollte es für deine Teams ziemlich einfach sein, DevOps-Praktiken anzuwenden. Wenn nicht, sind einige Anstrengungen erforderlich, um diese Eigenschaften zu entwickeln. Die gängigsten Unternehmensstrukturen sind isoliert, was bedeutet, dass verschiedene Teams getrennte Eigentums- und Verantwortungsbereiche haben und es nur minimale teamübergreifende Kommunikation oder Zusammenarbeit gibt. Damit DevOps erfolgreich umgesetzt werden kann, müssen diese Barrieren durch die Einführung des Prinzips "you build it, you run it" beseitigt werden. Dies bedeutet nicht, dass es keine Mitarbeiter oder Teams mehr gibt, die sich spezialisieren, sondern nur, dass die Kommunikations- und Kooperationswege zwischen Teams offen sind und auch genutzt werden. Erfahre mehr darüber, wie du deine Teamkultur aufbaust.

Die Weiterentwicklung deiner DevOps-Praktiken ist ein fortlaufender Prozess. Konzentriere dich auf die Mitarbeiter und Prozesse, wenn du mit deiner DevOps-Transformation beginnst, und nimm fortschrittliche Tools, Integrationen und Feature-Funktionen mit auf, um ein immer ausgereifteres Team zu schaffen.

Tom Hall
Tom Hall

Tom Hall ist ein DevOps-Befürworter und -Anwender, begeisterter Leser und Amateurpianist.
In den letzten 20 Jahren hat er u. a. Zertifikate von Novell, EMC, VMware und AWS erhalten. Im Jahr 2016 half er bei der Organisation der DevOpsDays in Atlanta und in den folgenden Jahren in Austin, Texas.


Diesen Artikel teilen
Nächstes Thema

Lesenswert

Füge diese Ressourcen deinen Lesezeichen hinzu, um mehr über DevOps-Teams und fortlaufende Updates zu DevOps bei Atlassian zu erfahren.

Abbildung: DevOps

DevOps-Community

Abbildung: DevOps

DevOps-Lernpfad

Abbildung: Karte

Kostenlos loslegen

Melde dich für unseren DevOps-Newsletter an

Thank you for signing up