Tools & Taktiken zur team­über­grei­fen­den Kollaboration

DevOps-Strukturen für agiles Deployment

| Autor / Redakteur: Karsten Flott / Andreas Donner

Mit der richtigen DevOps-Strategie lassen sich Ausfallzeiten minimieren und die gesamte Applikationslandschaft optimieren.
Mit der richtigen DevOps-Strategie lassen sich Ausfallzeiten minimieren und die gesamte Applikationslandschaft optimieren. (Bild: Courtney Keating - iStock / SchwartzPR)

IT-Umgebungen und -Anwendungen werden immer komplexer, vielschichtiger und klein­tei­li­ger. IT-Abteilungen müssen auf Probleme oder neue Anforderungen agiler reagieren als je zuvor. Eine schnelle Anwendungsentwicklung und ein effizientes Troubleshooting sind wichtige Erfolgsfaktoren für Unternehmen mit zunehmend digitalen Prozessen.

Einer schnelle Anwendungsentwicklung bei einem gleichzeitig effizienten Troubleshooting stehen oft althergebrachte Rollen, Zuständigkeiten und Prozesse in der IT entgegen – insbesondere die klassische Trennung von Entwicklung (Deployment) und Betrieb (Operation).

Die Etablierung einer DevOps-Kultur kann hier helfen, die Zusammenarbeit beider Seiten zu optimieren, Zeit und Kosten zu sparen sowie notwendige Performance und Verfügbarkeit der Unternehmens-IT jederzeit sicherzustellen.

Was kann DevOps?

Die Kollaboration von Entwicklung und Betrieb ist ein Ansatz zur Prozessverbesserung in der Softwareentwicklung und der Systemadministration. Gemeinsame Ziele, Prozesse und Nutzung von Tools sollen die Entwicklung und das Rollout von Software effizienter machen sowie zur Qualitätssicherung beitragen.

Ziel von DevOps ist es, Silodenken zu verhindern und agile Prozesse zu ermöglichen. IT-Abteilungen stellen durch eine aufgabenübergreifende Zusammenarbeit den notwendigen Austausch zwischen Betrieb und Entwicklung sicher, schließen einen Bruch in der IT-Abteilung und nehmen alle Beteiligten in die Pflicht, Verantwortung für den reibungslosen Betrieb einer performanten und verfügbaren Anwendungsumgebung gleichermaßen zu übernehmen.

Wie etabliert man DevOps?

Neben technischen Anforderungen wie zum Beispiel automatisierten Deployments, Versionskontrollen und Builds oder einem effektiven Ticketsystem zur zielgerichteten Alarmierung besteht die größte Herausforderung darin, ein funktionierendes DevOps-Team zusammenzustellen. Wichtig ist dabei nicht nur die fachliche Kompetenz, sondern auch das Bewusstsein für den Business-Nutzen, der im Fokus stehen muss. Ein guter Mix aus den Bereichen Betrieb, Test und Entwicklung ist dazu notwendig. Folgende Aspekte gilt es beim Aufbau des DevOps-Teams zu beachten:

Teamgröße: Es ist nicht zielführend den gesamten Betrieb und die Entwicklung in ein Team zu integrieren. Bei zu großen Teams nehmen Abstimmungen mehr Zeit in Anspruch als die operative Umsetzung.

Schlagkräftige Teams: Möglicherweise ist eine Aufteilung in mehrere DevOps-Teams – mit unterschiedlichen Aufgaben, wie zum Beispiel Troubleshooting oder Deployment – sinnvoll. Dabei ist, je nach Aufgabe, das richtige Verhältnis von Entwicklung und Betrieb entscheidend.

Kompetenzen: Für welche Positionen reicht ein Grundverständnis bezüglich Softwareentwicklung und fundiertes Wissen über Betriebssystemplattformen und wo werden Experten benötigt?

Zuständigkeiten: Wer kümmert sich um Systemausfälle oder Netzwerkprobleme? Der Betrieb oder das DevOps-Team?

Berechtigungen: Sollen Entwickler Zugriff auf das Produktivsystem haben und wie lässt sich der sichere Betrieb der Software gewährleisten?

Einbindung externer Partner: Externe Partner wie IT-Service-Provider müssen verantwortlich in das Team integriert werden. Sie können und dürfen nicht nur Auftragsnehmer sein, sondern Partner auf Augenhöhe.

Kontinuierliche Verbesserung durch DevOps

Sind die DevOps-Teams etabliert, ergibt sich aus den anfallenden Anforderungen an die Anwendungsarchitektur ein Kreislauf effizienter und agiler Entwicklung und Auslieferung der Releases. Der Arbeitsablauf der DevOps-Teams besteht im Wesentlichen aus dem Deployment der Anwendung oder eines neuen Releases/Builds, der Visualisierung der Servicequalität und der darauf basierenden Bewertung des Business Impacts von potenziellen oder tatsächlichen Störungen:

  • Wie ist das Deployment verlaufen?
  • Ist die Verfügbarkeit und Performance besser geworden oder schlechter?
  • Wie nehmen die Nutzer die neuen Funktionen an?
  • Funktioniert das Zusammenspiel der Applikation mit der darunterliegenden Hardware?
  • Wie ist die Skalierung?

Voraussetzung dafür ist die faktenbasierte und objektive Transparenz hinsichtlich der Servicequalität aus Anwendersicht sowie der Auswirkung der Neuerungen auf die Infrastruktur. Moderne Werkzeuge für das Application Performance Management (APM) können die dafür nötigen Informationen liefern und visualisieren.

So setzt beispielsweise eine tabellarische und grafische Übersicht wie eine automatisierte Service Map die Performance der Anwendung in Relation zur Auslastung der Systemhardware. Bei einer so detaillierten Betrachtung erkennt man in der Regel weitere Probleme schnell. Das APM kann die Ursachen eingrenzen und konkrete Hinweise zur Behebung liefern – durch einen Rundumblick auf alle beteiligten Komponenten und Abhängigkeiten bis auf Code-Ebene. Nach der Behebung geht es wieder an das Deployment.

Karsten Flott
Karsten Flott (Bild: AppDynamics / Reflexion - Das Photoatelier)

Fazit

Mit der richtigen Teamzusammensetzung und den passenden Tools lassen sich durch DevOps-Strategien Ausfallzeiten minimieren und darüber hinaus die gesamte Applikationslandschaft optimieren. Neue Features wie Updates oder Bugfixes werden schnell und reibungslos in das Produktivsystem eingespielt.

Bei Releaswechseln oder Ausfällen ist die Fehlerwahrscheinlichkeit beziehungsweise die mittlere Reparaturzeit signifikant geringer und auch zeitaufwendige nachträgliche Anpassungen von neuen Konfigurationen lassen sich vermeiden. Wichtig sind klare Kompetenzen und Aufgabenverteilung sowie Tools für das Application Release Management und Continuous Integration.

Über den Autor

Karsten Flott ist Sales Engineer bei AppDynamics.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 44413008 / Performance-Management)