Effektives Engineering: Interview mit Dan Juengst, Red Hat

DevOps für IT-Betrieb und Software-Entwicklung

Interview mit Dan Juengst, Director of Product Marketing and Strategy, OpenShift, Cloud Business Unit bei Red Hat, darüber, inwiefern der DevOps-Ansatz eine intensive Zusammenarbeit zwischen dem IT-Betrieb und der Applikationsentwicklung fördert

Dan Juengst, Red Hat

Dan Juengst, Director of Product Marketing and Strategy bei Red Hat,

IT-DIRECTOR: Herr Juengst, bitte geben Sie unseren Lesern eine kurze Definition von DevOps. Welche Vorgehensweisen liegen diesem Software-Entwicklungsmodell zugrunde?
D. Juengst:
DevOps ist ein IT-Ansatz, der eine intensive Zusammenarbeit zwischen dem IT-Betrieb und der Applikationsentwicklung fördert. Das Ziel ist es, die Bereitstellung von IT-Services zu beschleunigen und die Robustheit sowie die Stabilität der Applikationen und der IT-Infrastruktur zu steigern. DevOps kann eine Kombination neuer Technologien und Änderungen der Kultur umfassen, um die Zusammenarbeit, das Experimentieren und eine schnellere Markteinführung von Applikationsservices zu ermöglichen.

IT-DIRECTOR: Inwieweit können mithilfe von DevOps gegenüber der klassischen Software-Entwicklung Zeit und Kosten gespart werden?
D. Juengst:
Durch die Optimierung der Applikationsentwicklungs- und der Deployment-Prozesse mit Hilfe von Methoden wie Continuous Integration und Continuous Delivery können Unternehmen mit einem DevOps-Ansatz neue Applikationen und Features schneller einführen und sparen damit Zeit und Geld. Darüber hinaus ermöglicht der inhaltliche Fokus von DevOps auf ein kontinuierliches Experimentieren und ein schnelles Prototyping die schnellere Umsetzung erfolgreicher Applikationen, die eine raschere Umsetzung der Unternehmensziele erlauben.

Die Motivation der meisten Kunden ist es, Geschäftsideen schneller ausrollen zu können und die Entwicklungs- und Betriebsmannschaft von lästigen Routinetätigkeiten zu entlasten. Das wird nicht nur durch die Automatisierung selbst, sondern vor allem durch die gesteigerte Prozess- und Produktqualität der laufenden Software erreicht.

IT-DIRECTOR: Für welche Anwendungstypen oder für welche Programmiersprachen eignet sich die Nutzung von DevOps besonders?
D. Juengst:
Generell betrachtet eignet sich der DevOps-Ansatz für jede Art von Applikation in allen Programmiersprachen. Zu Beginn kommt DevOps jedoch am häufigsten bei der Entwicklung neuer Anwendungen zum Einsatz, wenn es um die Erstellung von Lösungen für Einsatzgebiete wie Web, Mobile oder service-orientierter Applikationen geht. Aufgrund ihrer Funktionen für Rapid Development eignen sich moderne Scriptsprachen wie Node.js oder Ruby ideal für den DevOps-Ansatz, der mit Continuous-Delivery-Verfahren mehrmals pro Tag Code-Änderungen in den produktiven Betrieb weiterleiten kann. Wie gesagt: auch traditionelle Programmiersprachen können völlig problemlos und einfach in der DevOps-Welt eingesetzt werden. Mit Maven für ein automatisiertes Build-Management und Jenkins für die automatisierte kontinuierliche Integration können Entwickler mit einem DevOps-Ansatz vollständige Java-EE-Applikationen erstellen.

IT-DIRECTOR: Welche Tools sollte man am besten nutzen? Welche kann man eher vernachlässigen?
D. Juengst:
Die Stichworte lauten: automatisierte Build- und Staging-Pipeline, Sourcecode und Binary Repositories, Testautomatisierung, Business-Activity-Monitoring, IaaS- und PaaS-Management. DevOps ist zuvorderst ein Ansatz, den wir als eine Fortsetzung der Lean-Management/Lean-Development-Entwicklung in der IT sehen. Die Philosophie ist hier, soviel Entscheidungen wie möglich von den betroffenen Mitarbeitern und Spezialisten treffen zu lassen.

