c't 5/2016
S. 116
Know-how
Container: Orchestrierung
Aufmacherbild

Tanz der Container

Container-Orchestrierung mit Docker-Tools und Kubernetes

Richtig Sinn machen Container erst, wenn man sie massenweise einsetzt. Orchestrierungs-Tools organisieren das Zusammenspiel und automatisieren den Container-Betrieb. Wir zeigen an einem konkreten Beispiel, wie das mit den Docker-Werkzeugen Compose, Machine und Swarm sowie mit Googles Kubernetes funktioniert.

Erfolgreiche Webanwendungen finden schnell mehr Anwender, als die Entwickler sich das ursprünglich gedacht haben. Bei einem einfachen Webserver mit statischen Inhalten mag es ausreichen, Software und Inhalte auf mehrere Maschinen zu kopieren und einen Load-Balancer davor zu stellen. Moderne Webanwendungen enthalten allerdings auch Anwendungslogik, die ihre Daten dauerhaft in einer Datenbank speichert – da wird es komplizierter.

Skalierbare Anwendungen

Ein schlichtes Web-Frontend erlaubt den Zugriff auf die To-do-Liste. Für die Programmlogik dahinter sorgt ein kleines Go-Programm.

Ein Beispiel soll das illustrieren. Ein junges Start-up kommt auf die bahnbrechende Idee, eine öffentliche To-do-Liste bereitzustellen. Jeder darf Einträge zu der Liste hinzufügen, sie nach Erledigung löschen oder einfach nachschauen, was alles zu tun ist.

Die Entwickler stellen schnell fest, dass auf einen Schreibzugriff der Datenbank ein Vielfaches an Lesezugriffen kommt – das ist bei Web-Anwendungen häufig der Fall. Ideal wäre also eine Datenbank, die auf einem Knoten die Schreibzugriffe entgegennimmt und die Daten auf viele Leseknoten verteilt, auf denen die Daten nicht verändert werden dürfen. Die NoSQL-Datenbank Redis ist so eine Datenbank mit eingebauter Replikation.

Weitere Bilder

Tanz der Container (1 Bilder)