Hinter der Abkürzung Merlin verbirgt sich die „Modernization Engine for Lifecycle Integration“. Diese Plattform basiert unter anderem auf der Arcad-Technologie und unterstützt Softwareentwickler im IBM i-Umfeld dabei, eine Hybrid Cloud und eine plattformübergreifende DevOps-Implementierung zu nutzen. Mit Merlin lassen sich intelligente Build-Abläufe automatisieren und optimieren. Dies führt gleichzeitig zu einer Beschleunigung des CI/CD-Zyklus. Das Tool stellt auch native IBM i-Funktionen als RESTful-Schnittstellen bereit. Mit einer browserbasierten, integrierten Entwicklungsumgebung (IDE) und Red Hat-CodeReady-Arbeitsbereichen können Anwendungsentwickler die Vorteile moderner Tools und einer vertrauten Umgebung nutzen, auch wenn sie bislang keinen IBM i-Fokus hatten.
Generell besteht Merlin aus der Merlin-Plattform und den Merlin-Tools, die alle auf der OpenShift Container Plattform als Container-Anwendungen laufen. Die Merlin-Plattform selbst bietet einen zentralen Ort für die Verwaltung verschiedener Komponenten, wie Projekte, REST-APIs, Merlin-Benutzer- und Anmeldeinformationen und die Bereitstellung virtueller IBM i-Maschinen. Die Merlin Tools stellen über eine webbasierte Entwicklungsumgebung auch CI/CD-Tools zur Verfügung, die DevOps-Szenarien für IBM i-Kunden ermöglichen.
IBM i-Entwickler können mit Merlin damit durchaus auch „klassische“ RPG-Programme sehr viel produktiver entwickeln, aber die Möglichkeiten von Merlin wären damit nicht annähernd ausgeschöpft. Merlin wurde hauptsächlich für Modernisierungsprojekte konzipiert, worauf auch die Integration der Arcad Produkte, wie der Arcad Transformer RPG (aka RPG Converter), abzielt.
Die Teamentwicklung wurde über gemeinsame Git Repositories realisiert. Selbst eine parallele Entwicklung von Code ist möglich. Die Arbeitsweise verdeutlicht ein Video, das bei Youtube verfügbar ist.
Insgesamt wird sich der typische RPG-Entwickler sicher etwas umstellen müssen, wird aber dafür mit der Zeit sehr viel produktiver entwickeln können. Neben dem Tool zur Umwandlung des Codes von Fix- auf Free-Format RPG, gibt es in Merlin auch sogenannte Build-Werkzeuge.
Als Alternative zum OpenSource Builder BOB (Better Object Builder) gibt es das weitaus professionellere Elias von Arcad, was allerdings die Einrichtung der Arcad-Entwicklungsumgebung unter IBM i voraussetzt. Aber auch dafür gibt es unterstützende Werkzeuge in Merlin. Die Speicherung des Codes, das Kompilieren und Testen finden weiterhin in der IBM i-Umgebung statt: Die Sourcen liegen dabei im IFS der IBM i.
Ein Vorteil dieser Builder ist, dass nicht der gesamte Code eines Projektes für Tests neu kompiliert wird, sondern nur die geänderten und von diesen Änderungen betroffenen Komponenten einer Anwendung, wodurch das Kompilieren insgesamt schneller erfolgt. Die Erkennung solcher Abhängigkeiten übernimmt dabei der Builder selbst. Zudem kann ein Entwickler in Merlin Abhängigkeiten innerhalb eines Codes über den Arcad Observer erkennen.
Alle Merlin-Tools werden als IBM-zertifizierte Container auf Red Hat OpenShift implementiert, was vor allem mehr Sicherheit und umfangreicheren Support bietet. Dabei kann Merlin sowohl auf IBM Power als auch mit x86-Architekturen im eigenen Rechenzentrum oder in einer Cloud bereitgestellt werden.
Neben Merlin-Containern selbst muss auch das dafür notwendige OpenShift lizensiert werden, wobei eine OpenShift Lizenz immer ein Core-Paar umfasst. Da Power-Systeme mehr Threads pro Core unterstützen, haben diese Systeme den Vorteil, dass nur die Hälfte der Cores für vergleichbare Leistung benötigt wird.
Die Lizensierung von Merlin erfolgt über die Anzahl der benötigten Container für die IDE und den CI/CD Tools. Nimmt man z.B. an, dass fünf Entwickler die IDE nutzen aber nur ein CI/CD Container benötigt wird, benötigt man zusammen sechs VPC-Lizenzen (virtual processor core) für Red Hat Openshift plus die Kosten für das darunter liegende OpenShift Cluster.
Als Hardware-Requirements werden in diesem Bespiel zwei Cores und 207 GByte RAM vorausgesetzt. Damit könnte eine solche Umgebung sogar auf dem gleichen System wie IBM i installiert werden. Um Merlin zu testen, muss man es nicht gleich kaufen. Jeder Interessent kann kostenfrei eine Testumgebung bei IBM beantragen. Damit kann jeder Entwickler, der sich nicht mit Red Hat OpenShift und Containern auskennt, schnell die Vorteile von Merlin für sich herausfinden.
Wolfgang Rother ist Senior Technical Specialist Power bei IBM Technology Sales, DACH.