Schnellere Software-Release-Zyklen

Teamgeist im Rahmen von DevOps

Agieren Software-Entwickler und Administratoren im Rahmen von DevOps bei der Kreation neuer Applikationen als Team, lassen sich Release-Zyklen schneller umsetzen.

Ruderteam

Allein der Teamgeist zwischen Software-Entwickler und Administrator zählt.

Der Begriff DevOps setzt sich aus den Worten „Development“ und „Operations“ zusammen und steht für den Schulterschluss zwischen Entwicklern und dem IT-Betrieb, die in speziellen Teams eng zusammenarbeiten. Dabei können sich Anwenderunternehmen von dieser Vorgehensweise kürzere Entwicklungszeiten sowie schnellere Inbetriebnahmen neuer Software versprechen. Dies wiederum ist in der heutigen Zeit entscheidend, wenn es um die digitale Transformation von Unternehmen und damit verbunden um ihre Agilität und Flexibilität geht. In diesem Zusammenhang betont denn auch Andreas Gerst, Vice President Central Europe bei CA Technologies: „DevOps spielt auf dem Weg zur digitalen Transformation eine wichtige Rolle für Unternehmen. Denn damit können Organisationen Applikationen schneller entwickeln, testen, auf den Markt bringen und sie kontinuierlich verbessern.“ Laut Gerst geht es für viele Unternehmen mittlerweile darum, sich erfolgreich im Wettbewerb zu behaupten und zukunftsfähige Geschäftsmodelle zu realisieren. Dabei müssen traditionelle Konzerne genauso schnell wie agile Internet-Start-ups, die aus dem Boden sprießen und keine gewachsenen IT-Infrastrukturen besitzen, neue Software-Features ausliefern können.

Damit die Etablierung von DevOps-Strategien im Unternehmen funktioniert, gilt es jedoch einige Aspekte zu beachten. So betont Henning von Kielpinski, Leiter Business Development bei der Consol Consulting & Solutions Software GmbH, dass diese Strategie klar seitens der Geschäftsführung unterstützt werden muss. Parallel dazu gehe damit nicht nur ein Wandel der ­Firmenkultur, sondern fast immer auch eine Re­organisa­tion des Unternehmens einher. Beispielsweise verändert die neue Vorgehensweise die Interaktion der betroffenen Mitarbeiter und Abteilungen. „Entwicklung und Betrieb werden neu ausgerichtet, um effektiver zusammenzuarbeiten und die Risiken komplexer Projekte über den gesamten Lebenszyklus besser bewältigen zu können. Mit althergebrachten Organisationseinheiten lässt sich dies kaum bewerkstelligen. Da folglich Mitarbeiter versetzt und umorganisiert werden, muss dies auch von einflussreichen Stakeholdern im Unternehmen mitgetragen werden“, berichtet Marco Schmid, Country Manager DACH beim Cloud-Anbieter Rackspace. Desweiteren sollten sich die Verantwortlichen stets bewusst sein: Hinsichtlich der Zielsetzung führt Dev­Ops initial erst einmal nicht zu Kostensenkungen, betont Henning von Kielpinski. Vielmehr ergeben sich zunächst Mehrausgaben, die sich langfristig wiederum einspielen lassen.

Die angeführten Aspekte weisen darauf hin, dass man die Einführung von DevOps-Strategien im Unternehmen besser nicht als Schnellschuss planen sollte. Manchmal ist es gar sinnvoll, DevOps nicht gleich unternehmensweit einzuführen. Vielmehr lässt sich die Arbeit mit agilen DevOps-Methoden laut Uwe Geier von Profitbricks gut zunächst an einem kleinen Projekt testen, etwa bei der Entwicklung einer neuen App.

