DevOps Grafik

DevOps gehört mittlerweile zum Standard in der Software-Entwicklung, doch das war nicht immer so. Wie fast überall hat das Zusammenführen von Teams und Arbeitsschritten massive Vorteile mit sich gebracht.

Was bedeutet DevOps?

DevOps kombiniert die Begriffe Software Development (Software-Entwicklung) und IT Operations und beschreibt dabei direkt, dass es sich hierbei um die Verknüpfung von zwei Bereichen handelt, die früher getrennt voneinander agiert haben.

So wurden früher Softwareprodukte in Auftrag gegeben, entwickelt und erst dann getestet. IT Operations hat selten Einblicke in die Arbeit des Software Development-Teams gehabt. Dadurch konnte es schneller zu Missverständnissen kommen. Außerdem war das Risiko hoch, dass die entwickelte Lösung nicht mit anderen parallel entwickelten Lösungen kompatibel ist. Dadurch, dass die Testphase erst nach der Entwicklung stattfand, waren Änderungen oft komplexer und zentrale Fehler mussten umständlich behoben werden.

Iterative Herangehensweise für eine höhere Qualität

Beim Kochen gibt es die Regel, dass man das Gericht nicht erst kostet, wenn man es fertig gekocht hat, sondern immer wieder, damit man bereits frühzeitig merkt, ob es beispielsweise zu wenig oder zu viel Salz hat. Dieses ähnliche Konzept hat auch DevOps. Beide Teams arbeiten gemeinsam, tauschen sich aus und Ergebnisse werden frühzeitig geteilt und getestet, so dass Fehler schneller erkannt und mit einem sehr viel geringerem Aufwand behoben werden können. Parallel können dadurch auch die Timelines besser eingehalten werden, da durch den iterativen Ansatz schneller größere Herausforderungen identifiziert und beispielsweise durch mehr Resourcen oder andere Prioritäten gelöst werden. Das Projekt wird agiler und kann kurzfristige Änderungen schneller und einfacher mit aufnehmen.

DevOps gehört damit zu Methoden wie dem agilen Projektmanagement, die dafür sorgen, dass kleinere Arbeitspakete schneller finalisiert und implementiert werden, was auch die Time-to-Market reduziert, also die Zeit zwischen der ersten Idee und dem ersten Einsatz einer Lösung.

Die fünf Bestandteile eines DevOps-Projektes

Zu beachten ist hierbei, dass diese Phasen nicht chronologisch hintereinander ablaufen, sondern teilweise parallel.

Entwicklung/Development

Die Software wird entwickelt. Wichtig ist hier, dass die Entwicklung in kleine, überschaubare Arbeitspakete aufgeteilt wird, die beispielsweise bereits vor Ende des gesamten Projektes eingesetzt und getestet werden können, um die folgenden Schritte zu beschleunigen.

Testen

Jeder neue Code wird geprüft und getestet, so dass sich keine Fehler einschleichen, die das gesamte Programm sabotieren.

Integration

Neue Funktionalitäten werden integriert und getestet und zwar iterativ. Damit kann garantiert werden, dass sich einerseits die Code-Pakete „verstehen“ und andererseits, dass die Funktionalitäten nicht nur alleine, sondern auch in der ganzen Lösung funktionieren.

Einsatz/Deployment

Neue Änderungen werden unmittelbar eingesetzt und können dadurch auch schon vor Fertigstellung des gesamten Projektes angewandt werden. Dabei kann auch getestet werden, wie gut die Anwendung mit Umsystemen interagiert.

Monitoring

Bugs und auffällige Systemveränderungen werden durchgehend geprüft und gegebenenfalls zurückgespielt, um sie zu beseitigen.

DevOps-Vorteile

Der DevOps-Ansatz ist besonders dann von Vorteil, wenn es sich beispielsweise um Webseiten, aber auch Cloud-Anwendungen handelt.

(Quelle: guru99.com)

Vorhersehbarkeit – Risiken und Misserfolge lassen sich durch ständige Tests reduzieren

Reproduktivität – Da alle Versionen gespeichert werden, können diese leichter wiederhergestellt werden, um beispielsweise Bugs zu identifizieren, etc.

Wartbarkeit – Das Produkt lässt sich nach dem Release schneller und einfacher reparieren.

Time-to-Market – Das Produkt kann schneller finalisiert und veröffentlicht werden, insbesondere bei digitalen und mobilen Anwendungen

Qualität – Das Produkt kann durch die stetige Testung und Kommunikation insgesamt effizienter, nutzerfreundlicher und hochwertiger entwickelt werden

Risikenminimierung – Datenschutz und andere Sicherheitsthemen werden nicht erst als Fußnote angehängt, sondern von Anfang an berücksichtigt.

Resilienz – Das Produkt ist durch viele Tests stabiler, sicherer und lässt sich einfacher verändern, da es durch den DevOps-Prozess automatisch flexibler konfiguriert wurde

Kostensparend – Durch den agilen Ansatz lassen sich Deadlines einhalten, Resourcen effektiv einsetzen und Risiken minimieren. All das spart enorme Kosten.

Kleinere Codierungspakete – Durch den agilen Ansatz gibt es kein großes Code-Gerüst, das unter Umständen schwer zu verändern ist, sondern kleine „Code-Pakete“, die sich schneller anpassen, optimieren und „reparieren“ lassen.


Ihnen fehlen die Ressourcen, um einen DevOps-Shop aufzubauen? Informieren Sie sich über unsere Nearshore-Services.

New call-to-action