Softwareunternehmen
Entwicklung und Betrieb einer Private-Cloud-Plattform für ein internationales Softwareunternehmen
Cloudification unterstützte die Entwicklung, Skalierung und den laufenden Betrieb einer auf OpenStack und Kubernetes basierenden Private-Cloud-Plattform in mehr als 15 Produktions- und QA-Regionen.
100,000+
Mitarbeitende weltweit
15+
Produktions- und QA-Regionen
Unternehmen
Germany · ERP & Enterprise Software · 100,000+ Employees
Der Kunde ist ein großes internationales Unternehmen aus Deutschland, das ERP-Systeme und Unternehmenssoftware entwickelt. Das Unternehmen beschäftigt weltweit mehr als 100.000 Mitarbeitende.
Das Unternehmen nutzt eine auf OpenStack und Kubernetes basierende Private-Cloud-Plattform. Die Infrastruktur erstreckt sich über 15 Produktions- und QA-Regionen.
Herausforderung
Cloudification war an der Entwicklung, Skalierung und dem Betrieb der Cloud-Plattform des Kunden beteiligt.
Der Leistungsumfang umfasste die Erweiterung der OpenStack-Funktionalität, die Entwicklung neuer Treiber und Integrationen, Upgrades auf neuere OpenStack-Versionen sowie Anpassungen der Plattformarchitektur.
Ein weiterer wichtiger Bestandteil des Projekts war der Day-2-Betrieb, also die Aufgaben, die nach der Erstbereitstellung der Infrastruktur anfallen. In einer großen Private-Cloud-Umgebung wird die Plattform auch nach der Inbetriebnahme kontinuierlich weiterentwickelt: Neue Komponentenversionen werden eingeführt, Architekturänderungen müssen umgesetzt werden und die Infrastruktur muss aktuell und stabil gehalten werden.
In diesem Projekt erstreckten sich diese Tätigkeiten über mehr als 15 Produktions- und QA-Regionen.
ZENTRALE HERAUSFORDERUNG
Kontinuierliche Weiterentwicklung der Plattform und Day-2-Betrieb in über 15 Produktions- und QA-Regionen
Besonderheiten des Projekts
Eines der Hauptmerkmale des Projekts waren seine Größe sowie die komplexen Upgrade- und Release-Prozesse.
OpenStack besteht aus mehreren miteinander verbundenen Diensten, die unterschiedliche Funktionen innerhalb der Cloud-Plattform übernehmen. Bei der Weiterentwicklung einer solchen Umgebung können Änderungen neben einzelnen Komponenten auch die zugehörigen Integrationen, Konfigurationen und Prozesse zur Infrastrukturverwaltung beeinflussen. Aufgrund der Größe der Umgebung und der individuellen Anpassungen am OpenStack-Quellcode mussten bei Upgrades zwischen Releases häufig Hunderte von Patches zwischen verschiedenen Code-Branches portiert, komplexe End-to-End-Tests durchgeführt und neue Images mit projektspezifischen Abhängigkeiten erstellt werden.
Die zahlreichen Produktions- und QA-Regionen erhöhten die Komplexität zusätzlich. Die größten Regionen erhielten Updates in der Regel zuletzt, da aufgrund ihrer Größe ein höheres Risiko für Probleme bestand. Während in den kleinsten Regionen Hunderte bis Tausende virtuelle Maschinen (VMs) betrieben wurden, waren es in den größten Produktionsregionen mehrere Zehntausend. Daher mussten die Konfigurationen sowie die Anzahl der Dienste und Replikate an die größeren Regionen angepasst werden, um die Last bewältigen zu können.
In diesem Projekt umfassten die Arbeiten neben dem Betrieb der bestehenden Umgebung auch die kontinuierliche Weiterentwicklung der OpenStack-Plattform selbst: von der Entwicklung neuer Funktionen über Release-Upgrades und Architekturanpassungen bis hin zur Bereitstellung neuer Dienste.

Hunderte von Patches
Zwischen OpenStack-Release-Branches portiert

Komplexe End-to-End-Tests
Einschließlich neuer Images mit projektspezifischen Abhängigkeiten

Hunderte bis Zehntausende VMs
Unterschiedliche Regionsgrößen erforderten angepasste Konfigurationen
Lösung
Das Cloudification-Team war auf mehreren Ebenen an der Weiterentwicklung der OpenStack-Plattform des Kunden beteiligt.
Im Rahmen des Projekts wurden neue OpenStack-Funktionen, Treiber und Integrationen entwickelt und als Upstream-Beiträge in die OpenStack-Projekte eingebracht. Dadurch konnte die Plattform an die Anforderungen der bestehenden Infrastruktur angepasst und ihr Funktionsumfang erweitert werden.
Das Team führte außerdem OpenStack-Upgrades ab dem Train-Release durch. Bei einer großen, verteilten Infrastruktur stellt das Upgrade einer Cloud-Plattform eine eigenständige technische Aufgabe dar: Sämtliche Änderungen müssen im Kontext der bestehenden Architektur, individueller Entwicklungen und Integrationen mit anderen Komponenten überprüft werden.
Ein weiterer Arbeitsbereich umfasste Anpassungen der Plattformarchitektur und die Umsetzung komplexer Änderungen. Bei solchen Aufgaben müssen die Abhängigkeiten zwischen verschiedenen Diensten im OpenStack-Ökosystem sowie der anschließende Betrieb der aktualisierten Infrastruktur berücksichtigt werden.
Nach der Implementierung der Änderungen betreute das Team die Plattform weiterhin im Rahmen des Day-2-Betriebs und des Entwicklungssupports. Cloudification trug damit über die Jahre sowohl zur Entwicklung einzelner Lösungen als auch zum laufenden Betrieb und zur kontinuierlichen Weiterentwicklung der Infrastruktur in mehr als 15 Produktionsregionen bei.

Neue Funktionen & Integrationen
OpenStack-Funktionen, Treiber, Integrationen und Upstream-Beiträge

OpenStack-Upgrades
Release-Upgrades ab OpenStack Train

Architekturanpassungen
Komplexe Änderungen an miteinander verbundenen OpenStack-Diensten

Day-2-Betrieb
Laufender Betrieb, Entwicklungssupport und kontinuierliche Weiterentwicklung der Plattform
Ergebnis
Cloudification unterstützte die Entwicklung, Skalierung und den laufenden Betrieb der auf OpenStack und Kubernetes basierenden Private-Cloud-Plattform des Kunden.
Das Projekt umfasste die Implementierung neuer OpenStack-Funktionen, Treiber und Integrationen, OpenStack-Release-Upgrades sowie Anpassungen der Plattformarchitektur.
Die Umsetzung komplexer Änderungen und der Day-2-Betrieb erstreckten sich über mehr als 15 Produktions- und QA-Regionen..
Das Projekt ermöglichte die kontinuierliche Weiterentwicklung einer großen, verteilten OpenStack-Infrastruktur, einschließlich des laufenden Betriebs und der Weiterentwicklung der Cloud-Plattform selbst.
15+ Produktions- und QA-Regionen
Entwicklung, Upgrades, Architekturanpassungen und Day-2-Betrieb in einer großen, verteilten OpenStack-Umgebung.
Technologien
OpenStack
Kubernetes
Concourse CI
Python
Golang
NetApp
Helm
Prometheus
OpenSearch
Plutono
Terraform