Wie bei fast allen IT-Projekten gibt es auch bei Dev­Ops-Projekten Umstände, die sich als Bremsklötze erweisen können. So ist die Software-Entwicklung durch die Nutzung agiler Methoden meist besser vorbereitet als der IT-Betrieb, der oftmals eine schwierige Gratwanderung bewältigen muss: „Er muss schneller und agiler werden, ohne dabei die eigenen Grundfesten, wie beispielsweise die Einhaltung bestimmter Sicherheitsrichtlinien, aufzugeben“, erläutert Diethelm Siebuhr, CEO bei dem IT-Dienstleister Nexinto Holding in Hamburg. Wichtig sei dabei, dass beide Seiten transparent agieren: Der IT-Betrieb darf keine Blackbox sein, in der sich nur Administratoren zurechtfinden. Vielmehr müsse die Software-Entwicklung immer wissen, was im IT-Betrieb passiert, weil sie nur so die Software darauf abstimmen kann, so Siebuhr. Über die Organisation von DevOps-Teams hinaus können bestimmte Tools ein erfolgreiches Zusammenspiel von Entwicklung und IT-Betrieb unterstützen. In diesem Zusammenhang rät Diethelm Siebuhr: „Agile Methoden müssen in Entwicklung und IT-Betrieb verankert werden. Das lässt sich aber nicht durch die Installation bestimmter Tools realisieren. DevOps ist ein komplexes Projekt, das nicht von heute auf morgen funktioniert, von daher muss letztlich die Art und Weise, wie IT bisher organisiert wurde, von Grund auf verändert werden.“ Desweiteren verweist Henning von Kielpinski auf unverzichtbare Tools für die Kollaboration im Team, in dessen Rahmen auch Wissensdatenbanken für alle zugänglich sein sollten.

Dies ist ein Artikel aus unserer Print-Ausgabe 01-02/2016. Bestellen Sie ein kostenfreies Probe-Abo.

„Generell sollte man auf Tools zurückgreifen, mit denen die Teams bereits Erfahrungen haben oder die deren Anforderungen und Vorlieben am besten entsprechen“, ergänzt Karsten Flott, Sales Engineer bei App Dynamics. Infrage kommen zahlreiche unterstützende Tools, die einen spezifischen Nutzen im DevOps-Prozess bieten. Laut Karsten Flott gehören hierzu Git, Maven, Scrum, Kanban, Jenkins sowie Tools für die Überwachung der Ergebnisse anhand moderner Application-Monitoring-Lösungen.

Testen nicht vergessen


Apropos Kontrolle: Die große Relevanz von Software-Tests und Monitoring besteht nicht nur im Umfeld klassischer Software-Entwicklungsprojekte. „Auch Vorgehensmodelle wie DevOps setzen die Regel der Qualitätssicherung neuer Software nicht außer Kraft“, betont Diethelm Siebuhr. Denn die Bereitstellung kleinerer Releases in kürzeren Abständen macht deren Testen nicht überflüssig – im Gegenteil: Laut Siebuhr wird das Testen sogar notwendiger denn je. Eine Einschätzung, die Steven D. Murray, Solution Sales Director bei Compuware Mainframe Solutions, nur unterstreichen kann. Dabei sollten Tests weitgehend automatisch auf Knopfdruck erfolgen und die geprüfte Version zurück in das Managementsystem spielen, wobei die Ergebnisse mit früheren Versionen verglichen werden. „Dabei kann Testing der am längsten dauernde Teil von DevOps sein. Wer hier an Sorgfalt spart, bereut dies später möglicherweise.

Denn je eher ein Problem erkannt wird, desto schneller und günstiger ist dessen Behebung“, erklärt Murray. In diesem Zusammenhang, fordert Karsten Flott, dürfen grundsätzlich auch keine Tools für das Application Release Management und Continuous Integration fehlen. „Denn diese unterstützen die notwendige Agilität in der Entwicklung neuer Funktionen bei gleichzeitiger Sicherstellung vorhandener Deployment- und Sicherheitsstandards“, so Flott.

DevOps nur schwer greifbar


Da im DevOps-Umfeld Out-of-the-Box-Lösungen Fehlanzeige sind, kann jedes Anwenderunternehmen seinen eigenen Weg einschlagen. Demzufolge gibt es auch keine allgemeingültigen Standards, die die Verantwortlichen heranziehen könnten, was Marco Schmid unterstreicht: „DevOps ist nicht standardisiert und genau deswegen für viele Unternehmen zunächst schwer greifbar.“ Vielmehr handelt es sich um eine Ansammlung von Methoden und Tools, die richtig kombiniert zu einer besonderen Kultur in der Zusammenarbeit von Entwicklung und Betrieb führen.

