Von DevOps lernen

Der Mainframe wird agil: Was wir von DevOps lernen können

Thomas Keisel

©Shutterstock/wavebreakmedia

Der Boom bei digitalen Dienstleistungen geht unvermindert weiter: Die Konsumenten fordern ständig Serviceverbesserungen, die Unternehmen mit schnelleren, besseren und zunehmend multifunktionalen Applikationen bieten müssen. Dies übt einen großen Druck auf die IT-Abteilungen aus. Kann hier ausgerechnet der scheinbare Dinosaurier Mainframe wertvolle Hilfestellung leisten?

Der Mainframe bildet bereits seit nunmehr 50 Jahren das Herz in vielen Bereichen der Unternehmens-IT und unterstützt seitdem zahlreiche Innovationen. Nun ist er wiederum mit neuartigen Workloads konfrontiert, die nicht einmal annähernd abzusehen waren, als der Mainframe entstanden ist. Die Teams, die B2C-Applikationen verwalten und verbessern, müssen den Entwicklungsprozess beschleunigen, um mit den Anforderungen der Kunden und den Angeboten des Wettbewerbs Schritt halten zu können.

Entsprechend verschwimmen die einst bestehenden Grenzen zwischen Entwicklung und Betrieb immer mehr. Beide Seiten arbeiten unter dem Ansatz DevOps immer enger zusammen. Nur damit können sie gewährleisten, dass sie gemeinsam das gleiche Ziel verfolgen. Das ist auch der Grund, warum sich Entwicklungsteams – selbst im Bereich Mainframe – zunehmend von herkömmlichen Wasserfall-Modellen wegbewegen, hin zu agilen Prozessen.

Eine neue Welt

Agile Prozesse haben nachgewiesenermaßen einen positiven Einfluss auf den Entwicklungszyklus. Sie helfen einerseits Application-Teams dabei, dynamischer zu werden, andererseits reduzieren diese neuen Prozesspraktiken Ineffizienzen im Applikationscode. Gleichzeitig gewährleisten sie, dass das finale Produkt exakter den Erwartungen und Wünschen der Nutzer entspricht. Die Entwicklung in kleinen Schritten ermöglicht das Berücksichtigen von Nutzer-Feedback in jeder Zwischenstufe. Dies bedeutet, dass Anwendungen während des gesamten Entwicklungsprozesses perfekt auf die Anforderungen zugeschnitten und verfeinert werden können.

Dabei ist das Resultat oft völlig anders als ursprünglich erwartet und geplant. Dies liegt daran, dass sich die Nutzererwartungen während des Entwicklungsprozesses häufig mit den neuen Funktionen verändern. Zudem lassen sich Qualität und Konsistenz immer besser gewährleisten, da die Anwendungen in jeder Stufe ausführlich getestet werden. Dies stellt sicher, dass alle Komponenten reibungslos zusammenarbeiten. Mit einer isolierten Betrachtung und Prüfung der Bestandteile ist dies nicht in gleichem Maße möglich. Entwickler können somit viel effektiver und effizienter arbeiten. Sie erfüllen die Anforderungen der Nutzer mit größerer Genauigkeit und reduzieren die Prozessdauer.

Mainframe bleibt erfolgskritisch

Obwohl agile Entwicklungsprozesse und DevOps im Bereich von Webanwendungen und verteilten Applikationen zur Zeit deutlich Fahrt aufnehmen, wurden sie im Mainframe bislang weitgehend abgelehnt. Dieser Bereich wird nämlich seit einem halben Jahrhundert als äußerst stabiler Teil der IT-Umgebung betrachtet. Entsprechend glauben viele Experten, dass es keinen Bedarf für eine Änderung der Entwicklungsprozesse im Mainframe gibt.

DevOpsCon Istio Cheat Sheet

Free: BRAND NEW DevOps Istio Cheat Sheet

Ever felt like service mesh chaos is taking over? As a follow-up to our previous cheat sheet featuring the most important commands and functions, DevOpsCon speaker Michael Hofmann has put together the 8 best practices you should keep in mind when using Istio.

Jedoch ist er heute so erfolgskritisch für Unternehmen wie noch nie zuvor. Denn auf dem Mainframe basieren lebenswichtige Funktionalitäten für mehr als die Hälfte aller Geschäftsanwendungen. Es überrascht daher nicht, dass gemäß einer aktuellen Studie 81 Prozent der CIOs glauben, dass der Mainframe auch im kommenden Jahrzehnt ein entscheidender Posten für die Geschäftstätigkeiten bleibt. Entsprechend kann der Mainframe nicht als Auslaufmodell oder als unwichtiger IT-Bestandteil betrachtet werden. IT-Verantwortliche müssen daher ihre Mainframe-Entwicklungsteams ermutigen, die gleichen modernen Arbeitswege zu nutzen wie ihre Gegenüber für verteilte Applikationen. Nur dann können sie auch die Zukunft ihrer IT-Services sichern.

Mobile driving up mainframe MIPS consumtion

Abb.1:Mobile driving up mainframe MIPS consumption: Eine im Auftrag von Compuware durchgeführte Erhebung zeigt, dass die Zunahme an mobilen Anwendungen den MIPS-Verbrauch um über Zwei-Fünftel (41%) erhöht.

Hindernisse für die Agilität

Die erste Hürde bei der Einführung agiler Methoden im Mainframe ist, dass die Entwicklungsteams andere Arbeitspraktiken und Erwartungen besitzen als die Teams für verteilte Applikationen. Die geschäftskritische Bedeutung der Mainframe-Anwendungen führt dazu, dass Entwickler sehr sorgfältig vorgehen müssen, um möglichst jede Veränderung zu vermeiden, die einen negativen Einfluss besitzt oder eine Störung der Dienste verursachen könnte.

Entsprechend gibt es eine Kultur der Qualität und Zuverlässigkeit in Bezug auf Konsistenz, die verständlicherweise dazu geführt hat, dass die meisten Mainframe-Entwicklungsteams jede größere Änderung erst einmal ablehnen. In der Welt der verteilten Anwendungen gilt allerdings das genaue Gegenteil: Dynamische Veränderung ist hier eines der wichtigsten Ziele. Entsprechend haben diese Teams schnell die Ansätze für agile Entwicklung und DevOps übernommen.

Es bestehen zahlreiche weitere Unterschiede in den beiden Welten. Bei den verteilten Applikationen kann zum Beispiel eine einzige Entwicklungsstufe zu einer dynamischen Veränderung der Anwendung führen, etwa durch eine neue Nutzeroberfläche. Im Mainframe sind die Änderungen meist sehr viel unauffälliger, wie ein Hinzufügen eines neuen Datenbankfeldes. Diese Unterschiede erschweren eine Zusammenarbeit der beiden Bereiche.

Zusätzlich sind Mainframe-Experten aufgrund des Fachkräftemangels und unzureichender Ausbildung junger Informatiker in diesem Bereich inzwischen ein seltenes und sehr wertvolles Gut. Auch aus diesem Grund können es sich Unternehmen nicht leisten, ihre oft altgedienten Mainframe-Entwickler durch eine erzwungene Einführung völlig neuartiger Prozesse zu verschrecken. Unternehmen laufen sonst Gefahr, dass diese das Unternehmen wechseln oder in Frührente gehen.

Negative Folgen

Eine unzureichende Zusammenarbeit der beiden Entwicklungsteams kann auch dazu führen, dass sie die Bedürfnisse der Kunden aus den Augen verlieren oder diese nur ineffizient und zu unnötig hohen Kosten erfüllen. Zum Beispiel kann dann eine Anwendung für Mobile Banking mehrmals die Eingabe der identischen Kontodaten durch den Kunden erfordern, obwohl diese bereits im System vorliegen. Neben Mehraufwand für den Nutzer erzeugt dies auch überflüssigen Datenverkehr auf dem Mainframe.

Complexity of distributed-mainframe application environments slos problem solvingAbb.2: Complexity of distributed-mainframe application environment: 74 Prozent der CIOs gehen davon aus, dass die zunehmende Komplexität der Anwendungen zwischen verteilten und Mainframe-Umgebungen Problemlösungen verlangsamen

Solche Ineffizienzen (Abbildung 2) können nur vermieden oder beseitigt werden, wenn die Teams für die Entwicklung von verteilten Anwendungen und Mainframe-Applikationen eng zusammenarbeiten. Dazu ist die Beschreibung der gewünschten Nutzungsprozesse vom ersten bis zum letzten Schritt nötig, um die finale Anwendung zu definieren. Die Mainframe-Entwickler können dann ermitteln, wie sie dies ihrerseits optimal unterstützen können.

Jedoch wird dieser Schritt immer komplexer, da die Teams heute oft über viele Regionen und sogar Kontinente verteilt sind und die Mitglieder dadurch häufig getrennt voneinander arbeiten. Der Trend zu DevOps bei verteilten Anwendungen hat die Messlatte sehr hoch gelegt und zeigt, wie Grenzen zwischen verschiedenen Abteilungen überwunden werden. Und auch für die geografischen Herausforderungen stehen heute viele praktische, effiziente Collaboration-Tools zur Verfügung.

Die Weiterentwicklung des Mainframes

