Webhosting 4.0
Moderne Webhosting-Plattform auf Basis von Docker und Kubernetes. Automatische Bereitstellung und Updates fuer WordPress, Shopware, Joomla und Typo3 — vom klassischen Stateful-System zur skalierbaren Stateless-Architektur.
2020
Projektjahr
Webdienste
Branche
Docker / K8s
Plattform
DevOps
Rolle
Ausgangslage
Ein Webhosting-Anbieter betrieb eine klassische Hosting-Infrastruktur, bei der Kundenumgebungen auf dedizierten oder virtuellen Servern mit stateful-Konfigurationen liefen. Jede Umgebung wurde individuell eingerichtet und gewartet, was zu hohem Verwaltungsaufwand und langen Bereitstellungszeiten führte. CMS-Plattformen wie WordPress, Shopware, Joomla, Typo3 und Nextcloud mussten manuell aktualisiert und gepflegt werden.
Die Vision war ein vollständig containerbasiertes Hosting-Modell der vierten Generation, das den Übergang von Stateful zu Stateless ermöglicht. Automatische Updates, Quality Gates und eine einheitliche Plattform für unterschiedliche CMS-Systeme sollten den Betrieb grundlegend modernisieren.
Herausforderung & Ansatz
Herausforderung
- Migration bestehender Kunden von Stateful auf Stateless ohne Datenverlust
- Heterogene CMS-Landschaft mit unterschiedlichen Anforderungen
- Automatische Updates bei gleichzeitiger Stabilität der Kundenumgebungen
- Skalierbarkeit für wachsende Kundenzahlen sicherstellen
Ansatz
- Containerisierung aller CMS-Plattformen mit Docker und Kubernetes
- GitLab CI/CD Pipelines für automatisierte Deployments
- Quality Gates vor jedem Update zur Sicherstellung der Funktionalität
- Trennung von Applikation und Daten durch persistente Volumes
Umsetzung
Container-Architektur
Jede Kundenumgebung wurde in einem eigenen Docker-Container gekapselt. Die Container-Images basierten auf standardisierten Base-Images, die für die jeweilige CMS-Plattform optimiert waren. WordPress, Shopware, Joomla, Typo3 und Nextcloud erhielten jeweils eigene Image-Definitionen mit vorinstallierten Abhängigkeiten und gehärteter Konfiguration. Die Orchestrierung erfolgte über Kubernetes, verwaltet über die Rancher UI.
Automatisierte Updates und Quality Gates
Ein zentraler Bestandteil der Plattform war das automatisierte Update-System. Neue Versionen der CMS-Plattformen wurden in einer Staging-Umgebung getestet, bevor sie auf Produktivumgebungen ausgerollt wurden. Quality Gates prüften dabei die Erreichbarkeit der Seite, die Funktionalität kritischer Komponenten und die Datenbankintegrität. Nur wenn alle Gates bestanden wurden, erfolgte das Deployment auf die Produktivumgebung.
Datenbank-Backends und Monitoring
Die Datenbank-Schicht unterstützte PostgreSQL, MariaDB, MySQL sowie spezialisierte Stores wie InfluxDB für Metriken und Redis für Caching. Das Monitoring wurde über Icinga2, Prometheus und Grafana realisiert. Log-Aggregation und -Analyse erfolgte über den ELK Stack, der zentrale Einblicke in das Verhalten aller Container-Instanzen ermöglichte.
Stateless-Prinzip
Der Wechsel von Stateful zu Stateless bedeutet, dass Container jederzeit zerstört und neu erstellt werden können, ohne Daten zu verlieren. Persistente Daten werden außerhalb des Containers in Volumes gespeichert. Das ermöglicht horizontale Skalierung und vereinfacht das Update-Management erheblich.
Kenntnisse
Infrastruktur
- Docker
- Kubernetes
- Rancher UI
Tools
- GitLab CI/CD
- ELK Stack
- Grafana
Datenbanken
- PostgreSQL
- MariaDB / MySQL
- InfluxDB / Redis
Betriebssysteme
- SLES 15
- RHEL
- Ubuntu
Ergebnis & Fazit
Ergebnis
- Vollständig containerbasierte Hosting-Plattform für fünf CMS-Systeme
- Automatisierte Updates mit Quality Gates und Rollback-Mechanismus
- Umfassendes Monitoring über Prometheus, Grafana und ELK Stack
- Deutlich reduzierte Bereitstellungszeiten für neue Kundenumgebungen
Fazit
Die Migration auf eine containerbasierte Plattform transformierte den Hosting-Betrieb grundlegend. Durch die Trennung von Applikation und Daten, automatisierte Quality Gates und eine robuste Orchestrierung mit Kubernetes konnte die Plattformstabilität erhöht und der Verwaltungsaufwand gesenkt werden. Das Projekt zeigte, dass auch heterogene CMS-Landschaften effizient in einer einheitlichen Container-Infrastruktur betrieben werden können.