Allerdings gibt es trotz fehlender Standards die eine oder andere Methode, dieser sich im Kontext von Dev­Ops als durchaus nützlich erweisen kann. Henning von Kielpinski konstatiert beispielsweise, „dass Dev­Ops und agile Entwicklungsmethoden stark voneinander profitieren. Setzt man Scrum im Unternehmen ein, ist das sicher auch für DevOps-Projekte von Vorteil.“ Darüber hinaus verweist er auf das Prinzip „Keep Calms“. Bei „Calms“ handelt es sich um ein von Damon Edwards und Jez Humble kreiertes Akronym. Es steht für Culture, Automation, Lean, Metrics und Sharing und damit für die wichtigsten Anforderungen, die Dev­Ops in einem Unternehmen voraussetzt. „Neben der Kultur der Zusammenarbeit und Kommunikation sowie dem Teilen von Erfahrungen sind damit Automatisierung, die Vermeidung unnötiger Schritte und die Messbarkeit der Ergebnisse beschrieben“, ergänzt von Kielpinski. Wobei sich die Messbarkeit nicht nur auf technische Größen bezieht, sondern auch auf weiche Faktoren wie Teamwork, und Zufriedenheit berücksichtigt.

Nach Ansicht von Andreas Gerst hat es sich zudem bewährt, ein Center of Competence oder Center of Excellence für DevOps-Vorgehen und -Methoden einzuführen. Denn damit können nicht nur der kulturelle und technische Wandel konsistent gesteuert und kontrolliert, sondern gleichzeitig Hindernisse bestmöglich aus dem Weg geräumt werden. „Darüber hinaus kann es sich anbieten, die Mitarbeiter aus Entwicklung und IT-Betrieb räumlich zusammenarbeiten zu lassen, sodass die Kommunikation vereinfacht und gegenseitiges Vertrauen gestärkt wird“, erklärt Gerst.

Nicht zuletzt haben sich weitere Systeme bewährt wie die Open-Source-Lösung Jenkins. Laut Steven D. Murray ermöglicht dieses web-basierte Software-System das Deployment auf Knopfdruck. Ebenfalls interessant ist seiner Meinung nach das Integrated Software Processing Workframe (ISPW) mit einer Lösung für Source-Code-Management und Automatisierung von Versionsfreigaben für die plattformübergreifende Mainframe-, Windows- und Open-Source-Systementwicklung. „In jedem Fall sollte das verwendete Tool in allen Umgebungen funktionieren, d.h. auch für die Inbetriebnahme von Mainframe- und verteilten Anwendungen“, so Murray.

Sich auf Teufel heraus auf DevOps-Strategien festlegen sollte sich jedoch kein Unternehmensverantwortlicher. Vielmehr gibt es nach Ansicht der befragten ­Experten durchaus Fälle, bei denen besser traditionelle Software-Entwicklungsmodelle zum Einsatz kommen sollten. Laut Henning von Kielpinski existieren gar Konstella­tionen, in denen DevOps-Konzepte prinzi-piell nicht funktionieren, beispielsweise bei der Zusammenarbeit mit mehreren Service-Providern und ­vertraglich festgelegten siloartigen IT-Umgebungen. „Überdies ist DevOps kein geeignetes Werkzeug, wenn die Applikationen mehrjährige Lebenszyklen besitzen oder per Compliance reglementiert sind. Hier lässt sich ein klassisches Wasserfall-Development kaum vermeiden“, erklärt von Kielpinski. Nicht zuletzt eignen sich laut Marco Schmid auch Legacy-Applikationen aufgrund ihrer Ausrichtung eher weniger für einen DevOps-­Ansatz.


Tipps für erfolgreiche DevOps-Konzepte

  • DevOps sollte auf jeden Fall das Sponsorship der Geschäftsleitung haben.
  • DevOps kommt einem Wandel der Unternehmenskultur gleich, da bislang separate Teams zusammenarbeiten ­müssen.
  • Es müssen klare Ziele vorgegeben werden: Was ist als ­Erfolg zu bewerten? Wie sieht eine gute Zusammenarbeit der Teams aus? Wie unterstützt DevOps die Business-Ziele?
  • Eine reibungslose Kommunikation ist für das Gelingen von DevOps essentiell.

Quelle: Andreas Gerst, CA Technologies


Bildquelle: Thinkstock/iStock

©2019Alle Rechte bei MEDIENHAUS Verlag GmbH

Unsere Website verwendet Cookies, um Ihnen den bestmöglichen Service zu bieten. Durch die weitere Nutzung der Seite stimmen Sie der Verwendung zu. Weitere Infos finden Sie in unserer Datenschutzerklärung.

ok