Datenbanken containerisieren und skalieren

Ab ins Körbchen!

Klassische Datenbanken gelten als "Stateful"-Applikationen und passen damit theoretisch nicht in Container. Wie es mit den SQL-Klassikern unter Kubernetes dann doch sehr gut klappt und welche Datenbankoptionen Anwender für Scale-Out-Umgebungen haben, verrät unser Workshop. Dabei gehen wir unter anderem auf die Rolle von StatefulSets und mögliche Failover-Setups ein.
Als zentrale Informationsablage sind sie unabdingbar: Datenbanken. Sie kommen in den unterschiedlichsten Ausprägungen daher und wollen freilich sorgsam ... (mehr)

Viele Unternehmen möchten alte, monolithische Applikationen hin zu Scale-Out-Architekturen mit Containern migrieren. Leider stellt sich dieser Schritt weitaus komplizierter dar, als vielen IT-Abteilungen lieb ist. Eine cloudnative Architektur setzt voraus, dass die verschiedenen Komponenten der Applikationen über einen Message-Bus miteinander kommunizieren und sich somit auf verschiedene Knoten verteilen und skalieren lassen. Die große Herausforderung für den Entwickler ist dabei die Frage: Wo sichert die Applikation dann ihre Datenbestände?

Bislang übernahmen vorwiegend SQL-Datenbanken diese Rolle. Allerdings können nur sehr wenige SQL-Implementierungen als Cluster in einer Scale-Out-Architektur arbeiten. Dem Anwendungsentwickler bleibt nun die Wahl: entweder die bestehende Datenbanktechnologie in einem Container betreiben oder auf eine Scale-Out-Datenbank umsteigen. Diese Wahl stellt sich allerdings nur großen Unternehmen mit einer eigenen Softwareentwicklung. KMU hingegen arbeiten eher mit fertigen Werkzeugen und müssen daher zwangsläufig eine der Datenbanken nutzen, die ihre Applikation unterstützt.

Und hier zeigen sich die Entwickler ein wenig unflexibel: Trotz der stetig steigenden Zahl von NoSQL-Datenbanken für Scale-Out-Architekturen unterstützen viele Webapplikationen nach wie vor nur eine oder mehrere klassische SQL-Datenbanken. Zu den populärsten zählen dabei MariaDB (MySQL), PostgreSQL und Microsoft SQL. Wir zeigen deshalb im folgenden Workshop, wie Sie diese SQL-Klassiker zuverlässig in Containerumgebungen mit Docker/Podman oder Kubernetes betreiben, stellen aber auch ein paar interessante NoSQL-Ansätze vor.

Vertrauenswürdige Quellen

In einer richtigen Scale-Out-Applikation sollte der Ausfall eines einzelnen Containers keinen Einfluss auf die Applikation als solche haben. Daher gab es in frühen Implementierungen auch keine Funktion, um einem

...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023