Um die Einführung von agilen Entwicklungsmodellen im Mainframe zu vereinfachen, gibt es zahlreiche Möglichkeiten. Damit können IT-Verantwortliche den Übergang recht reibungslos gestalten und müssen dabei das Rad nicht neu erfinden.

  • Regelmäßige persönliche Meetings: Tägliche Kurzkonferenzen können ein hervorragendes Mittel sein, um Entwicklungsteams zu einer engeren Zusammenarbeit zu bewegen. Neben dem besseren persönlichen Kennenlernen wirkt sich auch die verstärkte Diskussion der aktuellen Aufgaben und Prozessschritte sowie den dabei erzielten Fortschritten positiv auf den Projektverlauf aus. Wer im Home Office, in einer anderen Niederlassung oder unterwegs ist, kann dabei per Videokonferenz teilnehmen, so dass niemand ausgeschlossen wird. Die Vorgabe lautet hier nicht nur, das Projekt in der richtigen Spur zu halten, sondern auch Erfahrungen auszutauschen und Lösungsvorschläge für entdeckte Probleme gemeinsam zu erarbeiten. Dies kann auch gewährleisten, dass die gegenseitigen Erwartungen realistisch bleiben und die beiden Entwicklungsteams an den gleichen Zielen arbeiten.
  • Automatisches Testen: Agile Entwicklung erhöht auch die Anzahl an Tests, die für die Gewährleistung der bei Mainframe-Anwendungen erforderlichen Konsistenz nötig sind. Diese manuell durchzuführen, würde viel zu viel Aufwand für die Mainframe-Teams erzeugen. Automatische Tests können dieses Problem lösen und stellen gleichzeitig sicher, dass nach jedem Entwicklungsschritt die identischen Prüfungen durchgeführt werden. Damit gewährleisten sie hohe Konsistenz.
  • Die Kluft überbrücken: Die Einführung von Mainframe-Tools mit modernen Nutzeroberflächen (Abbildung 3) kann jüngere Entwickler dazu motivieren, von der Welt verteilter Applikationen zum Mainframe zu wechseln. Zudem ermöglichen sie ähnliche Geschwindigkeiten sowie ein besseres Verständnis zwischen den beiden Entwicklungsteams. Die Tools lassen sich nämlich auf einfache Weise von beiden Teams nutzen, so dass sie über die bekannte Oberfläche komfortabler und enger zusammenarbeiten können. Ein Über-Kreuz-Training von Entwicklern in den Bereichen Mainframe und verteilte Applikationen verbessert das gegenseitige Verständnis über die verschiedenen Arbeitsweisen und Erwartungen zusätzlich.

 

Topaz Data Relationship visualizer

Abb.3: Unterschiede überbrücken: Neue Tools mit modernen User-Interfaces können die neue Generation an Mainframe-Entwicklern schneller auf dem Mainframe machen und helfen mit verteilten Teams zusammenzuarbeiten

Fazit

Auch nach 50 Jahren bleibt der Mainframe ein wichtiger Anker für die heutige Unternehmens-IT. Kein anderes Werkzeug hat sich als so zuverlässig, sicher und anpassungsfähig an die sich ständig verändernden Geschäftsbedürfnisse erwiesen. Und es ist klar, dass er in Zukunft weiterhin eine unternehmenskritische Ressource bleibt. So können es sich IT-Verantwortliche nicht leisten, sich zurückzulehnen und ihren Mainframe-Teams zu erlauben, hinter dem aktuellen Fortschritt in anderen IT-Bereichen zurückzubleiben. Ebenso wenig können sie ihre Mainframe-Teams dazu zwingen, ihre Arbeitsweise von Grund auf zu ändern. Ein sanfter und überlegter Ansatz vereinfacht den Übergang zur Agilen Entwicklung auf dem Mainframe. Nur dies bringt die Mainframe-Entwickler auf Augenhöhe mit den Kollegen aus dem Bereich verteilte Anwendungen und kann auch die Zusammenarbeit zwischen beiden Teams wesentlich verbessern.

Aufmacherbild: Colleagues in a data center von Shutterstock / Urheberrecht: wavebreakmedia

Verwandte Themen:

Geschrieben von
Thomas Keisel

Nach Abschluss  seines Studiums an der Fachhochschule in Regensburg arbeitete Thomas Keisel für Siemens in München. Anschließend war er Partner und Mitglied der Geschäftsleitung in unterschiedlichen Unternehmen wie ISYS GmbH in München,  Trilog Group Switzerland in Zürich und Boston und ASG Software. Seit 2014 ist er für Compuware als Vice President tätig. Thomas Keisel lebt in München.

Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: