Die Erwartungen an Softwareentwickler sind in den letzten Jahren rasant gestiegen: Immer schneller müssen sie qualitativ hochwertige, fehlerfreie Lösungen entwickeln und auf dem hart umkämpften Markt bereitstellen. DevOps-Praktiken können ihnen bei der Bewältigung dieser Herkules-Aufgabe helfen. Doch die unternehmensweite Implementierung dieser Prozesse in hybride IT-Umgebungen stellt IT-Experten vor zahlreiche Herausforderungen.
Julian Fish, Director of Product Management bei Micro Focus erklärt, was diese bei der Integration von DevOps beachten müssen.
Immer mehr Unternehmen setzen auf hybride IT-Landschaften, um neben den lokalen Anwendungen auch den Mehrwert Cloud-basierter Services nutzen zu können. DevOps-Tools begünstigen solch einen hybriden Ansatz, da sie beispielsweise die Migration in die Cloud vereinfachen und gleichzeitig weiterhin Legacy-Apps unterstützen. Doch handelt es sich bei der Implementierung von DevOps um einen Prozess, der sowohl Softwareentwicklung als auch -bereitstellung auf lange Sicht verändert. Um die Vorteile der neuen Praxis vollständig nutzen zu können, dürfen sich Unternehmen nicht nur auf moderne Tools verlassen, sondern müssen ebenfalls einen Kulturwandel durchmachen, für den es ein Umdenken in unterschiedlichen Bereichen braucht.
Ein DevOps-zentrierter Ansatz und Validierungsfunktionen
Unternehmen müssen den aktuellen Stand ihres Technology-Value-Streams – also des Prozesses zwischen Konzept und Endprodukt, das den eigentlichen Wert für den Kunden generiert – genau kennen. Dieser Prozess besteht aus zwei Abschnitten: Produktdesign inklusive Entwicklung sowie Produktauslieferung. Viele Unternehmen greifen im Rahmen der Produktauslieferung bereits auf Continuous Delivery als DevOps-Praktik zurück. Sobald es an die Erstellung von Anwendungskomponenten geht, stellen ein agiler Ansatz und Validierungsfunktionen sicher, dass diese Anwendungen schneller sowie kosten- und ressourcenschonend getestet und verifiziert werden können. Mithilfe bestimmter DevOps-Praktiken können einzelne Schritte des Bereitstellungsprozesses als Teil einer DevOps-Tool-Chain effizient automatisiert werden. So kann beispielsweise die zeitintensive manuelle oder analoge Suche nach Fehlern im Code reduziert – und im besten Fall vollständig umgangen – werden, wenn die verantwortlichen Teams Testläufe zugunsten der Qualitätssicherung automatisieren. Dies ermöglicht sowohl höheres Testvolumen als auch -umfang, was wiederum zu einer geringeren Defect-Escape-Rate führt.
„Shift Left“: Sicherheit ist unerlässlich
Um das Risiko von Performance-Schwierigkeiten und anderen Fehlerquellen so früh wie möglich zu mindern, sollten Testläufe bereits zu Beginn des Entwicklungszyklus durchgeführt werden. Im Rahmen eines solchen Shift-Left-Ansatzes vermeidet das Development-Team, dass Fehler das Endprodukt erreichen und womöglich erst nach Release gefunden und gepatcht werden können – was im Nachhinein mehr Zeit und Geld kostet.
Während Entwickler schneller qualitativ hochwertige, inkrementelle Änderungen vornehmen, können Business Analysts oder Product Owner ebenfalls Änderungen, Konzepte oder Vorschläge mit ihren Entwicklungsteams teilen. Diese Form der Kommunikation fördert sowohl kürzere Feedback- als auch schnellere Reaktionszeiten hinsichtlich sich ändernden Marktanforderungen. Gleichzeitig erlaubt sie mehr Flexibilität innerhalb des Entwicklungsprozesses, was dem Unternehmen Wettbewerbsvorteile verschafft.
Performance optimieren mithilfe von Continuous Analysis
Für die weitere Vertiefung von Value-Streams sollten Unternehmen auf verschiedene DevOps-Praktiken zurückgreifen. Eine davon ist die Verbesserung der allgemeinen Performance durch Continuous Analysis – dies umfasst sowohl die Implementierung eines zentralisierten (Daten-) Speichers als auch die Umsetzung einer einheitlichen Datenerfassung, bei der die Qualität im Mittelpunkt steht. Diese Vorgehensweise fördert zum einen die Verbindung zwischen Entwicklerteams, Continuous Integration (CI) Build und End-to-End-Performance-Tests. Gleichzeitig stellt sie sicher, dass sich eine „Quality-first“-Denkweise etabliert und Ergebnisse auf einem höheren Wertschöpfungsniveau erzielt werden. Datenvisualisierung erlaubt es den verantwortlichen Teams, in Echtzeit auf Ergebnisse der Code-/Build-Tests zuzugreifen und Entscheidungen auf Grundlage höchst aktueller Insights zu treffen.
Das große Ganze
Bei der Implementierung von DevOps gilt: Der Weg ist das Ziel. Eine neue Unternehmenskultur stellt dabei die Grundvoraussetzung für umfassende und effiziente DevOps-Prozesse dar. Dafür gilt es für Unternehmen zu erkennen, dass DevOps-bedingte Optimierungen im gesamten Technology-Value-Stream möglich sind, Sicherheit von Entwicklungsprozessbeginn an berücksichtigt sowie Produktivität neu definiert werden müssen und KPIs auf bestehende Barrieren hinweisen können. Dadurch lässt sich durch DevOps eine solide Grundlage für eine schnelle und sichere Entwicklung hochwertiger Anwendungen schaffen, die den Nutzererwartungen entsprechen – auch in hybriden IT-Umgebungen.
www.microfocus.com