Infrastruktur maschinenlesbar aufsetzen im Sinne von Infrastruktur als Code (IaC) wird zunehmend wichtig und bringt viele Vorteile, auch im proprietären Umfeld, wie der Oracle Middleware. Ansible bietet dafür eine moderne Basis.
Die Post Informatik führt seit Beginn des Jahres 2021 ein grosses Lifecycleprojekt durch. Bei diesem Projekt soll die interne Middleware-Plattform, Oracle SoaSuite (SOA), von SOA11 bis Ende Jahr auf SOA12 migriert werden. Die Plattform stellt für viele Applikationen, Services und Prozesse der gesamten Post CH AG den Datenaustausch sicher und zentralisiert so die Kommunikation. Die SOA-Plattform selbst ist in ihrer architektonischen Form monolithisch aufgebaut und auf physischer Hardware installiert. In der Vorgängerversion SOA11 verwendet die Post Informatik eine Toolsammlung, mit der Installationen und Updates durchgeführt wurden. Dieser Prozess ist sehr aufwändig und bedarf teilweise manueller Schritte. Um diese Bachelor-Arbeit zu unterstützen, stellte die Post Informatik die Toolsammlung zur Verfügung.
Ziel der Bachelorthesis war es, die Basiskomponenten der Oracle Middleware für SOA12 automatisiert für die Post Informatik bereitzustellen und bereitgestellte Komponenten durch einen modernen Ansatz administrieren zu können. Unter den Komponenten wird eine Installation von Java, die Oracle SoaSuite Software und die Basisinstallation einer SOA-Domain verstanden. Wo immer möglich, wurde in dieser Bachelorarbeit Ansible eingesetzt, um damit dem aufkommenden Bedarf an Infrastruktur als Code (IaC) gerecht zu werden und das serverzentrierte Arbeiten verringern zu können.
In der Arbeit wurden insgesamt 333 Ansible-Tasks erstellt, welche bei einem kompletten Durchlauf teilweise mehrfach verwendet werden, um Redundanzen in der entstandenen Lösung klein zu halten. Durch den Einsatz von Ansible konnten sämtliche Konfigurationen maschinenlesbar dargestellt werden. Damit ist es möglich, komplett auf manuelle Teilschritte zu verzichten. Für die Post Informatik konnte so eine Lösung erstellt werden, von der diese einen Zeitgewinn von mehreren Wochen Arbeit erwarten kann. Zudem konnte durch den modernen Ansatz mit Ansible auf einige Skripte der Toolsammlung verzichtet werden. Weiter wird durch die Lösung auch die Nachvollziehbarkeit erhöht und durch die idempotente Art von Ansible können Umgebungen einfach periodisch überprüft werden.
Mit der Lösung dieser Bachelorthesis hat die Post Informatik die Möglichkeit, eine Oracle SoaSuite Middleware Umgebung nach ihren Strukturen bereitzustellen. Das bedeutet, dass damit eine laufende SOA-Domain mit allen nötigen Konfigurationen erstellt werden kann, welche die Post Informatik benötigt, um diese technisch zu erreichen und dezentral zu administrieren.
Der Lösungsansatz verwendet moderne Ansätze wie Infrastruktur als Code (IaC) und moderne Tools wie Ansible, um dadurch die ältere, monolithisch aufgebaute SOA-Plattform zu modernisieren und weiterzubringen. Daraus entstand in dieser Arbeit auch die Erkenntnis, dass Arbeitsweisen und Ansätze oft durch die Einstellung gegenüber den Produkten beeinflusst und geprägt werden.
Für die Umsetzung der Lösung wurden Praktiken und Prinzipen aus einem Buch von Kief Morris («Infrastructure as Code: Dynamic Systems for the Cloud Age») verwendet. Ergänzt wurden diese mit Best Practices aus der Ansible Dokumentation, um so einen geordneten Rahmen für die Arbeit zu erzeugen. Die Umsetzung der Lösung erfolgte dann in einem iterativen Trial-and-Error Verfahren. Gestützt wurde das Vorgehen auch durch die Erfahrung des Kandidaten, der seit mehreren Jahren auf dem Gebiet der Bachelorthesis bei der Post Informatik tätig ist.
Quelle Buch: Morris Kief, Infrastructure as Code: Dynamic Systems for the Cloud Age, Second Edition, O’Reilly Media, Inc., Dezember 2020, ISBN-10: 1098114671