Bei DevOps geht es letztlich um einen Kulturwandel innerhalb der IT, der von einer engen Zusammenarbeit zwischen IT-Betrieb und Software-Entwicklung geprägt wird. Eine Reihe von Werkzeugen fördert die Kollaboration und ermöglicht eine ganzheitliche Sicht wie sie DevOps anstrebt, einschließlich der erforderlichen Feedbackschleifen innerhalb der Prozesse. Es gibt in der DevOps-Landschaft einige Tools-Kategorien, die eine echte Hilfe sind. Automatisiert arbeitende Build-Management-Tools wie Maven für Java oder Bundler für Ruby spielen eine wichtige Rolle für die Optimierung des Application-Deployment-Prozesses. Continuous-Integration-Tools wie Jenkins zur Automatisierung von Abläufen für Application Builds, Unit- sowie Funktionstests und selbst für das Deployment bilden Schlüsselkomponenten in dem für DevOps grundlegenden Continuous-Delivery-Lifecycle.

Red Hat bietet besonders im PaaS- und IaaS-Layer interessante Technologien und hat über die Consultingexpertise in der Schnittstelle zwischen Betrieb und Entwicklung viel Erfahrung zum Thema DevOps einzubringen.
In vielen Fällen bietet eine PaaS-Plattform wie Openshift von Red Hat die einfachste und kostengünstigste Möglichkeit für einen Einstieg in Technologien, die für den Aufbau einer DevOps-Umgebung benötigt werden. Openshift bietet dazu die unterschiedlichsten Tools auf einer automatisiert arbeitenden Softwareentwicklungsplattform.

IT-DIRECTOR: Wie verlaufen üblicherweise die Software-Tests im Rahmen eines DevOps-Konzepts?
D. Juengst:
Ein zentrales Ziel von DevOps ist die Bereitstellung von Tools, um möglichst viele Schritte im Softwarelebenszyklus zu automatisieren, damit Entwickler sich auf die eigentlichen Features einer Applikation konzentrieren können und das Experimentieren und Rapid Prototyping gefördert werden. Häufig erfolgt der Softwaretest im DevOps-Umfeld mit Continuous-Integration-Tools wie der Jenkins-Continuous-Integration-Plattform (CI). Damit lassen sich Workflows definieren, bei denen automatisch Aufgaben wie Application Builds sowie Unit- und Funktionstests usw. ausgeführt werden. Die Automation beschleunigt den Ablauf und minimiert die Möglichkeit menschlicher Fehler.

Auch die Prozesse der Provisionierung und des Konfigurationsmanagements etc. müssen durch Entwicklung und Betrieb gemeinsam gestaltet und getestet werden. Und dies reduziert Aufwände und Risiken durch Downtimes oder wenn Bugfixes schnellstmöglich ausgerollt werden müssen.

IT-DIRECTOR: Worauf sollten Großunternehmen bei der Umstellung von einer klassischen Software-Entwicklung auf DevOps vor allem achten? Wo finden Sie Mitarbeiter mit entsprechendem DevOps-Hintergrund?
D. Juengst:
Wie bereits erwähnt, geht es bei DevOps um eine Adaption der gelebten Kultur. Technologie spielt eine wichtige Rolle, entscheidend aber ist eine neue dynamische Kultur der Zusammenarbeit zwischen dem IT-Betrieb und der Softwareentwicklung. Unternehmen, die sich für den DevOps-Ansatz entscheiden, müssen sich auf die dazugehörigen Änderungen einstellen. Hierzu ist es möglicherweise notwendig, begleitende organisatorische oder politische Änderungen umzusetzen. Wer sich für DevOps interessiert, sollte dies bedenken.

Bei Großunternehmen lernen wir in der Regel sehr kompetente Mitarbeiter und Spezialisten kennen. Diese gilt es zu identifizieren und ihnen Freiräume zu bieten, in denen diese Konzepte unter Beweis gestellt werden können. Dazu sollten zeitweise externe Spezialisten hinzugezogen werden, die in den Startphasen auch in Richtung Management beraten und Erwartungshaltungen bei Pilotprojekten steuern. Noch wichtiger ist es aber intern Marketing und Wissensweitergabe zu betreiben.

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok