Zum Inhalt springen

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.