DevOps
DevOps
DevOps ist ein Kunstwort aus "Development" (Entwicklung) und "Operations" (Betrieb). Es bedeutet die enge und harmonische Zusammenarbeit dieser Bereiche bis hin zur Verschmelzung innerhalb von cross-funktionalen Projektteams.
Leistungen
- Cross-funktionale Teams
- Einsatz eines Versionskontrollsystems
- Verwaltung der Infrastruktur als Code
- Prozessautomatisierung als Code
- Testautomatisierung als Code
- Systematisches Monitoring/ Alerting
Vorteile
- Agilität und Stabilität
- Gemeinsame Code-Basis
- Einheitliche Entwicklungsprozesse
- Einheitliche Prozesse im Betrieb
- Kontinuierliche Integration
- Kontinuierliches Feedback
Kooperative Zusammenarbeit von Entwicklung und Betrieb
Ziel von DevOps ist Probleme der klassischer Software-Entwicklung und des klassischen IT-Betriebs zu beheben, indem die Fachlichkeiten zusammenrücken und gemeinsam eine kooperative und automatisierte Methode für den Software-Lebenszyklus einsetzen, die sowohl den stabilen Betrieb gewährleistet als auch die flexible Entwicklung ermöglicht.
DevOps ist nicht die Schnittstelle zwischen getrennten Organisations-Bereichen, sondern eine Methode, die Entwicklung und Betrieb in einem agilen Team verwenden. DevOps ist dabei nicht nur das Treffen beim Planning und beim Release, sondern auch das Schreiben und Betreiben, das Testen und Monitoren des Software-Systems.
Gemeinsame Änderungen in der Infrastruktur
Beispielsweise kann ein agiles Team für ein Projekt eine passend zugeschnittene virtuelle Cloud-Infrastruktur nutzen. Die Konfiguration dieser Infrastruktur ist als Code im Versionskontrollsystem des Projekts enthalten. Wird für die Änderung für einen Endnutzer-Anwendungsfall eine Veränderung an der Infrastruktur benötigt, dann werden diese Änderungen zusammen geplant, geschrieben, gebaut, getestet, released und deployed.
„DevOps is not a role someone has.
DevOps is how it works.“
- Jan M. (CI-Engineer, DevSecOps-Advocat, ion2s)
Versionskontrolle
Auch der Code für diese automatisierten Prozesse und die Testcases werden auf diese Art verwaltet. So stehen alle Teile und jede Änderung am Software-System unter Versionskontrolle und laufen gemeinsam durch ihren kontinuierlichen Integrationsprozess.
Parallele Entwicklung und kontinuierliche Integration
DevOps ermöglicht agilen Teams ihr Software-System ganzheitlich zu verändern, parallel verschiedene Features zu entwickeln und zu testen, ohne die Stabilität der veröffentlichten Version zu beeinträchtigen. Neue Versionen werden kontinuierlich veröffentlicht und Feedback aus automatisierten Tests und dem Monitoring fortlaufend für die Planung der weiterer Entwicklung gesammelt.