Die häufigsten Fehler

Was bei der Umsetzung von DevOps alles schiefgehen kann

Uhr

Der DevOps-Ansatz verspricht eine effizientere und reibungslosere Zusammenarbeit von Softwareentwicklung und IT-Betrieb. Passieren aber Fehler bei der Umsetzung, gerät die Effizienz schnell wieder ins Hintertreffen. Diese häufigen Defizite gilt es zu vermeiden.

(Source: Sergey Nivens / Fotolia.com)
(Source: Sergey Nivens / Fotolia.com)

DevOps ist derzeit ein Buzzword im IT-Management. Im Grunde bezeichnet DevOps die Zusammenarbeit von Softwareentwicklung (Development) und IT-Betrieb (Operations). Diese beiden Bereiche arbeiteten bislang meistens getrennt voneinander, zumal sie völlig unterschiedliche Ziele verfolgten. Indem nun aber die beiden Bereiche gemeinsame Prozesse und Tools nutzen, lassen sich die Anforderungen an den Betrieb einer Software bereits bei ihrer Entwicklung berücksichtigen. Dadurch steht sie schneller für den produktiven Einsatz bereit und ihre Qualität steigt. Mehr über die Grundlagen und Vorteile von DevOps lesen Sie hier.

In der Praxis wird der DevOps-Ansatz aber oft nicht konsequent umgesetzt, schreibt der deutsche IT-Dienstleister Avision. Das Unternehmen nennt vier häufige Defizite, die es zu vermeiden gilt:

  • Keine Testautomatisierung Um neue Software-Releases trotz hoher Geschwindigkeit ohne Qualitätseinbussen ausliefern zu können, sind automatisierte Tests unerlässlich. In der Realität finden diese allerdings oft gar nicht oder nur in geringem Umfang statt. Das hat erhebliche Verzögerungen zur Folge. Im Extremfall werden sogar überhaupt keine Tests durchgeführt, was sich dann im Produktiveinsatz der Software bitter rächen kann. Deshalb sollten unbedingt Tools für automatisierte Tests zum Einsatz kommen. Solche Werkzeuge stehen nicht nur für moderne, sondern auch für ältere Programmiersprachen zur Verfügung. Dadurch lässt sich DevOps auch für Bestandsanwendungen einsetzen.

  • Kein Monitoring Ein ebenso verbreitetes Defizit ist die fehlende Überwachung der Auswirkungen von fachlichen Änderungen einer Software im Produktiveinsatz. Es ist kein Blick in die Produktivsysteme vorhanden. Dadurch kann es nach den Installationen zu Problemen kommen und es ist auch kein Soll-Ist-Vergleich möglich. Ziel muss es aber sein, zu messen, ob Veränderungen zu Verbesserungen oder Verschlechterungen im produktiven Umfeld führen. Ausgewählten Nutzergruppen, seien es interne Anwender oder Kunden, sollte deshalb ein telematischer Zugang zu Bereichen der Software freigeschaltet werden, um sie vorab nutzen zu können und Feedback zu geben.

  • Keine Eigenverantwortung Niemand weiss besser, wie sich neue Codezeilen auswirken werden, als die Entwickler, die sie geschrieben haben. Deshalb sollten sie in Eigenverantwortung über Rollouts entscheiden können. Entdecken sie beispielsweise nachts einen Fehler, sollten sie ihn sofort beheben und den Fix direkt einspielen dürfen – ohne dafür eine Freigabe von jemandem aus der Management-Ebene zu benötigen, der gar nicht über den Sachverhalt Bescheid weiss oder gerade nicht verfügbar ist. Das heisst auch, eventuelle Fehler auszuhalten. Kommt es zu Fehlern, und sie werden dem Entwickler zum Vorwurf gemacht, wird sein Wille zu eigenverantwortlichem Handeln immer geringer und er wird sich stets rückversichern wollen. Dadurch zieht sich der gesamte Prozess in die Länge.

  • Kein unternehmensweites Lernen Ein wesentlicher Erfolgsfaktor von DevOps ist das Teilen von Wissen. Das findet aber oft nicht statt. So werden etwa durchgeführte Anpassungen an eine Software nicht dokumentiert, sondern lediglich besprochen. Im Extremfall behält sogar jeder sein Wissen komplett für sich. Sind vorhandene Erkenntnisse nicht zentral verfügbar, führt das aber zu Mehrarbeiten und Fehlern. Eine wertvolle Hilfe für das Erfassen und Teilen von Wissen kann künstliche Intelligenz bieten – indem sie etwa Chats durchsucht. Tritt beispielsweise ein Problem mit einer Software auf, kann KI alle Inhalte, die dazu im Chat bereits vorhanden sind, finden und zusammenführen. Die Entwickler können dann bei der Ursachensuche direkt darauf aufbauen, den Fehler beheben, den angepassten Code in die Produktivsysteme einspielen und die Änderungen dokumentieren.

Mehr dazu, wie Unternehmen mit DevOps profitieren, lesen Sie in unserem Dossier.

Webcode
DPF8_162613