pattilabelle - Fotolia

Betriebskosten von AWS EC2-Instanzen versus Docker-Container

Fans von Docker weisen darauf hin, dass es für die Anwendungsbereitstellung Vorteile hat. Aber was bedeutet das für AWS EC2-Instanzen? Ein Kostenvergleich.

Während die Begeisterung für Docker weiter ansteigt, plädieren die Befürworter der Technologie für den Einsatz von Docker-Containern auf AWS. Um aber wirklich zu verstehen, wie Docker im Umfeld von Amazon EC2-Instanzen funktioniert, ist es hilfreich, einen Probelauf zu machen.

Dabei werden die Kosten von Docker-Containern unter verschiedenen Konfigurationen auf einem System mit vier Anwendungen, die jeweils sechs GB Speicher benötigen, untersucht. Alle vier Applikationen laufen mehr oder weniger gleichzeitig, wobei jede Anwendung unabhängig voneinander Nutzungsspitzen hat.

Berechnung der Container-Kosten

Die Tabelle unten zeigt, wie Sie die vier Instanzen auf verschiedene Weise ausführen können. Die erste Spalte beschreibt eine prototypische Konfiguration mit mehreren EC2-Instanzen. Die zweite Spalte beschreibt eine einzelne große Instanz mit Docker. Und die dritte Spalte beschreibt die gleiche große Instanz, die ohne Docker läuft.

Jede Anwendung kann auf einer m3.large-Maschine in einer Single-Tenancy-Konfiguration laufen. Alle vier Anwendungen können auf einem m3.2xlarge betrieben werden, wobei diese Maschine vier Docker-Instanzen hat. Darüber hinaus konnten vier Maschinen Ressourcen gemeinsam nutzen und nativ auf dem gleichen m3.2xlarge auf Betriebssystemebene laufen.

Vergleicht man Docker-Container mit der Nicht-Docker-Konfiguration auf der größeren Maschine, so sind sie bis auf den Burst-Modus gleichwertig. Die größere Maschine hat acht CPUs, die in der Docker-Konfiguration fest zugeordnet sind. Jede App kann alle acht CPUs nach Bedarf nutzen. Da es aber unwahrscheinlich ist, dass alle vier Anwendungen genau die gleichen CPU-Anforderungen zur gleichen Zeit haben, sind mehr CPUs für Anwendungen in der Nicht-Docker-Konfiguration verfügbar.

Kosten von Docker Container versus EC2-Instanzen
Abbildung 1: Kosten von Docker Container versus EC2-Instanzen

Ein ähnliches Szenario gibt es, wenn man den Festplattenspeicher betrachtet. Die größere Maschine verfügt insgesamt über 160 GiB lokalen Festplattenspeicher, der in Docker starr geteilt werden muss. In einer nativen Konfiguration kann jede Anwendung eine dynamische Menge an Speicherplatz verwenden. Aber eine Anwendung kann auch mehr als ihren regulären Festplattenanteil nutzen, so dass weniger Speicherplatz für die anderen Anwendungen zur Verfügung steht.

Docker-Hype versus Realität

Docker-Container sind also nicht unbedingt billiger oder leistungsfähiger als die direkte Nutzung von EC2-Instanzen. Warum aber bekommen sie dann so viel Aufmerksamkeit?

Ein Bereich, in dem Docker punktet, ist die Bereitstellung von Demonstrationssystemen. Wenn Sie ein komplexes Multi-Applikationssystem testen oder prototypisch einsetzen, können Container nützlich sein. Sie ermöglichen es, ein einziges Docker-Image zu starten. In einer Prototyp-Umgebung sind Konfigurationsfaktoren wie die langfristigen Betriebskosten oder die effektive Ressourcennutzung weniger wichtig als die Notwendigkeit, das System schnell einzusetzen.

Andererseits verfügt AWS über spezielle Technologien, die den Einsatz komplexer Systeme erleichtern. Elastic Beanstalk zum Beispiel erstellt eine einfache Konfiguration für die Bereitstellung einer Standard-Webanwendung.

Welche Position man auch immer zu Docker einnimmt: Die Unternehmens-IT sollte diesen Bereich genauestens verfolgen. Große Unternehmen wie Google und Microsoft unterstützten seit kurzem Docker-ähnliche Technologien. Andere werden sicher folgen.

Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Data Protection für Container: Docker-Backups umsetzen.

Das ist beim Einsatz von Docker-Containern wichtig.

Wie eine Docker-API gegen Unternehmen eingesetzt werden kann.

Erfahren Sie mehr über Cloud Computing