Toolchain in DevOps

Gibt es „die Toolchain für DevOps“?

Einführung

DevOps (aus Development, Entwicklung und IT-Operations, IT-Betrieb) ist eine Philosophie, welche die Zusammenarbeit und Kommunikation der Bereiche Entwicklung und Betrieb fördern soll. Die Umsetzung des DevOps-Ansatzes wird häufig empfohlen, wenn Continuous Delivery eingeführt werden soll.

Toolchain (Werkzeugkette) bezeichnet eine Reihe von Programmen die – meist in der Softwareentwicklung – genutzt werden, um ein Produkt zu entwickeln und auszuliefern.

Die beiden Begriffe DevOps und Toolchain werden mittlerweile häufig in einem Atemzug genannt. Wie genau hängen sie zusammen? Gibt es „die Toolchain für DevOps“? Worauf sollte man bei der Tool-Auswahl achten?

 

DevOps

Um eine reibungslose Zusammenarbeit zwischen Development und Operations zu erreichen, definiert John Willis, ein Veteran der DevOps-Bewegung, fünf Grundprinzipien der Management-Strategie:

  • Culture: Schaffen von gegenseitigem Vertrauen; stetiger Informationsfluss; Lernbereitschaft
  • Automation: Automatisierung bestimmter Arbeitsvorgänge, um die Anwendungsentwicklung zu beschleunigen
  • Lean: Vermeiden von Verschwendung; Wertgenerierung; Transparenz; ganzheitliche Prozessoptimierung
  • Measurement: Festlegung einheitlicher Bewertungskriterien (auch über die Applikation und deren Komponenten hinaus)
  • Sharing: Bereitschaft der Mitarbeiterinnen und Mitarbeiter, ihr Wissen zu teilen, voneinander zu lernen und Erkenntnisse proaktiv mitzuteilen.

Aus diesen Prinzipien geht deutlich hervor, dass für die erfolgreiche Umsetzung von DevOps zwei Komponenten besonders essentiell sind: einerseits die Haltung und Einstellung aller involvierten Personen und andererseits die Automatisierung von Arbeitsvorgängen.

 

Toolchain

Der Begriff „Toolchain“ bedeutet wörtlich Werkzeugkette. Dies impliziert, dass die einzelnen Tools wie die Glieder einer Kette aneinandergereiht sind und nacheinander zum Einsatz kommen. Mit den richtigen Tools können Prozesse sowohl gestartet als auch abgeschlossen werden.

Entscheidet sich ein Unternehmen für Automatisierung, soll manuelle Routinearbeit eliminiert werden. Teams profitieren dadurch von reproduzierbaren Prozessen und erstellen zuverlässige Systeme.

Bevor jedoch Prozesse automatisiert werden, ist ein Blick auf die aktuelle Toollandschaft ratsam. Häufig haben Unternehmen keine einheitlichen Systeme im Einsatz. Sowohl in der Entwicklungsabteilung als auch im Bereich IT Betrieb wird eine Reihe von jeweils unterschiedlichen Tools in eigenen Umgebungen verwendet.

Im Rahmen des Aufbaus einer Toolchain ist es daher essentiell, die Toollandschaft zu analysieren und zu harmonisieren. Dabei ist es wichtig, die unterschiedlichen Anforderungen der Teams an das jeweilige Tool zu kennen. In den meisten Fällen erfordert die Einführung von DevOps die Integration neuer Tools.

Toolchain für DevOps

Die Entscheidung, welche Tools auch in Zukunft verwendet werden sollen bzw. welche abgelöst werden sollen, hängt von mehreren Aspekten ab:

  • Gute Kommunikation und Zusammenarbeit sind grundlegend für den Erfolg von DevOps-Teams, daher ist bei der Auswahl der Tools darauf zu achten, dass diese beiden Faktoren gefördert werden.
  • Neben der Erfüllung der Kommunikationsanforderungen ist sicher zu stellen, dass die Werkzeuge über Planungsfunktionen, Analyse-Tools und Funktionen zur Testautomation sowie zur Bereitstellung von Testdaten verfügen.
  • Kommunikation ist nicht nur im Hinblick auf Tools, sondern vor allem zwischen den Beteiligten wichtig. Die Unternehmenskultur – das Miteinander, die Haltung der einzelnen Personen – trägt maßgeblich zum Erfolg von DevOps bei. Daher sind alle Beteiligten in den Entscheidungsprozess einzubeziehen.
  • Um die Tools gemäß der vorgesehenen Verwendung nutzen zu können, müssen die Mitarbeiterinnen und Mitarbeiter entsprechend rechtzeitig in der Bedienung der Tools geschult werden.

DevOps lifecycle stages

(Quelle: http://www.pontine.ch/devops/devops-toolchain-review)

Neben der Frage, welche Programme im Unternehmen genutzt werden sollen, muss außerdem geklärt werden, welche der Tools nur in einem Bereich zum Einsatz kommen werden und welche sowohl von Dev als auch von Ops verwendet werden sollen. Sebastian Müller, Softwareentwickler, schlägt in seinem Fachartikel für die sigs-datacom.de vor, folgende Tools für beide Bereiche vorzusehen:

  • Monitoring
  • Tool zum Zugriff auf Logfiles
  • Tool für Datenbankauswertungen
  • Automatische Ausführung von DDL-Scripten (Data Definition Language)
  • Tool zum Lesen und (wenn als sinnvoll erachtet) Schreiben von Firewall-/Routing-Regeln
  • Web-Analytics
  • SEO-Tools (search engine optimization)
  • Tools zum automatischen Initiieren von Applikationen

Fazit

Um DevOps erfolgreich einzuführen, erleichtern die richtigen Tools die Erreichung der Unternehmensziele. „Richtig“ können Tools allerdings immer nur für das jeweilige Unternehmen oder Vorhaben und Projekt sein. Es gibt sie nicht, „die Tool-Chain für DevOps“.

Die Unternehmenskultur ist im Rahmen der Einführung von DevOps ein essentieller Faktor. Software-Tools allein sind nicht in der Lage, für die erforderliche Agilität, Kommunikation und Zusammenarbeit zu sorgen.

Mindestens genauso wichtig wie die Tools ist es daher, die Mitarbeiterinnen und Mitarbeiter in möglichst viele Entscheidungsprozesse – auch und besonders in die Auswahl der unterstützenden Tools, denn die sorgen am Ende für die tägliche Zufriedenheit.

 

Quellen:

https://t3n.de/news/was-bedeutet-eigentlich-devops-723440/

https://de.atlassian.com/devops

https://www.sigs-datacom.de/uploads/tx_dmjournals/mueller_OS_DevOps_14_japT.pdf

http://www.pontine.ch/devops/devops-toolchain-review/

Newsletter

Um neue Beiträge per E-Mail zu erhalten, hier die E-Mail-Adresse eingeben.

Unsere Autoren

Informieren Sie sich über unsere Autoren und erfahren Sie mehr über unsere Spezialisten und ihre Fachbereiche:

Zu den Autoren

Sie haben eine Frage?

Zurück

Zum Seitenanfang navigieren