© DrHitch/Shutterstock.com
Cloud Computing

4 Eine Einführung in den DC/OS Stack


Apache Mesos ist der Kernel für verteilte Systeme. Es bietet Anwendungen analog zum klassischen Betriebssystemkernel einheitliche Schnittstellen, um Ressourcen im Cluster zu verwalten und an Anwendungen zu vermitteln. Mesos ist der Kernbestandteil von DC/OS, einem Betriebssystem für die Cloud. Im Rahmen dieses Kapitels geben wir eine Einführung in Mesos und zeigen, wie man die beispielhafte Spring-Cloud-Anwendung Zwitscher auf DC/OS zum Laufen bringt.

Die Kernaufgabe von Mesos ist das Scheduling von Containern im Cluster. Mesos führt die Container dabei auf den Cloud-Knoten zuverlässig und ressourcenschonend aus. Rescheduling erfolgt bei Bedarf, z. B. beim Ausfall einer Ressource oder wenn alternative, passendere Ressourcen frei werden. Dann wird die Ausführung eines Containers auf eine andere Ressource verlagert. Mesos abstrahiert dabei die konkrete Infrastruktur hin zu Ressourcen wie Rechenleistung, Netzwerk oder Storage. Der Nutzer von Mesos übergibt lediglich einen Container zur Ausführung. Ob dieser dann in einer lokalen virtuellen Maschine, einer privaten oder öffentlichen IaaS Cloud oder auf klassischen Server Racks ausgeführt wird, verbirgt Mesos. Ebenso vermittelt Mesos je nach Bedarf Netzwerkverbindungen und Storage Mounts. Ziel ist, mehrere Mandanten und Anwendungen im Cluster genauso einfach und effektiv zu betreiben wie auf einem lokalen Rechner, damit die verfügbaren Ressourcen möglichst effektiv genutzt werden können.

Zusammenspiel mit einem Cluster-Orchestrierer

Mesos ist ein Cluster-Scheduler. Wie spielt Mesos mit einem Cluster-Orchestrierer zusammen? Das Zusammenspiel (Abb. 4.1) lässt sich am einfachsten erklären, wenn wir die Analogie zum klassischen Betriebssystem betrachten. Im klassischen Betriebssystem gibt es Ausführungseinheiten wie Prozesse und Threads und darüber Anwendungen. Eine Anwendung kann aus vielen Ausführungseinheiten bestehen, die alle möglichen Abhängigkeiten, Querbeziehungen und Eigenheiten mitbringen.

image

Abbildung 4.1: Der Cloud Native Stack: Mesos, Kubernetes, Spring Cloud

Der Kernel des Betriebssystems kennt nur Threads und Prozesse und weiß nichts von Anwendungen. Anwendungen werden von zusätzlichen Komponenten wie einem init-System für Services (sytemd oder initd) oder einem Applikationsserver gesteuert. Im Cluster erfüllt Mesos die Rolle des Kernels und bietet Ressourcenmanagement und -Scheduling. Mesos kennt als Ausführungseinheit Tasks, weiß aber nichts von Anwendungen. Ein Task ist die Ausführung eines Docker...

Neugierig geworden?

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