DevOps ist keine festgelegte Methode und kein definierter Prozess. Es ist eher eine Philosophie oder ein Arbeitsmodell dafür, agile Entwicklung und Auslieferung effizient zu implementieren. Die jährliche Studie „State of DevOps Report“ zeigt beispielsweise, dass Top-Performer über 200 mal häufigere Code Deployments schaffen als die schwächste Gruppe in der Befragung. Im Kern geht es darum, Entwicklung und operative IT miteinander zu vereinen.
Was bedeutet DevOps?
DevOps kurz und knapp:
- Schnellere Releases
- Häufigere Releases
- Entwickler und IT sind abgestimmt
- Automatisierung im Release-Zyklus
Warum ist DevOps wichtig?
Wenn Entwicklung und IT nicht zusammenarbeiten, kann es immer zu Konflikten kommen, die Rollouts behindern. Indem Projekte und Prozesse aufeinander abgestimmt sind, vermeiden Unternehmen diese potenziellen Konflikte. Das Worst-Case-Szenario wäre, wenn sich Entwicklung und IT gegenseitig ausbremsen oder im Weg stünden. Der nächste Release der Anwendung erfordert zusätzliche Hardware oder eine angepasste Konfiguration, aber die IT besteht auf ihrem eigenen Prozess? Das würde die Auslieferung dieser Software um Tage oder gar Monate verzögern. Oder von der anderen Seite aus betrachtet: die Entwicklung hat mit neuen Hardwareanforderungen geplant, ohne die IT rechtzeitig zu informieren.
Diese Fälle vermeidet DevOps, wenn es richtig implementiert ist. Es sind nicht nur diese Katastrophen-Szenarien, die beispielsweise die Stabilität oder Verfügbarkeit von Anwendungen gefährden können. Es gehören auch Szenarien dazu, die sich auf die Performance oder Usability von Anwendungen auswirken. Automatisiertes Testing und permanentes Performance-Monitoring kann zu den Prozessen einer DevOps-Ausrichtung gehören, die dies vermeiden. Das Ergebnis: Entwicklung und operative IT arbeiten unmittelbar zusammen. Mit klaren Prozessen, einem hohen Grad an Automatisierung und enger Kollaboration.
Die Vorteile von DevOps in der Praxis
Das Ergebnis der DevOps-Strategie sollte sein, dass Softwarebereitstellung für alle transparent und automatisiert funktioniert. Wichtige Prozesse der Teams verschmelzen und alle wissen jederzeit, woran die anderen gerade arbeiten. Die Methoden, um dieses Ziel zu erreichen, können unterschiedlich ausfallen. Automatisierung spielt dabei eine wichtige Rolle, beispielsweise Setup und Konfiguration der Infrastruktur passend zu neuen Software-Rollouts.
Ein anderes Beispiel für Automatisierung sind Testing- und Performance-Routinen, die Deployments verifizieren und die Leistung der Anwendung überwachen. Neben Automatisierung gehören neue Strukturen in den Teams zu den häufigen Änderungen für den DevOps-Ansatz: Entwicklung, Operations und QA werden zu einem Team, das die gesamte Softwarebereitstellung gemeinsam begleitet.
Agilität durch automatisierte Prozesse
Zu den Zielen für DevOps gehören automatisierte Prozesse wie beispielsweise „Continuous Integration“ und „Continuous Deployment“. Continuous Integration bedeutet, Änderungen aller Entwickler am Code automatisch zusammenzuführen und zu testen. Dies hilft dabei, Fehler frühzeitig zu entdecken und nicht erst dann zu bemerken, wenn fertige Builds manuell zusammengeführt werden. Continuous Delivery ist die Erweiterung davon auf die Auslieferung.
Softwareänderungen werden automatisch integriert, landen in einer Staging-Umgebung und unterlaufen dort ebenfalls automatisierten Tests. Wenn Änderungen nach dem Testing automatisch ausgeliefert werden, spricht man von „Continuous Deployment“. In dieser Ausbaustufe sind alle Phasen der Software-Bereitstellung automatisiert.
DevOps mit der PSKE
Über den Autor
Erfahren Sie mehr
Blog
Was ist PaaS (Platform as a Service)?
Blog
IT-Trends 2023: Datenhoheit, Green IT und DevOps
Blog
Was ist Cloud-native?
Haben Sie noch Fragen?
Senden Sie mir einfach eine Nachricht mit Ihrem Anliegen und ich melde mich schnellstmöglich zurück.