Statt Docker und Kubernetes: Facebook braucht Tupperware für seine Container
Für seine eigenen Dienste verzichtet Facebook komplett auf Docker oder auch Kubernetes. Stattdessen nutzt das Unternehmen die Eigenentwicklung Tupperware für seine Container und setzt sonst auf Standard-Linux-Technik wie Systemd.

Vor allem das Unternehmen Docker hat in den vergangen Jahren mit seiner gleichnamigen Software die Container-Technik unter Linux vorangetrieben und quasi zum Mainstream werden lassen. Mit Kubernetes, das Ursprünglich von Google erstellt worden ist, hat sich die Container-Community auch auf einen Standard zur Orchestrierung geeinigt. Auch bei Facebook wird für die eigenen Dienste massiv auf Container-Technik gesetzt, nur eben völlig ohne Docker oder Kubernetes, wie der Facebook-Entwickler Zoltan Puskas auf dem Open Source Summit Europe in Prag erklärt.
- Statt Docker und Kubernetes: Facebook braucht Tupperware für seine Container
- Btrfs, Systemd und Cgroups für Container
Der Grund dafür scheint zunächst recht naheliegend zu sein: Als Facebook begonnen habe, Container zu nutzen, sei die Technik von Docker noch nicht verfügbar gewesen, so Puskas. Außerdem sei die Integration von Tupperware in bestehende Systeme von Facebook schlicht einfacher.
Doch aus dem Vortrag geht auch hervor, dass der Aufbau der Container-Lösung bei Facebook mit den eingangs genannten Techniken derzeit wohl nur schwierig umzusetzen wäre oder Facebook dafür zumindest sehr viel Portierungsarbeit leisten müsste.
Tupperware als rundum-sorglos Verpackung
Die verschiedenen Aufgaben von Tupperware lassen sich dabei analog zu den bekannten Container-Techniken beschreiben. So gibt es bei Facebook etwa einen Tupperware-Scheduler, der ähnliche Aufgaben übernimmt wie Kubernetes oder Swarm von Docker. Statt der Docker Engine oder Rkt von CoreOS nutzt Tupperware einen eigenen Agent zum Ausführen und Bereitstellen der Container.
Für die Netzwerkverbindungen der Nodes und Containeranwendungen setzt Tupperware auf das Konzept des Identifier Locator Addressing (ILA), das im Linux-Kernel unterstützt wird und bei dem Internet-Standardisierungsgremium IETF unter der Führung von Facebook diskutiert wird.
Die Idee von ILA ist es, IPv6-Adressen so zu aufzuteilen, dass ein dynamischer Teil den Ort eines Knotens im Netzwerk und ein statischer Teil den Knoten selbst beschreibt und damit unabhängig von seinem Einsatzort identifizierbar macht.
Das von CoreOS für Kubernetes erstellte Netzwerktool Flannel ist dagegen ein Daemon, der auf allen Hosts laufen muss und für deren Verknüpfung untereinander sorgt.
Wie zu erwarten, kann dann das Tupperware-System von den Facebook-Admins per Kommandozeilenwerkzeug oder eben über eine Web-Oberfläche gesteuert werden. Außer Tupperware macht sich Facebook für die eigentlichen Container noch eine Vielzahl von Linux-Techniken zu Nutze.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Btrfs, Systemd und Cgroups für Container |
- 1
- 2
Im Notfall Tupperware schlucken, und gut ist. ;)
Jetzt überleg noch einmal gut. Hier benutzt jemand Open Source Produkte und beschreibt...