DevOps – Kontinuierliche Entwicklung als Methode

Wir SOPHISTen versuchen immer am Puls der Zeit zu bleiben. Die Industrie 4.0 entwickelt sich immer weiter und neue Themen rücken in den Vordergrund. DevOps ist zwar keine Erfindung des letzten Jahrzehnts, jedoch gewinnt der Begriff dadurch, dass IT-Systeme nach der Entwicklung noch Betreuung (in Form von Support, Bugfixing, Erweiterung und/oder Weiterentwicklung) benötigen, immer mehr an Relevanz. Dieser Blogbeitrag ist der erste einer Blogserie über das Thema DevOps und soll dazu dienen Ihnen einen ersten groben Überblick über die Materie zu geben.

Bei DevOps handelt es sich nicht – wie der Name vielleicht suggeriert – um eine militärische Operation, sondern vielmehr um ein Konzept, das ein Umdenken der Mitarbeiter im Bezug auf die Unternehmenskultur fordert. Hierbei werden verschiedene Verfahren angewendet, um Abläufe, bei denen die Softwareentwicklung und die operativen IT-Teams gleichzeitig beteiligt sind zu optimieren. (Wolf E., 2014)

Wie alles anfing… 

Der Begriff DevOps hat seinen Ursprung zwischen 2007 und 2008. Damals herrschte Unmut bei vielen Mitarbeitern in der IT-Industrie über fehlende Synergien und mangelnde Zusammenarbeit zwischen der Entwicklung und den Abteilungen, die sich mit dem Release des Systems und dem Support beschäftigen – dem sogenannten Betrieb.

Der Begriff DevOps bildet sich aus den beiden englischen Worten: „Development“ & “Operations“, welche für zwei wichtige Aufgabenfelder in der IT stehen. Hierbei steht die Automatisierung von Abläufen in beiden Bereichen im Vordergrund. Auf der Seite der Entwicklung, werden verschiedene Monitoring-Softwares genutzt, mit denen sich alle Änderung auf der Programm- und Konfigurationsseite nachvollziehen lassen. Somit können Fehler, die aus Änderungen an einem „im Betrieb befindlichen“ System entstehen, schnell identifiziert, nachvollzogen und direkt behoben werden. Des Weiteren benötigt die operative Seite – der Betrieb – Applikationen, mit denen der erzeugte Code kontinuierlich auf korrekte Syntax und unterschiedliche Metriken getestet wird.  Somit treten Fehler unmittelbar nach deren Erzeugung zu Tage und werden nicht erst bei den gängigen Tests nach der Entwicklung oder ggf. auch erst noch später entdeckt. Das verkürzt die Zeit, die bis zur Markteinführung benötigt wird – oft auch als „Time to Market“ bezeichnet – um ein Vielfaches und spart dabei Kosten, da es mehr Zeit kostet Fehler im Nachhinein auszubessern als sie noch vor Auslieferung der Software direkt zu beheben. (CollabNet, 2018)

„Dev“ und „Ops“ – wie „Ying“ und Yang“

Die Bereiche Entwicklung, Entwicklungsumgebung, Deployment und Monitoring stärker zu verzahnen und enger zusammenarbeiten zu lassen, führt dazu, dass Software schneller entwickelt, getestet und veröffentlicht werden kann. Zwischen den Teams gibt es oft Abstimmungsschwierigkeiten und Missverständnisse. Durch die gestärkte Zusammenarbeit können diese Missverständnisse vermieden, Entscheidungs- sowie Kommunikationswege verkürzt, Abstimmungsaufwand reduziert und die Kommunikation vereinfacht werden. Erfolgreich ist DevOps aber nur, wenn die Verzahnung korrekt umgesetzt wird und sich das gesamte Unternehmen auf die neue Arbeitsweise einstellt. Für eine erfolgreiche Implementierung von DevOps benötigt man aber nicht nur Tools, sondern vor allem eine Änderung des Mindsets der Mitarbeiter. Die Tätigkeit eines Entwicklers beschränkt sich nicht nur auf das Erzeugen des Codes. Er muss eng mit allen Abteilungen, die sich mit dem System beschäftigen zusammenarbeiten. Falls ein Fehler im Code gefunden wird, muss dieser direkt an den Entwickler kommuniziert werden, damit dieser diesen zeitnah beheben kann. (Vangie Beal, 2019)

Der Begriff DevOps lässt sich nicht einfach fassen, weshalb es der Forschung und Fachliteratur schwer fällt, eine einheitliche Definition zu formulieren. Verallgemeinert lässt sich jedoch sagen, dass DevOps Grenzen innerhalb des Unternehmens sprengt und alle am System beteiligten Parteien, von der Entwicklung bis zum Betrieb, näher zusammen bringt.

Auch für uns als REler hat DevOps eine hohe Relevanz. Da wir die Brücke zwischen Entwicklern und Stakeholdern darstellen, können für uns sowohl die Monitoring-Systeme als auch die engere Zusammenarbeit zwischen den Abteilungen interessant sein. Die daraus entstehenden Informationen können wir beispielsweise nutzen, um neue Anforderungen herzuleiten, fehlerhafte Anforderungen zu korrigieren oder auch zur Priorisierung unserer Anforderungen nutzen. Dazu aber mehr im nächsten Artikel.

Wir hoffen Ihnen den Begriff DevOps und dessen Hintergründe näher gebracht zu haben. Falls Sie sich noch weiter und tiefer mit dem Thema DevOps beschäftigen möchten, können Sie sich bereits auf den zweiten Teil unserer Blogserie freuen, in dem wir Ihnen vorstellen in welchen Szenarien DevOps sinnvoll sind und mit welchen Tools gearbeitet werden kann. Doch dazu erfahren Sie im nächsten Teil dieser Blogserie mehr.

Bis dahin wünschen wir Ihnen eine schöne Zeit,

Ihre SOPHISTen

Quellen:

Colabnet Versionone (2018) – What is DevOps? The ultimate Guide to DevOps [CollabNet]
https://resources.collab.net/devops-101/what-is-devops

Webopedia (2019): DevOps – development and operations, [Vangie Beal]
https://www.webopedia.com/TERM/D/devops_development_operations.html

Wolf E. (2014): Continous Delivery,2. Auflage Heidelberg
Verlag dpunkt.verlag GmbH

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert