Die steigende Komplexität der Cloud

Das Zeitalter der Container hat begonnen

von - 20.04.2018
Bekannte Container-Technologien, wie Packer, Shipyard oder Linuxcontainers haben in den letzten Jahren einen enormen Erfolg in puncto Infrastruktur-Lösungen verzeichnet. Doch der absolute Liebling ist und bleibt Docker. Laut dem Datadog Docker Adoption Report, welcher 2017 Stichproben von mehr als 10.000 Unternehmen und mehr als 200 Millionen Container analysierte, nahm die Nutzung von Docker im Jahresvergleich um 40 Prozent zu. Mit dem Anstieg der Nutzungsrate von Docker nimmt auch der Gebrauch von Orchestrierungstools für das Cloud-Management zu. Zu den bekanntesten Lösungen zählt wohl Kubernetes. Bereits 40 Prozent der Docker-User setzen mittlerweile auf Kubernetes. Das sind 11 Prozent mehr, als im Jahr 2017. Doch auch andere Orchestrierungslösungen wie etwa Apache Mesos, Amazon Elastic Container Service (ECS) oder Azure, werden immer häufig genutzt.

Im Vergleich zu traditionellen, virtuellen Maschinen sind Container viel dynamischer. Während des Betriebs einer Applikation auf einer virtuellen Maschine sind nebenher noch zahlreiche weitere Ressourcen von Nöten. Das Resultat? Abhängigkeit. So gehören benötigte Bibliotheken, ein Betriebssystem oder weitere Dienste und Anwendungen zwingend dazu. Wohingegen ein Docker-Container nur die eigentlichen Anwendungen mit den dazugehörigen Abhängigkeiten umfasst. Grund hierfür ist, dass dieser als separater Prozess auf dem Host-Betriebssystem ausgeführt wird und er sich den Linux Kernel mit weiteren Docker-Containern teilt. Dadurch, dass die Prozesse strickt getrennt ausgeführt werden, haben mehrere Container auf dieselben Kernel-Ressourcen Zugriff. Dabei lässt sich Punkt genau für jeden Container festlegen, welche und wie viele Ressourcen, RAM sowie Bandbreite ihm während des Prozesses zur Verfügung stehen.

Komprimierte Lebensdauer

Container haben nur eine sehr kurze Lebenserwartung. Innerhalb kürzester Zeit können sie vom Nutzer gestoppt oder gar aufgelöst werden. Wenn dies geschieht, sind alle jemals angesammelten Daten des Containers gelöscht. Die Daten können aber auch ebenso schnell wiederhergestellt werden. Das macht sie im Grunde genommen zu sogenannten Einwegartikeln. Selbstverständlich können Container aber auch über einen längeren Zeitraum hinweg auf Anwendungsservern, Datenbanken oder für Web Services genutzt werden. Jedoch wird der Nutzungszeitraum der Container aktuell weiter von Orchestrierungstools, wie etwa Kubernetes, verkürzt, da sie bei Bedarf an- und ausgeschaltet werden.

Die Verdichtung von Containern und deren geringere Lebenserwartung wirkt sich natürlich auch auf die Überwachung der Infrastruktur aus. Das bringt Host-basierte Monitoring-Lösungen, sofern diese noch genutzt werden, relativ schnell an ihre Grenzen. So müssen diese nämlich entweder die Container als Host bewerten, welche von Minute zu Minute erscheinen und wieder gehen (das ist sehr schlecht, weil das System so die Hälfte der Zeit denkt, dies zeuge von einem Ausnahmezustand), oder aber sie werden gar nicht getrackt (das ist ebenso sehr ungünstig, da so Schwachstellen entstehen). Daher können nur Rollen-basierte-Lösungen mithalten, die dazu in der Lage sind mit Ebenen und Tags zu arbeiten.
Verwandte Themen