Zur Beschleunigung der Softwareentwicklung wurden in den letzten Jahren die Agilen Methoden implementiert. Dadurch wurde der Software-Betrieb zum Engpass; um beide Seiten im Takt zu halten und eine Continuous Delivery – die laufende Bereitstellung neuer Software-Versionen, um aktuellen Veränderungen der Anforderungen zeitnah folgen zu können – zu realisieren, werden im DevOps-Konzept Software-Entwicklung und -Betrieb eng verzahnt.
Doch die IT muss darüberhinaus auch unterschiedliche Arten von Anwendungen oder sogar unterschiedliche IT-Welten verbinden, beispielsweise klassische Mainframe-IT und AS/400 beziehungsweise System i. In vielen Fällen wäre es zu riskant und zu aufwändig, Kern-Anwendungen auf offene Systeme zu portieren, so dass Unternehmen weiter auf ihre „Legacy-IT“ setzen. Trotzdem muss die Software-Entwicklung auch in solchen Landschaften schneller, flexibler und agiler werden. Dabei sichert eine Modernisierung der Mainframe-Entwicklungslandschaft durch den Einsatz agiler Methoden und Werkzeuge vorhandenes Know-how, aktiviert und motiviert junge Entwickler, steigert die Qualität und reduziert Kosten durch Automatisierung.
Agile Softwareentwicklung und IT-Betrieb setzen unterschiedliche Prioritäten
Die Ausgangssituation der Modernisierung einer herkömmlichen Entwicklungslandschaft ist durchaus vergleichbar mit der des DevOps-Konzepts: Die einzelnen Bereiche – hier etablierte und agile Entwickler – kommunizieren nur unzureichend miteinander. Oft stehen sich unterschiedliche Kulturen gegenüber: Die Open-System-Fraktion hält den Mainframe und seine Verfahren für überholt, während die Mainframe-Fraktion offene Systeme nicht als echte IT ernst nimmt. Die beiden Bereiche verwenden aber auch ganz unterschiedliche Werkzeuge und Methoden: Mit Java wird anders gearbeitet als mit Cobol, dem Wasserfallmodell stehen agile Methoden wie Scrum gegenüber. Auch wenn moderne Werkzeuge für Mainframe-Anwendungen verfügbar sind, so etwa Eclipse, so müssen sie mit anderen Tools abgestimmt werden. Die in DevOps realisierte Angleichung von Entwicklung und Betrieb muss sich also auch quer über die zentralen und die verteilten Plattformen erstrecken.
Auch wenn Modernisierung und DevOps zunächst zwei verschiedene Themen sind, so zeigt sich doch im Mainframe-Umfeld, dass insbesondere ohne modernisierte IDEs sowie Entwicklungs- und Test-Tools eine konsequente Umsetzung von DevOps nicht möglich ist. Solche Werkzeuge erleichtern nicht nur die Abstimmung von Development und Operations, sondern ermöglichen sie erst. Ein weiterer Aspekt ist, dass die Einbeziehung von Modernisierungsmaßnahmen im Sinne von Teilmodernisierung – also zum Beispiel IDE, Toolsets und eventuell Test-Umfeld – dazu führt, dass ein ROI wesentlich eher erreicht werden kann, etwa durch MIPS Ersparnisse. Grundsätzlich aber gilt im Mainframe Umfeld: Modernisierung kommt ohne DevOps aus, aber DevOps nicht ohne Modernisierung.
Mehrwert durch DevOps: Reduzierte Kosten und höhere Qualität
Ein weiterer Aspekt gewinnt neuerdings durch Cloud Computing an Bedeutung: Auch DevOps-Aktivitäten lassen sich durch Managed Services abdecken, beispielsweise durch die Übernahme der für die Infrastruktur der Entwicklung auf z/OS notwendigen Aufgaben. Darunter können etwa der Betrieb und die Weiterentwicklung der SCM-Systeme, der Entwickler IDEs oder sonstiger anwenderspezifischer Tools fallen. DevOps und Modernisierung sind eng verzahnte Themen. In einem integrativem Konzept können sie einen wichtigen Beitrag zur Bewältigung der derzeit drängendsten Herausforderungen der IT leisten: Das Business schnell mit hochwertiger Software zu versorgen.
Bernd Koschinski ist Vice President Consulting Services bei CGI.