Container und ihre Vorteile
Container und ihre Vorteile

Container und ihre Vorteile

Wenn unsere Kollegen aus der Technik über Container sprechen, dann meinen sie nicht die großen, quaderförmigen Metallbehälter, die Sie aus dem Hamburger Hafen kennen. Nein, die Kollegen meinen dann eine Standardsoftwareeinheit, die Anwendungen von ihrer Umgebung isoliert und transferierbar macht, ohne dass der Server heruntergefahren werden muss.

Stellen Sie sich Container als leichtgewichtige Schubladen vor, die Sie abschließen können und in denen Anwendungen ausgeführt werden. Diese Schublade können Sie dann ganz einfach aus dem einen Schrank herausnehmen und in einen anderen hineinschieben.

Auf der aktuellen Server-Serie setzen wir genau solche Container ein, damit Sie mithilfe unseres neuen App-Installers bestimmte Anwendungen ohne großen Aufwand installieren können. Wie das funktioniert und welche Vorteile Ihnen Container bieten, erfahren Sie in diesem Blog-Beitrag.

Was sind Container?

Um zu verstehen, wie Container funktionieren, müssen wir uns zunächst vor Augen führen, dass die meisten Webanwendungen unterschiedliche Softwarekomponenten auf dem Server voraussetzen. Liegen diese Komponenten in verschiedenen Containern, kann jede für sich gepflegt, aktualisiert und unabhängig von den anderen modifiziert werden. Zusammen ergeben die verschiedenen Container und die darauf liegenden Komponenten eine funktionale Einheit mit leicht austauschbaren Teilen.

Container isolieren Software von ihrer Umgebung und stellen sicher, dass diese gleichbleibend arbeitet, auch wenn sich die Umgebung verändert. So können Anwendungen, die in Containern laufen, unabhängig vom Betriebssystem zum Einsatz kommen.

Der Code wird in all seinen Abhängigkeiten gespeichert. Auf diesem Weg wird die Anwendung schnell und zuverlässig auf den unterschiedlichsten Umgebungen lauffähig.

Ein Container enthält alles, was zum Ausführen der Anwendung nötig ist:

  • Programmcode
  • RunTime-Engines
  • Systemtools
  • Systembibliotheken
  • Einstellungen

Das macht Container nicht nur unabhängig, sondern auch zwischen Servern transferierbar.

Was ist der Unterschied zwischen Containern und VMs?

Container sind also eine Möglichkeit, mehrere Instanzen, Web Apps oder Dienste isoliert voneinander den Kern des Betriebssystems ressourcenschonend nutzen zu lassen.

Dagegen enthalten VMs (Virtuelle Maschinen) vollständige Kopien eines Betriebssystems. Hinzu kommen die Anwendung selbst, alle erforderlichen Binärdateien und Bibliotheken. Dies beansprucht nicht nur deutlich mehr Speicherplatz als containerisierte Anwendungen, sondern sorgt auch für einen erheblich größeren Zeitaufwand beim Booten.

Für die Virtualisierung wird ein Hypervisor zur Emulation der Hardware eingesetzt. Simpel gesagt, stellt also eine Software (der Hypervisor) die Hardware und damit die Umgebung, auf der das Betriebssystem läuft, nach. Das ermöglicht die zeitgleiche Ausführung mehrerer Betriebssysteme.
Auf der anderen Seite teilen sich Container den Betriebssystem-Kernel. Da sie die Anwendungsprozesse vom Rest des Systems isolieren, können sie zwar sehr gut portiert werden, sie müssen aber mit dem zugrunde liegenden System kompatibel sein.

Welche Vorteile haben Container?

Sowohl VMs als auch Container haben ihre Vorzüge. Aber gerade, dass sich containerbasierte Anwendungen so leicht installieren und zwischen Servern transferieren lassen, ist dabei ein Pluspunkt aufseiten der Container.

Anwendungen, die auf Containern laufen, können fast aus dem Stand gestartet werden. Bei VMs müssen für den Boot-Vorgang dagegen einige Minuten geopfert werden. Ein Container ist also ‘just in time’ nutzbar, wenn die Anwendung gebraucht wird und verschwindet anschließend wieder. Das spart nicht nur Ressourcen, sondern auch Zeit. In den meisten Fällen sind Container nicht größer als wenige hundert Megabyte. Eine VM dagegen kann mit ihrem eigenen Betriebssystem mehrere Gigabyte umfassen. Ein einzelner Server kann demzufolge im Normalfall wesentlich mehr Container als virtuelle Maschinen hosten.

Dass Container die Anwendungen nicht nur voneinander, sondern auch von ihrer Umgebung trennen, ist ein entscheidender Vorteil. Das macht es dem Nutzer leicht, zu bestimmen, wie eine containerisierte Anwendung die vorhandenen Ressourcen (CPU, GPU und Netzwerk) im jeweiligen System nutzen soll. Außerdem stellt diese Isolierung auch die Trennung von Daten und Code sicher. Dadurch, dass Daten außerhalb des Containers gespeichert werden, ist auch die Aktualisierung von Containern ganz einfach. Der komplette Container kann einfach durch die jeweils aktuelle Version ersetzt werden. Das dauert im Normalfall auch nur wenige Sekunden.

Es gibt verschiedene Gründe, warum wir uns für die Nutzung von Containern entschieden haben. Das heißt aber nicht, dass bei uns keine konventionellen Server oder VMs mehr im Einsatz sind. Vielmehr kombinieren wir diese Komponenten, um Ihnen das Beste aus allen Welten bieten zu können. Denn im Zusammenspiel ergeben VMs und Container ein leistungsstarkes und flexibles System, um Ihre Anwendungen zu installieren und zu verwalten.

Für weitere Fragen stehen wir Ihnen wie gewohnt gerne zur Verfügung.

Jetzt Kontakt aufnehmen ▶

Testen Sie uns 14 Tage kostenlos Jetzt testen