Digital Performance Management: Aktuelle Anforderungen durch DevOps lösen

grafik-dynatrace-deploy-150x150Unternehmen müssen digitale Services immer reibungsloser und schneller zur Verfügung stellen. Traditionelle Wasserfall-Entwicklungsprozesse sind dabei oft nicht mehr zielführend, weil sie in den meisten Fällen keine übergreifende Automatisierung von Entwicklung bis Betrieb vorsehen. Um die Anforderungen angesichts der digitalen Transformation zu erfüllen, suchen die Unternehmen nach neuen internen Abläufen. Der DevOps-Ansatz – die natürliche Evolution von agiler Entwicklung über den gesamten Entwicklungszyklus – verspricht die erforderliche Veränderung der Unternehmenskultur und reduzierte Reibungsverluste durch bessere Zusammenarbeit. Was gilt es dabei zu beachten?

Unternehmen, die passgenaue Anwendungen und digitale Dienste nicht schnell einführen und aktualisieren können, verlieren. Ihre Kunden wechseln zu einem Wettbewerber und die internen Mitarbeiter zu einfach nutzbaren Cloud Services – es entsteht eine Schatten-IT, die nur schwer zu kontrollieren ist. Gegensteuern kann man innerhalb der IT-Abteilungen durch eine Verzahnung der Entwicklungs- und Betriebsteams. Der kontinuierliche Austausch von Anforderungen, Status und Messwerten zwischen allen Teams fördert nicht nur die Zusammenarbeit auf allen Ebenen, sondern ermöglicht es auch, schneller neue Ideen zu Anwendungen und Funktionen in den Betrieb zu bringen. Aufgrund der hohen Transparenz und des Austausches von wichtigen Anwendungsmetriken wird auch sichergestellt, dass die neuen Lösungen sowohl performant als auch ausfallssicher laufen. Das ist eine wesentliche Voraussetzung, damit die Services von den Nutzern auch angenommen werden.

Herausforderungen und Nutzen

Ähnlich wie der Umstieg von Wasserfall auf »Agile« Vorteile in der Entwicklung gebracht hat, bietet der DevOps-Ansatz vor allem eine bessere Zusammenarbeit zwischen den Teams. DevOps verbindet dabei gemäß seinem Namen nicht nur Development und Operations miteinander, sondern fördert auch die Kollaboration aller Abteilungen, die Automatisierung von Prozessen sowie die Transformation der Unternehmenskultur. Eine wichtige Voraussetzung hierfür bildet die strategische Auswahl von Teams für bestimmte Aufgaben, wobei sämtliche erforderliche Abteilungen eingebunden werden müssen. Anschließend sind die ausgewählten Mitarbeiter mit dem DevOps-Ansatz vertraut zu machen und die passenden Collaboration-Tools auszuwählen.

Der wichtigste Punkt zu Beginn ist es, eine neue Unternehmenskultur zu schaffen, die es erlaubt, bestehende und über die Jahre etablierte Silos niederzubrechen und vermehrt Vertrauen, Verantwortung und Transparenz in die einzelnen Teams zu geben. Messwerte, die innerhalb der gesamten Organisation öffentlich gemacht werden, helfen immens dabei, da zu jedem Zeitpunkt sichtbar ist, wie es um die aktuellen Entwicklungsprojekte steht, wo es Probleme gibt, wo es im Betriebt hakt und ob End User zufrieden mit den neuesten Features sind.

Dazu benötigt das Unternehmen ein Kernverständnis der Nutzer-Interaktionen, Transaktionen und der allgemeinen digitalen Performance. Umfassende Application Performance Management (APM)-Tools geben die Möglichkeit, synthetisch und nativ eine hohe Performance zu gewährleisten und gleichzeitig aktiv Probleme aufzudecken, um den Anwendern eine reibungslose Nutzung zu garantieren. Eine umfassende und dennoch konsistente Suite an Tools kann Unternehmen vollständiges User Monitoring bieten. Damit kann es auf Qualitätsmetriken fokussieren und Performance-Probleme so früh wie möglich im Anwendungslebenszyklus identifizieren. Ziel ist es, nicht auf den Anruf des frustrierten Benutzers zu warten, sondern die meisten Probleme bereits in der Continuous Integration durch automatisierte Tests und Quality Gates zu finden.

grafik-dynatrace-devops-organizations

Quelle: Dynatrace

Einführung von DevOps

Unternehmen und Mitarbeiter sollten nicht nur über die entsprechenden internen Tools und Prozesse verfügen, sondern auch offen für Veränderungen bleiben. So muss der Ansatz unbedingt vom Management unterstützt werden. DevOps darf nicht als weitere Abteilung angesehen werden, sondern hat das Ziel einer engeren Zusammenarbeit im gesamten Unternehmen. Genau diese soll zu einer schnelleren Bereitstellung von hochqualitativen Lösungen führen.

Um den Ansatz im Unternehmen einzuführen, gibt es keine Standard-Anleitung. Hier muss jede Organisation ihren eigenen Weg finden. Meist empfiehlt sich der Start anhand eines konkreten Geschäftsziels, zum Beispiel die Zeit für die Software-Entwicklung zu reduzieren. Anschließend definieren sie den gesamten Prozess, der hierfür notwendig ist. Dies erfordert natürlich einen gewissen Aufwand, doch die Transformation in eine DevOps-orientierte Organisation lohnt sich, um im Wettbewerb zu bestehen. Unzählige Praxisbeispiele dafür finden sich bei Fachkonferenzen oder in Blog Postings von Entwicklungsteams jener Betriebe, die diese Transformation durchgegangen sind. Das öffentliche Teilen dieser Erfolgsgeschichten ist übrigens ebenfalls ein kultureller Aspekt von DevOps.

