Wir haben OpenOlitor nun einige Jahre lang auf der von Swisscom angebotenen CloudFoundry Plattfrom betrieben. In letzter Zeit waren wir mit der Lösung nicht mehr gänzlich zufrieden. Die Ausfälle häuften sich und wir hatten das Gefühl, dass innerhalb von Swisscom das Angebot auf dem Abstellgleis gelandet war. Das hat sich nun auch bestätigt: Die Cloud-Plattform wird Ende November 2020 abgestellt.

Wir mussten uns also nach einer neuen Lösung für den Betrieb von OpenOlitor umsehen. Zu dieser Gelegenheit wollten wir nicht nur die Plattform für die Schweizer Initiativen an einem neuen Ort ansiedeln, sondern grundsätzlich den Betrieb von OpenOlitor vereinfachen. Ein weiteres Ziel war es, allen Interessierten das Testen und Ausprobieren von OpenOlitor auf einer eigenen Infrastrutkur vereinfacht möglich zu machen. Und auch die Partizipation an der Weiterentwicklung sollte mittelfristig durch die neue Lösung leichter möglich sein.

Diese Ziele haben wir erreicht, indem wir die OpenOlitor Komponenten in Docker-Images gepackt haben und eine anpassbare Docker-Compose Konfiguration vorbereitet haben. Diese nutzen wir nun um OpenOlitor auf der Jelastic-Cloud von Infomaniak zu betreiben.

Eine solche Migration steht bei betriebsrelevanter Software, welche ein Jahrzehnt oder länger im Einsatz steht, alle paar Jahre einmal an. Hier einige technische Details zu dieser Migration:

Container in der Cloud

Wir haben uns entschieden die verschiedenen Komponenten von OpenOlitor in Docker-Images zu packen. Dies ist einer der Standards für solche Applikationen und kann auf unterschiedlichen Plattformen genutzt werden. Die Docker-Images stehen nun auf Docker-Hub zum (automatisierten) Download bereit.

Diese Docker-Images können auf unterschiedlichen Plattformen verwendet werden. Google, Microsoft und andere bieten hier Kubernetes-Cluster zur Verfügung, welche sehr grosse und komplexe Applikationen aufnehmen können und auch bei massiven Lasten gut skalieren. Es wäre prinzipiell möglich auch einen eigenen Kubernetes-Cluster aufzubauen. Da der Betrieb dann aber auch entsprechend komplex und zeitaufwändig sein würde, haben wir uns dafür entschieden eine „einfache“ Docker-Compose Konfiguration zu erstellen. Diese kann für die eigenen Ansprüche konfiguriert werden.

Server, VM, Cloud-Plattform

OpenOlitor kann so auf einem eigenen Server, einer virtuellen Umgebung bei einem Provider oder ebenfalls auf einer Cloud-Plattform ausgeführt werden. Für den Betrieb in der Schweiz haben wir uns für die Jelastic-Cloud von Infomaniak entschieden. Cloud-Lösungen bieten den Vorteil, dass einfach mehr Leistung, Speicherplatz oder zusätzliche Umgebungen hinzugefügt werden können. Dies ist bei Jelastic besonders komfortabel, da nur jene Rechenleistung bezahlt werden muss, welche auch tatsächlich benötigt wird. Die Erstellung von Rechnungs-PDFs erfolgt beispielsweise in einer Virtuellen-Umgebung mit einem laufenden LibreOffice. Dies benötigt relativ viel Rechenleistung. Dies aber nun für eine kurze Zeit.

Wir sind überzeugt nun eine gute Lösung für die nächsten Jahre gefunden zu haben und gleichzeitig mit OpenOlitor einen Schritt vorwärts gemacht zu haben. Nachdem wir das neue Setup auf Github zur Verfügung gestellt hatten, wurde dieses auch gleich benutzt, um OpenOlitor für ein Projekt in Deutschland selbständig zu betreiben. Das freut uns natürlich besonders.