© Excellent backgrounds/Shutterstock.com
Java Magazin
DC/OS für Java-Entwickler

Containerorchestrierung fest im Griff

In Zeiten von Docker, Big Data und Microservices wird es immer wichtiger, verteilte Anwendung sinnvoll und dynamisch auf Cluster verteilen zu können und dabei trotzdem noch den Überblick zu behalten. Daher werden Clustermanagementsysteme wie Apache Mesos und DC/OS immer wichtiger. Dabei geht es nicht nur um die Orchestrierung von Containern, sondern auch um die Verwaltung von persistenten Daten, die fehlertolerante Auslegung der Anwendungslandschaft und die optimale Auslastung der Ressourcen im Cluster.

Johannes Unterstein


Video: Containerorchestrierung mit Mesos – DC/OS für Java-Entwickler

Schaut man sich die Ressourcenauslastung vieler aktueller Cluster an, stellt man mit Schrecken fest, dass sie sich häufig im Bereich von 10 bis 15 Prozent befindet. Das ist nicht verwunderlich, da viele Anwendungen darauf ausgelegt sind, auf ganz bestimmten Knoten des Clusters zu laufen. Und natürlich müssen auch Lastspitzen abgedeckt werden. Da meist nur eine Anwendung pro Knoten läuft und ihn dadurch charakterisiert, spricht man auch von einer statischen Partitionierung des Clusters. Ein dynamisches Verteilen freier Ressourcen, auch wenn Knoten ausfallen, findet nur in seltenen Fällen statt. Häufig kann man beobachten, dass bestimmte Anwendungen Lastspitzen zu einer Tageszeit haben und andere Anwendungen wiederum zu einer anderen. Da aber beide Anwendungen separat betrachtet und freie Ressourcen nicht dynamisch verteilt werden können, müssen wir beide Anwendungen separat bezüglich ihrer Lastspitzen optimieren.

An genau diesem Punkt kommen Mesos und DC/OS ins Spiel. DC/OS, das Datacenter Operating System, ist eine Plattform für den Betrieb von Microservices, traditionellen Datenbanken sowie Big- und Fast-Data-Anwendungen. Es baut auf Mesos auf, das genutzt wird, um beispielsweise Twitter oder Apple Siri zu betreiben und dynamisch skalieren zu können (Abb. 1).

Mesos: Abstraktion weg vom Cluster

Mesos abstrahiert den Fakt, dass man mit einem Cluster arbeitet, und lässt es sich anfühlen, als würde man mit einem einzigen Server interagieren. Das Ziel dabei ist es, die im Cluster verfügbaren Ressourcen auf alle Anwendungen zu verteilen und so dynamisch auf Anforderungen reagieren zu können. Auch die Auslastung der Knoten lässt sich so erhöhen.

Abb. 1: Ressourcenauslastung traditionell vs. DC/OS

Mesos implementiert eine Scheduling-Architektur auf zwei Ebenen. Es verfolgt das Ziel, freie Ressourcen, wie CPU, Arbeitsspeicher (Memory) oder Festplattenspeicher (Disk), fair den verschiedenen Schedulern anzubieten, Anwendungen auf diesen Angeboten zu starten und den Zustand dieser Anwendungen zu überwachen und zu berichten. Mesos selbst besteht dabei aus zwei Arten von Knoten: Mesos Master und Mesos Agents. Die Mesos Master verwalten den Zustand des Clusters und sind rein als Managementknoten tätig, wohingegen Mesos Agents rein für die Ausführung von Anwendungen zuständig sind. Mesos Master sollten hoch verfügbar ausgelegt sein. Hierbei wird der führende Master-Knoten über ein ZooKeeper-Quorum ...

Java Magazin
DC/OS für Java-Entwickler

Containerorchestrierung fest im Griff

In Zeiten von Docker, Big Data und Microservices wird es immer wichtiger, verteilte Anwendung sinnvoll und dynamisch auf Cluster verteilen zu können und dabei trotzdem noch den Überblick zu behalten. Daher werden Clustermanagementsysteme wie Apache Mesos und DC/OS immer wichtiger. Dabei geht es nicht nur um die Orchestrierung von Containern, sondern auch um die Verwaltung von persistenten Daten, die fehlertolerante Auslegung der Anwendungslandschaft und die optimale Auslastung der Ressourcen im Cluster.

Johannes Unterstein


Video: Containerorchestrierung mit Mesos – DC/OS für Java-Entwickler

Schaut man sich die Ressourcenauslastung vieler aktueller Cluster an, stellt man mit Schrecken fest, dass sie sich häufig im Bereich von 10 bis 15 Prozent befindet. Das ist nicht verwunderlich, da viele Anwendungen darauf ausgelegt sind, auf ganz bestimmten Knoten des Clusters zu laufen. Und natürlich müssen auch Lastspitzen abgedeckt werden. Da meist nur eine Anwendung pro Knoten läuft und ihn dadurch charakterisiert, spricht man auch von einer statischen Partitionierung des Clusters. Ein dynamisches Verteilen freier Ressourcen, auch wenn Knoten ausfallen, findet nur in seltenen Fällen statt. Häufig kann man beobachten, dass bestimmte Anwendungen Lastspitzen zu einer Tageszeit haben und andere Anwendungen wiederum zu einer anderen. Da aber beide Anwendungen separat betrachtet und freie Ressourcen nicht dynamisch verteilt werden können, müssen wir beide Anwendungen separat bezüglich ihrer Lastspitzen optimieren.

An genau diesem Punkt kommen Mesos und DC/OS ins Spiel. DC/OS, das Datacenter Operating System, ist eine Plattform für den Betrieb von Microservices, traditionellen Datenbanken sowie Big- und Fast-Data-Anwendungen. Es baut auf Mesos auf, das genutzt wird, um beispielsweise Twitter oder Apple Siri zu betreiben und dynamisch skalieren zu können (Abb. 1).

Mesos: Abstraktion weg vom Cluster

Mesos abstrahiert den Fakt, dass man mit einem Cluster arbeitet, und lässt es sich anfühlen, als würde man mit einem einzigen Server interagieren. Das Ziel dabei ist es, die im Cluster verfügbaren Ressourcen auf alle Anwendungen zu verteilen und so dynamisch auf Anforderungen reagieren zu können. Auch die Auslastung der Knoten lässt sich so erhöhen.

Abb. 1: Ressourcenauslastung traditionell vs. DC/OS

Mesos implementiert eine Scheduling-Architektur auf zwei Ebenen. Es verfolgt das Ziel, freie Ressourcen, wie CPU, Arbeitsspeicher (Memory) oder Festplattenspeicher (Disk), fair den verschiedenen Schedulern anzubieten, Anwendungen auf diesen Angeboten zu starten und den Zustand dieser Anwendungen zu überwachen und zu berichten. Mesos selbst besteht dabei aus zwei Arten von Knoten: Mesos Master und Mesos Agents. Die Mesos Master verwalten den Zustand des Clusters und sind rein als Managementknoten tätig, wohingegen Mesos Agents rein für die Ausführung von Anwendungen zuständig sind. Mesos Master sollten hoch verfügbar ausgelegt sein. Hierbei wird der führende Master-Knoten über ein ZooKeeper-Quorum ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang