Mit DevOps die Produktivität und Qualität von Software-Releases erhöhen

Das DevOps-Konzept erfordert eine weitflächige Automatisierung, um die Prozesse der Softwareentwicklung zu verbessern, sagt Gastautorin und DevOps-Expertin Nisha Lehmann von Merkle.

Um eine bessere Unternehmensvernetzung und höhere Feedbackgeschwindigkeit zu gewährleisten, verbindet DevOps zwei große, normalerweise isolierte Teams miteinander: Development (Entwicklung) und Operations (Betrieb). SCRUM und vergleichbare agile Ansätze bewegen kleinere Teams zur Zusammenarbeit, um schnell auf neue Kundenbedürfnisse reagieren zu können. Da sich DevOps und Agile ergänzen, gilt es für das beste Ergebnis, beide Verfahren im Unternehmen miteinander zu kombinieren.

Zu der erhöhten Wirksamkeit von DevOps gegenüber traditionellen Ops gibt es mittlerweile umfangreiche Studien. Demnach bedeuten Standard-Ops einen durchschnittlich 41 Prozent höheren Zeitaufwand als DevOps, unter anderem weil 21 Prozent mehr Zeit mit Bugfixing und Optimierung verbracht wird. DevOps-Teams bearbeiten Supportfälle zudem rund 60 Prozent schneller und haben so ein Drittel mehr Zeit für die Verbesserung der Infrastruktur.

Die Studienergebnisse entsprechen frühen Erfahrungsberichten aus den Unternehmen: Über 50 Prozent der DevOps-Adopter beobachten verbesserte Kooperation und fast jeder Vierte höhere Code-Qualität. Das Resultat: erhöhte Effizienz und verringerte Kosten. Ein kleines DevOps-Team kann mithilfe der Automatisierung von Konfiguration, Bereitstellung, Tests, Überwachung und Warnmeldungen dieselben Anwendungen warten, für die es zuvor ein weitaus größeres Team gebraucht hat. DevOps bieten also in drei entscheidenden Wettbewerbskategorien große Vorteile: Schnelligkeit, Qualität und Zufriedenheit.

So gelingt die Einführung

Das technische Fundament für DevOps ist eine offene und zugängliche Infrastruktur, die Informationsaustausch und Skalierbarkeit unterstützt. Die Cloud ist demnach mit ihren flexiblen Infrastrukturkomponenten für eine umstandsfreie DevOps-Implementierung wie geschaffen. Auch im Hinblick auf Effizienz bietet diese Bereitstellungform viele Vorteile, da sie Kapazitäten nach Bedarf verfügbar macht und weitere wichtige Unterkonzepte von DevOps wie Automatisierung und Agilität fördert. Eine Vielzahl von verfügbaren Cloud-Tools auf dem Markt verringert dabei das nötige Vorwissen für den Umstieg.

Um den optimalen DevOps-Partner für den Umstieg zu finden, sind neben offiziellen Referenzen, wie sie zum Beispiel AWS oder Azure anbieten, auch Soft Skills von entscheidender Bedeutung. Der DevOps-Partner sollte nämlich nicht nur technische Qualifikationen besitzen, sondern er muss auch in der Lage sein, die aktuelle Wettbewerbsumgebung, die Einschränkungen und die Branchennormen zu verstehen. Kurzum: Der passende Partner braucht eine umfassende Kenntnis der Unternehmensziele. Zum Glück gibt es jedoch viele DevOps-Integratoren auf dem Markt. Es empfiehlt sich eine gründliche Suche, die Vor- und Nachteile potenzieller Partner vergleicht.

Ein weiterer wichtiger Faktor in der Umsetzung sind regelmäßige und konsequent durchgeführte Schulungen, damit Entwickler und Engineers die nötigen DevOps-Fähigkeiten vor allem in den Bereichen agile Methoden und technisches Know-how ausbilden können. Erstere umfassen etwa die Grundlagen des Berichtswesens mit Agile Boards, SCRUM oder das Planen mit Agile User Stories. Auf technischer Ebene bieten sich diverse Trainings zum Umgang mit den Marktführern AWS, Azure und Co. an.

DevOps-Kultur ist mehr als nur ein Buzzword

Neben der technischen Grundlage und notwendigem Know-how braucht es auch eine eigenständige DevOps-Kultur, um Effizienz und Zufriedenheit im Unternehmen sicher zu stellen. Diese sollte insbesondere disziplinübergreifend und offen sein. Denn Entwicklung und Betrieb teilen sich künftig Fehlschläge und Erfolge bei allen Projekten. Doch nicht nur deshalb ist eine enge Kommunikation und Vernetzung der verschiedenen Teams entscheidend: Viele werden neuen Technologien und Prozessen anfangs kritisch gegenüberstehen. Erfahrungsberichte zeigen, dass es dabei vielerorts vor allem auf Führungsebene an Akzeptanz mangelt. Aber auch im Projektmanagement halten manche noch an traditionellen Development-Methoden fest. Um also sicherzustellen, dass DevOps sowohl auf der Führungsebene akzeptiert wird als auch Informationen auf der Ebene der Entwickler und Projektmanager ausgetauscht werden, sollte sich Unternehmen nach den empfohlenen Best Practices richten. DevOps kann dabei ganz nach individueller Bereitschaft des Unternehmens Top-down wie Bottom-up eingeführt werden.

DevSecOps wurde als Erweiterung von DevOps entwickelt, um auch den Sicherheitsaspekt noch stärker zu berücksichtigen. Anstatt Sicherheit erst nachträglich einzubauen, setzt sich DevSecOps zum Ziel, die Verwaltung der Sicherheit vor und während des gesamten Entwicklungszyklus einzubeziehen. Auf diese Weise lassen sich bewährte Sicherheitspraktiken und Sicherheitsakteure eher früher als später integrieren und künftige Cybersecurity-Bedrohungen minimieren. Auf lange Sicht wird DevSecOps die jetzige Ausprägung angesichts der ernsten Bedrohungslage in der Softwarebranche fast vollständig ersetzen.

Die zukünftige Entwicklung von DevOps

Mit Blick auf die Zukunft werden auch verwandte Technologieaspekte wie künstliche Intelligenz und Cloud zunehmend integriert. So geben mittlerweile 30 Prozent der IT-Organisationen an, auf KI zu setzen – die sogenannten AIOps für effizientere und automatisierte DevOps sind der naheliegende Entwicklungsschritt. Nicht zuletzt gewinnen auch Cloud-Technologien wie serverlose Architekturen, Microservices und Edge Computing weiter an Bedeutung. Cloud wird Dev(Sec)Ops daher künftig noch stärker unterstützen und Flexibilität, Skalierbarkeit, Verfügbarkeit und Kostenoptimierung erhöhen.

Nisha Lehmann, Customer Success Manager bei Merkle (Bild: Merkle)