Weiterentwicklung von DevOps

In den Ansatz sollten aber nicht nur Entwicklung und Betrieb integriert werden, sondern auch Performance-Teams. Deren Fokus ändert sich derzeit hin zu kontinuierlichen und kürzeren Performance-Tests in Continuous Integration, Operations Monitoring und Performance Engineering in der Produktion sowie als Link zur Bereitstellung von Metrik-basiertem Feedback zu Business und Entwicklung. Die Erweiterung des Begriffs zu DevPOps symbolisiert, dass das Performance-Team das verbindende Element zwischen Entwicklung und Betrieb darstellt. Es gewährleistet, dass die Software in der Produktion so leistungsfähig wie gewünscht ist.

Natürlich enthält auch DevPOps die schnellen Feedbackschleifen von DevOps. Diese müssen nicht nur vom Production Monitoring zum Testing zurückführen, sondern bis zurück zur Entwicklung. Nur damit lässt sich feststellen, wie sich die Software tatsächlich unter den realen Lastbedingungen verhält. Zudem ermöglicht dies, schneller korrigierende Änderungen durchzuführen – sowohl in der Entwicklung als auch in den Testszenarien. Daher umfasst die Rolle des DevPOps-Teams eine Anzahl neuer Verantwortlichkeiten zusätzlich zu den herkömmlichen Lasttests. Dazu gehören:

  • Automatisiertes Continuous Performance Engineering in CI
  • Definition von Monitoring-Metriken und -Dashboards
  • Last- und Performance-Tests zur Prüfung von Stabilität, Skalierbarkeit und Monitoring
  • Überwachung der Produktion, Vergleich mit Tests, Berichte an Stakeholder
  • Kontinuierliche Optimierung der Deployment-Konfiguration

Schnelleres Anwendungs-Update und Start-up-Denke

Kunden erwarten heute praktisch sofortige Updates und Installationen im Rahmen der Always-On-Vernetzung im 21. Jahrhundert. Aktualisierungen in unregelmäßigen Abständen sind nicht mehr akzeptabel und Entwickler sollten einen fertiggestellten Code nicht als Problem eines anderen Teams sehen. Die Fähigkeit, digitale Services schnell einzuführen und zu aktualisieren, ist heute erfolgskritisch. Voraussetzung dafür ist nicht DevOps – sondern eine geeignete Anwendungsarchitektur, die anstatt von Monolithen kleinere Module oder Services favorisiert, welche unabhängig und mit geringerem Risiko ausgetauscht oder upgedatet werden können. DevOps ermöglicht aber das Einbringen von Ideen und Anforderungen eines jeden »Betroffenen« von Entwicklung bis Betrieb, um diese Ideen auch erfolgreich umzusetzen.

Dies zeigt auch einen weiteren Vorteil von DevOps, welcher die Arbeitsweise wie in einer agilen Startup-Zeit und das Motto: »Es ist in Ordnung, Fehler zu machen.« fördert. Dies beschleunigt Innovationen und eine Kultur, die versteht und akzeptiert, dass Fehler geschehen. Die Kunst liegt dann darin, wie und wann ermittelt wird, was funktioniert, nicht funktioniert oder besser funktionieren könnte. Dies wird unterstützt durch Automatisierung und durch die Analyse unternehmensweiter Metriken.

Eine erfolgreiche DevOps-Strategie ermöglicht Unternehmen aber auch die Berücksichtigung von Kundenfeedback sowie das Testen von neuem Code in Echtzeit. Damit lassen sich schnell Installationen und Aktualisierungen durchführen. Zusätzlich entlastet DevOps die Entwicklungsteams durch die Automatisierung aufwändiger Prozesse wie Testing. So können sie sich verstärkt auf produktive Ziele konzentrieren.

DevOps wird daher immer mehr zum Mainstream. Der Ansatz wird in Zukunft wohl so selbstverständlich für die Entwicklung und Bereitstellung von Software sein, dass niemand mehr darüber redet. Denn damit erhalten alle Beteiligten eine umfassende Sicht auf den Business-Wert von hochqualitativen, quasi in Echtzeit entwickelten Anwendungen und Services.

foto-autor-andreas-grabner-dynatraceAndreas Grabner, Technology Strategist, Dynatrace

Andreas Grabner hat mehr als 15 Jahre Berufserfahrung als Architekt und Entwickler im Java- und .NET-Umfeld. In seiner derzeitigen Funktion als Technology Strategist bei Dynatrace leitet er das APM-Center of Excellence-Team. https://www.dynatrace.com/de/index.html

DevOps zahlt sich aus – mehr als erwartet

Die Teile des DevOps-Puzzles

Wie sich mit DevOps Anwendungs-Release-Zyklen verkürzen lassen

Fünf Prämissen für einen durchgängigen DevOps-Erfolg

Vernachlässigung von DevOps schadet Unternehmen

Fünf Tipps zur erfolgreichen Umsetzung von DevOps

Studie: DevOps in Deutschland meist als Service mit Support genutzt

Bei der Softwareentwicklung auf DevOps setzen – Chancen sind oft noch unerkannt

DevOps: Schlüsselkriterien für Umsatzwachstum adressieren

Schreiben Sie einen Kommentar