OpenShift Migration zu Cloudscale

Mit dem Ziel, bis Ende 2019, kein eigenes Rechenzentrum mehr zu besitzen, haben wir nebst allen anderen Services auch unsere OpenShift Plattform in die Cloud migriert.

Im Juni 2019 haben wir dieses Projekt in Angriff genommen und bereits im Oktober 2019 abgeschlossen. Noch vor dem planmässigen Ende (im November 2019) waren alle unsere OpenShift Instanzen und die darauf laufenden Services erfolgreich nach Cloudscale migriert. Dazu haben wir auf Cloudscale eine eigene Plattform aufgebaut und ca. 200 OpenShift Projekte, davon 50 produktive Services, von 14 verschiedenen Kunden migriert.

Solch ein grosses Vorhaben bedarf guter Planung. Um all den Migrationen gerecht zu werden, haben wir uns für ein neues Vorgehen entschieden: Scrum. Das Team hatte zuvor noch keine Erfahrung mit Scrum. Bei der Planung der Sprints und beim Arbeiten mit dieser Methode wurde jedoch schnell klar, dass dies für das Team sehr gut funktioniert. Das Projekt kam äusserst schnell ins Rollen und ging gut voran.

Zuerst haben wir mit der Migration eigener Services begonnen und dadurch Erfahrungen gesammelt. Dies lief von Beginn an sehr gut. Um den Aufwand für unsere Entwicklerteams möglichst klein zu halten, haben wir uns bereits am Anfang des Projektes dafür entschieden, eine Art Migrations-Tool für die Teams zur Verfügung zu stellen. Diese halfen den Teams dabei, ihre Applikationen und Services möglichst automatisiert zu migrieren.
OpenShift 4 beinhaltet ein neues Tool, welches wir gut gebrauchen konnten – jedoch nicht für die Migration zwischen zwei OpenShift 3 Clustern. So haben wir uns kurzerhand dafür entschieden, ein eigenes Tool zu schreiben.
Sämtliche unserer Applikationen werden mittels Jenkins Pipelines auf unseren OpenShift Clustern deployed. So war es für uns sehr naheliegend, das Migrations-Tool als Jenkins Pipeline aufzubauen. Einerseits, weil wir in diesem Bereich bereits über viel Know-how verfügen, andererseits weil eine Jenkins Pipeline optimal in unsere Umgebung integriert werden kann.
Die erste Version der Pipeline ist in ca. vier Stunden entstanden und konnte bereits Vieles abhandeln. Der Proof of Concept war also geglückt. Nach weiteren zwei Tagen war die Pipeline so weit, dass wir uns an die ersten echten Projekte gewagt haben.

Alles war bereit und unsere Entwicklerteams konnten gemeinsam mit uns ihre Applikationen und Services «fast» auf Knopfdruck migrieren. Es wurden mit der Pipeline um die 80 Namespaces migriert. Eine coole Erweiterung unserer Pipeline wäre, wenn sie nebst Ressourcen und Images auch Daten auf Volumes migrieren könnte. Mal schauen, klingt nach einer coolen Contribution für die nächste opensource-challenge.ch.

Wir haben das Migrations-Tool natürlich open sourced und hier abgelegt.

Alles in allem war das Projekt ein voller Erfolg! Nicht nur uns, sondern auch unseren Entwicklerteams hat das Projekt gefallen:

„Ein vorbildliches Projekt mit guter Unterstützung für die Members, vor allem mit dem Migrations-Tool und dem persönlichen Support des Migrations-Team. Es gab stets eine gute Übersicht zur Migration mit Monitoring für das Migrations-Team und auch für alle Interessenten.“ (Christoph Raaflaub)

„Der Umzugsprozess war für alle Applikationen einigermassen einfach und homogen – OpenShift-CLI und konsequenter Anwendung von Configuration as Code sei Dank.“ (Severin Räz)

„Bei der Migration unserer Projekte konnte ich stets auf die tatkräftige Unterstützung und das Know-how der Members aus den verschiedenen Bereichen zählen. Vielen Dank!“ (Claudia Asti)

Kommentare sind geschlossen.