Bei DevOps handelt es sich um eine Strategie, die eine bessere Zusammenarbeit zwischen Entwicklung, Qualitätssicherung (QA) und Operations unterstützt. Deren Ziel ist es, die Umsetzung von Software-Verbesserungen in der Produktion zu beschleunigen, während gleichzeitig Störungen in den Geschäftsabläufen minimiert werden sollen.

Software-Verbesserungen werden von Unternehmen ständig benötigt, um deren Wettbewerbsvorteil zu bewahren und die Kosten niedrig zu halten. Sie führen zu Ausfallzeiten, während Produktionsgegenstände durch neue, verbesserte Versionen ersetzt werden. Dort, wo Dateien verbessert werden, kommt es in der Zeit, in der Daten von alten zu neuen Dateistrukturen kopiert und zugeordnet werden, zu längeren Ausfallzeiten.

Die klassische Software-Entwicklung verfügt über ihren eigenen Silo, in dem Software-Verbesserungen vorgenommen und dann an QA weitergereicht werden. QA testet diese gewöhnlich mit simulierten Produktionsdaten und übergibt Operations ein „Paket“, das die Software-Verbesserungen, Installationsroutinen und Anweisungen enthält.

Klassische Operations verfügt ebenfalls über einen eigenen Silo. Operations erhält nur ungern viele Pakete im Jahr, da diese das tägliche Geschäft unterbrechen. Stattdessen würde Operations darauf bestehen, dass die Anzahl der Pakete gering gehalten wird und diese nur zu vorgegebenen ruhigen Zeiten übergeben werden.

DevOps und Legacy-Plattformen

Die sogenannten Legacy-Plattformen wie z/OS und IBM i (auch iSeries, AS/400) führen hauptsächlich unternehmenskritische Software-Anwendungen aus. Viele Nutzer würden behaupten, dass ihre Legacy- oder „Traditions“-Software-Anwendungen in Wirklichkeit das Geschäft führen. Nehmen wir IBM i als Beispiel: Software-Anwendungen sind ein Opfer des eigenen Erfolgs. Sie wurden (damals) größtenteils auf eine innovative und effiziente Art und Weise entwickelt, weisen eine beispiellose Langlebigkeit auf und funktionieren ohne Modifikationen zuverlässig, und dies häufig für Jahrzehnte. Da IBM i eine proprietäre Plattform ist (was nicht unbedingt etwas Schlechtes ist), sind alle Software-Anwendungen eng mit der Hardware, dem Betriebssystem, der Sicherheit und der Datenbank von IBM i verbunden. IBM hat im Laufe der Jahre umfangreiche Verbesserungsmaßnahmen an der Plattform vorgenommen, und die meisten IBM i-Software-Anwendungen haben diese Verbesserungen übernommen, ohne dass große Code-Änderungen notwendig waren. Die meisten laufen schneller, sind robuster, sicherer und anpassbarer denn je. Die kritischen Funktionen eines Unternehmens bleiben stabil, wodurch es bislang kaum eine geschäftliche Rechtfertigung für große Änderungen gab. Einige Legacy-Anwendungen würden von einer Brownfield-Entwicklung profitieren, indem hinzugefügt und das beibehalten wird, was funktioniert, oder das, was nicht funktioniert, verbessert wird. Ein Teil der Legacy-Anwendungen leidet unter großen technischen Schulden, die analysiert, quantifiziert und korrigiert werden müssen, ehe sie zu einem echten Problem werden. Am schlimmsten sind jedoch nicht verwaltete Legacy-Anwendungen mit fehlendem oder falsch zugeordnetem Quellcode, was bedeutet, dass diese ein zu großes Risiko bergen, um jemals geändert zu werden.

Bei IBM i wurden viele Anwendungen bereits modernisiert. Dies beginnt gewöhnlich mit Hilfe einer Analyse und einer Refaktorierung des Codes, häufig zu Free-Form-RPG, gefolgt von einer Überprüfung der Code-Wartbarkeit, ehe Verbesserungen vorgenommen werden.

