Application Performance Management (APM) als Basis

DevOps für agiles Deployment und schnelles Bugfixing

15.08.2016
Von 


Karsten Flott ist seit 15 Jahren als Sales Engineer in der B2B-IT-Branche tätig. In seiner Laufbahn bei den Software-Unternehmen Compuware und AppDynamics, hat er sich intensiv mit Soft- und Hardware-Lösungen beschäftigt, die DevOps-, Analytics- und Application-Performance-Management-Prozesse verbessern. Sein Expertenwissen fand bereits in zahlreichen deutschen IT-Fachmedien Gehör.
Mit einem DevOps-Ansatz können Unternehmen ihre Prozesse für agiles Deployment und schnelles Bugfixing optimieren. Doch dafür braucht es einen genauen Überblick über den aktuellen Zustand einer Applikationslandschaft. Dabei hilft ein Application Performance Management (APM).

Zunehmend komplexere IT-Umgebungen sind wartungsintensiver und auch anfälliger für Ausfälle. Neue Anforderungen von Kunden und Mitarbeitern erfordern eine hohe Flexibilität von IT-Abteilungen, um IT-Services schnell und performant zur Verfügung zu stellen. Moderne Teamstrukturen und professionelle Tools helfen dabei, Downtimes zu minimieren. Mit einem DevOps-Ansatz etablieren Unternehmen optimierte Prozesse für agiles Deployment und schnelles Bugfixing. Grundlage für eine erfolgreiche Zusammenarbeit von Entwicklung und Betrieb ist ein teamübergreifender Echtzeit-Überblick über den Zustand der gesamten Applikationslandschaft. Dies gelingt mit einem modernen Application Performance Management (APM).

Ausfälle kosten Unternehmen heute durchschnittlich 75.000 Euro pro Stunde. Dementsprechend hoch ist das Interesse in allen Branchen, Ausfallzeiten und Pannen auf ein Minimum zu reduzieren. Bis ein Problem behoben ist, vergeht aber häufig zu viel Zeit: In einer Studie von IDC und AppDynamics gaben 35 Prozent der befragten Unternehmen an, dass sie bis zu 12 Stunden, teilweise auch mehrere Tage benötigen, bis eine fehlerhafte Applikation wieder funktioniert. Häufig geht die meiste Zeit dafür verloren, die Ursache einzugrenzen und zu identifizieren. Mit den richtigen Tools und Prozessen lässt sich der zeitliche Aufwand deutlich verkürzen und die Behebung des Fehlers damit wesentlich beschleunigen.

DevOps spart Zeit

Prozesse und Arbeitsabläufe innerhalb der IT-Abteilung sind für die Performance der Applikationen mindestens genauso wichtig wie das Hardware- und Infrastruktur-Setting. In vielen Unternehmen arbeiten Entwicklung und IT-Betrieb aber immer noch getrennt voneinander. Bei einem akuten Problem kostet das wertvolle Zeit. In der Regel ist das Operations-Team dafür verantwortlich, einen Ausfall zu beheben. Mit verschiedenen Monitoring- und Management-Tools werden einzelne, isolierte Teile der Infrastruktur wie CPU, Hauptspeicher oder Netzwerk durchleuchtet. Manchmal reicht dies aus, um die Ursache zu identifizieren und zu beheben. Häufig müssen jedoch Entwickler hinzugezogen werden, die das Problem dann mit ihren Diagnose-Tools angehen.

Die Folge ist eine unübersichtliche Anzahl nicht integrierter Informationsquellen. Das gilt insbesondere für große IT-Abteilungen, in denen die Mitarbeiter an unterschiedlichen Standorten sitzen und sich teilweise gar nicht kennen. Dann vergeht sehr viel Zeit, bis ein Problem analysiert und behoben ist.

Durch eine DevOps-Kultur, die Anwendungsentwicklung und IT-Betrieb enger miteinander verzahnt, vermeiden Unternehmen derartige Szenarien. Der Ansatz nimmt beide Bereiche gleichermaßen in die Verantwortung für eine performante Applikationsumgebung. Im gängigen Setting ist das Development-Team für die Entwicklung von neuem Code zuständig, den der Betrieb dann im laufenden System ausrollt. Bei einem DevOps-Ansatz sind beide Einheiten von Anfang an in alle Prozesse und Aufgaben involviert und damit an der Lösung beteiligt.

Das setzt jedoch eine "Single Source of Truth" voraus - eine einheitliche Sicht auf sämtliche Anwendungen, Prozesse und Komponenten für alle Beteiligten. Ein professionelles Monitoring-Tool, wie zum Beispiel eine Application-Performance-Monitoring-Lösung, kann genau dies leisten und einen 360° Überblick für alle Beteiligten ermöglichen. IT-Abteilungen können sich damit besser miteinander abstimmen.

Neue Applikationen und Features ohne Ausfall

Ein DevOps-Ansatz kann sowohl Ausfallzeiten minimieren als auch die gesamte Applikations-Landschaft optimieren. Updates, Bugfixes und neue Features werden schnell und reibungslos in das Produktivsystem eingespielt. Indem Entwicklungsumgebung und produktive Systemumgebung nicht mehr strikt getrennt sind, entstehen bei Updates, Fehlerkorrekturen oder neuen Features weniger Probleme, beziehungsweise können diese direkt im gemeinsamen Arbeitsprozess erkannt und vermieden werden. Die Fehlerwahrscheinlichkeit bei neuen Releases und die mittlere Reparaturzeit bei Ausfällen werden dadurch signifikant reduziert. Zeitaufwendige nachträgliche Anpassungen der neuen Konfigurationen lassen sich so vermeiden. Neue Funktionen können schnell in der Produktivumgebung ausgerollt werden.

DevOps, automatisierte und optimierte Prozesse

Kommunikation und Kooperation innerhalb der DevOps-Teams werden durch die Automatisierung von Prozessen wie Code-Testings für die beiden unterschiedlichen Umgebungen maßgeblich unterstützt. Neben erheblicher Zeitersparnis lässt sich so vor allem sicherstellen, dass beide Umgebungen mit derselben Konfiguration arbeiten. Ein weiterer positiver Effekt ist, dass die Entwickler Code in kleineren Einheiten schreiben und diesen schneller in der Entwicklungsumgebung einsetzen können. Neue Features, Änderungen und Bugfixes greifen dadurch schneller.

Umdenken in der IT

Abgesehen von den technischen Aspekten ist zur erfolgreichen Einführung von DevOps-Strukturen ein Mentalitätswechsel in der IT nötig. Neben optimierten Arbeitsabläufen und Kommunikationsprozessen innerhalb der Abteilungen ist die Auswahl geeigneter Mitarbeiter entscheidend. Die Größe und richtige Teamzusammenstellung ist ebenso wichtig wie die sinnvolle Integration externer Entwicklungspartner. Zuletzt müssen noch klare Kompetenzen und Aufgaben zugeteilt werden, zum Beispiel was spontane Systemausfälle und Netzwerkprobleme betrifft. Ist das der Fall, können Unternehmen mithilfe von Application Performance Monitoring ein agiles Deployment und schnelles Bugfixing sicherstellen.