Container – ein Begriff, der von vielen wohl nicht mit IT in Verbindung gebracht wird. Das allerdings ändert sich aktuell, denn immer mehr Software-Hersteller nutzen die neue Technologie, die den Namen des Transportbehältnisses trägt, für die Bereitstellung ihrer Produkte.
Doch was verbirgt sich hinter dem Begriff und welche Gründe gibt es für die fortschreitende Verbreitung von Containern?
Die Geschäftswelt von heute dreht sich immer schneller und schneller. Partner, Kunden und auch die eigenen Beschäftigten erwarten mehr denn je kurze Reaktionszeiten. Mit stetigen Veränderungen umzugehen, gehört zu den neuen Herausforderungen, denen sich Unternehmen stellen müssen. Das gilt insbesondere in der IT. Verantwortliche jeglicher Unternehmen beschäftigen sich verstärkt mit der Skalierbarkeit, Portabilität, Verfügbarkeit und Vernetzung der jeweiligen Systeme. Tests und Weiterentwicklungen von Anwendungen müssen ohne großen Installationsaufwand der Umgebungstechnologien erfolgen. Die Ausfallsicherheit muss gegeben, die bedarfsbezogene Skalierung der kritischen Softwareplattformen jederzeit umzusetzen sein. Außerdem muss auch immer und schnell die neuste Version der Software installiert sein.
Möglich wird dies mithilfe von Containern, die aus diesem Grund zunehmend genutzt werden. Das zeigt auch eine aktuelle Studie, die die IT-Marktforscher von techconsult im Auftrag der Cronon AG durchgeführt haben. Darin geben 78 Prozent der befragten Unternehmen an, Container-Technologie künftig als festen Bestandteil ihrer Anwendungsentwicklung und -bereitstellung zu sehen.
Was sind Container?
Was also sind Software-Container genau? Das Kernziel bei der Entwicklung von Containern war, die Anwendungssoftware unabhängig vom Betriebssystem und Hardware-Ressourcen zu machen. Damit kann die Anwendungssoftware in verschiedenen IT-Umgebungen benutzt werden. Zuvor war es die Regel, dass jede Software die passenden Rahmenbedingungen benötigte, also beispielsweise eine spezielle Betriebssystemumgebung. Container verpacken Software in standardisierte Einheiten.
Bild 1: Virtualisierung vs Containerisierung: „Im Vergleich zu virtuellen Maschinen besitzen Container einen geringeren Ressourcenbedarf“ (Quelle: Ceyoniq Technology GmbH)
Im Cloud-Zeitalter ist dies ein wichtiger Vorteil, denn es ergibt sich die größtmögliche Freiheit für Unternehmen, was den Betrieb einer Software betrifft. Sie kann sowohl bei einem Cloud-Provider, in der Private Cloud oder ganz klassisch On Premise genutzt werden. Darüber hinaus bieten Container weitere Vorzüge:
- Standardisierung
- Sicherheit und Effizienz
- Ressourcenschonung
- Aktualität
- Modularität
Vorteile der Container-Technologie
Die Standardisierung von Software erleichtert ihre Auslieferung und Installation, weil dazu keine individuellen Anpassungen an der IT-Landschaft eines Unternehmens nötig sind. Bei Software, die in Containern ausgeliefert wird, werden verschiedene Bereiche getrennt: Konfiguration, Datenbereiche und die eigentliche Anwendung. Auf dieser Basis entfällt das manuelle Steuern von Updates durch einen Administrator. Möglich wird dies, weil containerisierte Software in Form von Container-Images ausgeliefert wird. Ein Image ist ein abgeschlossenes Abbild einer Software und ihrer Funktionsweise und erzeugt stets den gleichen, interoperablen Container.
Bild 2: Fünf Vorteile von Containerisierung: „Containerisierung bietet viele Vorteile, besonders hervorzuheben sind die in der Grafik aufgeführten“ (Quelle: Ceyoniq Technology GmbH)
Container-Anwendungen verwenden gemeinsame Hardwareressourcen, z. B. den Prozessor-Kernel oder den Hauptspeicher des Host-Rechners, werden aber voneinander durch die Container-Virtualisierung isoliert betrieben. Die Kommunikation erfolgt ausschließlich über dezidierte Schnittstellen. Die verbesserte Effizienz ergibt sich dadurch, dass für jede Ressource explizite Grenzwerte auf allgemeingültigen Metriken wie beispielsweise CPU-Ausnutzung und Arbeitsspeicher-Benutzung festgelegt werden können. Mit der effizienten Konfiguration von Container-Virtualisierungs-Umgebungen z. B. Docker können Anwendungen beendet werden, wenn sie nicht gebraucht werden und zusätzliche Komponenten gestartet werden, wenn ein Prozess überlastet ist.
Großes Sparpotenzial
Zudem schonen Container Server-Ressourcen, weil sie kein eigenes Betriebssystem benötigen, sondern im Kontext des Hostbetriebssystems laufen. So können auf einer Hardware mehr Lösungen parallel ausgeführt werden und Server- und Lizenzkosten verringert werden.
Containerbasierte Anwendungen lassen sich schnell und einfach aufsetzen. Dadurch wird das Updaten vorhandener und das Einspielen neuer Software deutlich vereinfacht. Eine Lösung stets auf dem aktuellen Stand zu halten, ist somit mit weniger Aufwand verbunden.
Bild 3: Automatisierte Software-Bereitstellung: „Die Container-Technologie ermöglicht ein automatisiertes Software Deployment“ (Quelle: Ceyoniq Technology GmbH)
Software auf Basis von Container stellt spezifische Dienste zur Verfügung. Aufgrund dieser Modularität können Anwendungen in jeder Größe in einem Container ausgeführt werden. Damit wird die physische Hardware effizienter genutzt.
Die genannten Vorteile ergeben gemeinsam ein großes Sparpotenzial für Unternehmen, die Software auf Basis von Containern einsetzen. Dieses ist etwa bei der verbesserten Nutzung der IT-Ressourcen anzusiedeln. CPU und Arbeitsspeicher werden geschont, weil Container im Vergleich zu virtuellen Maschinen kein Betriebssystem benötigen. Der Aufwand, der für die Pflege einer Anwendung anfällt, verringert sich ebenfalls und das Starten und Stoppen von containerisierten Anwendungen geht schneller vonstatten.
Ressourceneinsparung durch Konsolidierung
Vergleicht man den Ressourcenbedarf von Containern und virtuellen Maschinen, schneiden erstere besser ab. Werden Container eingesetzt, sinkt gleichzeitig der Bedarf an virtuellen Maschinen. Genau diese Ressourceneinsparung durch Konsolidierung ist es, die ein Großteil der Teilnehmer der techconsult-Studie als besonders relevant für ihr Unternehmen einstuft. IT-Verantwortliche, die ihre Systeme kostenbewusst betreiben möchten, sollten also über die Nutzung von containerisierter Software nachdenken.