Von daher ist es ein Irrtum zu glauben, jede Anwendung auf einem Mainframe oder IBM i einfach als „Legacy“ beschreiben zu können. Aus der DevOps-Perspektive muss das Gute behalten und das Schlechte verbessert werden. Gartner schlug einen vernunftgeleiteten Ansatz namens „bimodale IT“ oder „Variable Speed IT“ vor. Die bimodale IT ist die Verwaltung zweier separater, zusammenhängender Übertragungsmodi, wobei sich der eine auf die Stabilität und der andere auf die Agilität konzentriert. Modus 1 ist traditionell und sequenziell mit Schwerpunkt auf Sicherheit und Präzision. Modus 2 ist exploratorisch und nicht linear mit Schwerpunkt auf Agilität und Geschwindigkeit. Modus 1 wird manchmal als ein Stein in einem schnell fließenden Fluss beschrieben. Die Legacy-Funktionen oder -Anwendungen, die dem Unternehmen aktuell gut dienen, können identifiziert werden, und es kann eine bimodale Modus-1-Strategie im Unternehmen implementiert werden. Das bedeutet, mit traditionellen Praktiken fortzufahren. Für alle anderen wird auf den bimodalen Modus 2 umgestellt, was DevOps bedeutet.

Um die Legacy-Software-Anwendungen relevant zu halten, wurden die meisten mit Multi-Plattform-Software integriert. So nutzen Banken beispielsweise IBM i oder z/OS für die Backoffice-Verarbeitung, während sie die zeitgemäße Frontend-Software von Linux oder Windows als Schnittfläche für ihre Mitarbeiter und Onlinekunden wählen. Legacy-Software-Anwendungen erfordern spezialisierte Entwickler, die häufig über RPG- oder COBOL-Fähigkeiten verfügen, und diese neigen dazu, sich langsam bewegenden, sequenziellen, sicheren und präzisen Entwicklungszyklen zu folgen. Dies passt nicht sofort zu einer DevOps-Strategie, die Agilität und Geschwindigkeit in den Vordergrund stellt.

DROPS und DevOps-Strategie

Mit 25 Jahren Erfahrung in der Application-Lifecycle-Management-(ALM-)Branche hat sich die ARCAD Software Group zu einem international führenden Unternehmen in der Bereitstellung von DevOps-Tools für verteilte Plattformen wie UNIX, Windows, Linux, IBM i und z/OS entwickelt.

Die DROPS-Lösung ist ein vollständig automatisiertes System zur Umsetzung von Geschäftsanwendungen und Ergebnis von fast 25 Jahren Erfahrung und zukunftsorientiertem Denken in der Organisation von Entwicklungs- und Bereitstellungsprozessen. Das Ziel von DROPS ist es, Zeit zu gewinnen, indem die Geschwindigkeit von Entwicklung und Bereitstellung erhöht wird, um das Augenmerk der menschlichen Intelligenz auf Mehrwertaufgaben zu richten.

DROPS ist zur Unterstützung von DevOps prozessorientiert, von der Entwicklung bis zur Bereitstellung in der Produktion. Die Lösung ist dadurch leistungsfähiger als andere auf dem Markt, die oft auf die Übertragung von technischen Komponenten auf bestimmte Systeme beschränkt sind. DROPS ist dazu gedacht, Anwendungen völlig sicher und reversibel mit einer automatischen Rollback-Option unabhängig von den Einschränkungen der Host-Plattform bereitzustellen. Die Lösung unterstützt Veränderungen und fördert die Zusammenarbeit zwischen den Teams von Entwicklung und Operations, indem sie diese innerhalb einer effizienten Vertriebskette positioniert und die Zeitrahmen für Veröffentlichungen verkürzt.

Mit DROPS können Nutzer Anwendungsänderungen kontinuierlich, automatisch und sicher einbringen und bereitstellen. Gleichzeitig können sie von den Vorteilen eines agilen Ansatzes profitieren und die Unternehmensentwicklung durch eine schnellere Bereitstellung unterstützen.

www.arcadsoftware.com