Im Flow mit DevOps – Durch enge Zusammenarbeit Kunden begeistern

Vorteile und Nutzen von DevOps

DevOps verspricht grosses Potenzial, vor allem für Softwareunternehmen, auf dem Weg in Richtung Kontinuität, Sicherheit, Automatisierung und Geschwindigkeit. Kürzere Entwicklungszyklen von Releases und Funktionen, Reduzierung der Kosten für die Bereitstellung und Wartung, verbesserte Qualität durch schnellere Identifizierung von Bugs und schliesslich weniger Ausfälle und kürzere Durchlaufzeiten, um es auf den Punkt zu bringen.

Der Kern der DevOps-Philosophie ist das «Wir». Weg von Schuldzuweisungen und klar abgegrenzten Silos, hin zu einem besseren Verständnis zwischen Entwicklung (Development) und Betrieb (Operations) und somit zu einer transparenten und ganzheitlichen Teamarbeit.

Effizienz und Qualität durch Automatisierung

Bei DevOps stehen nicht nur Tools oder die Automatisierung im Vordergrund. Trotzdem ist die Automatisierung ein zentraler Bestandteil, der bei der Anwendung von agiler Entwicklung sowie Continuous Integration und Continuous Deployment/Delivery (CI/CD) unerlässlich ist.

Um diese Kontinuität zu ermöglichen, wird mit dem DevOps-Ansatz die Bereitstellung von Releases, das Durchführen von Software-Tests und die Bereitstellung auf der produktiven Umgebung bestmöglich automatisiert. Der Gedanke, dass bei den manuellen Tätigkeiten im Deployment-Prozess etwas schiefgehen kann und das Bewusstsein der Instabilität komplexer Systeme, sind Zweck dieser Automatisierung und der Antrieb einer schnellen Einführung von DevOps in Ihrem Unternehmen.

Zusammengefasst konzentriert sich DevOps auf den kontinuierlichen Einsatz von Automatisierung , um Stress zu erzeugen und Teilausfälle verschiedener Systeme und Services anzuregen, damit Verbesserungen (Continuous Feedback) aktiv zu ermöglichen und damit das System als Ganzes laufend zu optimieren.

Mehrwert für den Kunden

Durch zahlreich durchgeführte DevOps-Projekte, bei welchen von Beginn weg die Zusammenarbeit zwischen Entwicklung und Betrieb aktiv praktiziert wurde, stand jederzeit die Lösung und die Kund*innen im Mittelpunkt. Dadurch konnte die Software optimal auf den Betrieb in der Cloud vorbereitet und die entsprechenden Software- und Systemarchitekturen erstellt werden.

Das Resultat ist einfach: eine sichere, leistungsfähige und einfach skalierbare Lösung. Diese überwacht und "heilt" sich bei Problemen selbst und ermöglicht Kund*innen und dessen Nutzer*innen Zugriff zu jeder Zeit. Durch die Abstimmung des Teams und eine gemeinsame und optimal definierte Architektur, können wertvolle Systemressourcen (Compute-Power) und somit auch Kosten eingespart werden.

Agilität als Antreiber

DevOps basiert auf den Prinzipien der agilen Softwareentwicklung und ist ein wesentlicher Bestandteil solcher Projekte. DevOps geht jedoch über die Bereitstellung einer digitalen Lösung (Softwarecode) hinaus. Damit ist der IT-Betrieb gemeint, welcher nach der Bereitstellung einer digitalen Lösung zum Tragen kommt.

Einfach gesagt macht DevOps dort weiter, wo die Agilität aufhört. Der Fokus liegt dabei auf dem gesamten Lifecycle, bei welchem Themen wie Verfügbarkeit, Sicherheit, Monitoring, Backup uvm. im Vordergrund stehen, sobald eine Lösung an den Kund*innnen ausgeliefert wird und in Betrieb sind.

In der Praxis werden dementsprechend Entwicklung und Betrieb von den Design- und Entwicklungsphasen des agilen Software Development Lifecycle bis hin zur Integration in den produktiven Betrieb vereint. Schliesslich ist DevOps auch ein Konzept, welches stufenweise verstanden und gelebt werden muss und der gleiche Rahmen verwendet werden sollte, welcher das «Agile Manifesto» zur Verfügung gestellt hat.

Fazit

Aus unserer Sicht ist DevOps die konsequente Umsetzung von Agilität. Durch das Zusammenbringen der beiden Welten (Development und Operations) mit der Unterstützung von Automatisierung, kann innerhalb kürzester Zeit auf Fehler, neue Bedürfnisse und Anforderungen reagiert werden. Voraussetzung dafür ist die Container-Technologie, mit welcher durch moderne Microservice-Architekturen, sämtliche Applikationen in stabilen, skalierbaren und «selbst-heilenden» Umgebungen aufgebaut werden können.