Cloud Infrastruktur - gestern und heute

Dieser Beitrag ist im August 2015 erschienen - have we come a long way?


Heute war Sebastian Hetze im Auftrag von RedHat bei uns, um uns im Bezug auf RedHats Aktivitäten rund um Project Atomic und die Integration von Kubernetes und Project Atomic "aufzuschlauen" (um mal o2-Sprech zu verwenden). Project Atomic ist - wie ich bereits in einem anderen Blog Post erwähnt hatte - RedHats Lösung für Kunden, die auf Container und Immutable Infrastructure setzen und sich gleichzeitig der Werkzeuge im RedHat Portfolio (z. B. Satellite-Server) bedienen wollen. RedHat setzt zur Orchestrierung von Containern innerhalb eines Clusters aus Atomic-Nodes auf Kubernetes von Google. Schematisch stellt sich so ein Setup wie folgt dar:

Links der Master/Controller und rechts die einzelnen Atomic Nodes mit den lokalen Diensten von Kubernetes sowie den eigentlichen Containern auf Basis von Docker. Eine etwas detailliertere Darstellung zeigt auch die Kommunikationswege zwischen den einzelnen Komponenten:

Dabei werden die verschiedenen Netzwerkkonzepte von Docker und Kubernetes übereinandergeschichtet. Die Kommunikation zwischen den Atomic-Nodes resp. den Docker Hosts wird per flannel und etcd sichergestellt. Die Kommunikation nach aussen, stellt Kubernetes mit dem kube-proxy her. Das kann natürlich ganz schön verwirrend werden, wenn dann noch zusätzlich Netzwerkebenen einer IaaS-Schicht (wie z. B. OpenStack oder VMWare) dazukommen.

Zurück zum Titel dieses Postings: Ich hatte ja schon ein paarmal das Produkt erwähnt, welches ich gerade nebenher vor dem Hintergrund der Anforderung, Docker mandantenfähig als Serviceprovider für Kunden anbieten zu können, evaluiere: Joyents Triton resp. SmartDatacenter. Dessen Architekturdiagramm sieht so aus:

Die Parallelen sind verblüffend. Und dabei ist SmartDatacenter 7 schon vor einem Jahr released worden (als der Begriff "Microservice Architecture" noch gar nicht geprägt war). SmartDatacenter (oder Triton, wie es heute heisst), setzt stark auf die Technologien, die das darunterliegende Betriebsystem Illumos resp. SmartOS als aktuelle Inkarnation von OpenSolaris mitbringt: ZonesZFS und Netzwerkvirtualisierung mit Crossbow. SmartDatacenter war von Anfang an mandantenfähig ausgelegt. Die Netzwerkvirtualisierung unterstützt VXLAN (also virtuelle VLANs), um Kunden auch auf Netzwerkebene voneinander zu trennen, wenn keine "echten" VLANs verwendet werden (können). Docker Container werden als "Linux Branded Zones" gestartet und sind deshalb komplett isoliert. Eine Orchestrierungsschicht fehlt allerdings. Doch solange diese die Docker-API benutzt, sollte sie auch auf einer SmartDatacenter-Infrastruktur Docker Container orchestrieren können. Ich bin mal gespannt, wann die ersten Ansätze dafür zu sehen sind. Ein Plugin für OpenStacks Heat gibt es immerhin.