Die zentralen Eigenschaften von Containern lassen sich in wenigen Sätzen zusammenfassen: Sie liefern Programmcode und notwendige Abhängigkeiten in einem isolierten Paket und laufen in einer einzelnen Instanz des Host-Betriebssystems. Und zwar entweder direkt auf der physikalischen Hardware oder in einer virtuellen Maschine und egal, ob im unternehmenseigenen Rechenzentrum oder in einer Public Cloud. Container unterscheiden sich eindeutig von der Hypervisor-Virtualisierung, denn diese verknüpft die virtuellen Maschinen mit einem kompletten Betriebssystem und dieses Konstrukt verursacht einen beachtlichen Overhead. Um diesen Schwachpunkt zu beseitigen, enthält ein Applikations-Container bereits alle benötigten Abhängigkeiten wie die Middleware und Laufzeitumgebung. Dadurch können sich auf einem Server mehrere Container den Betriebssystem-Kernel teilen.
Container versprechen eine agile und kostengünstige Entwicklung, denn sie lassen sich schnell und komfortabel zwischen und innerhalb von Entwicklungs-, Test- und Betriebsumgebungen portieren. Damit sind Unternehmen in der Lage, viele organisatorische Probleme der klassischen Software-Entwicklung in großen Projekten zu lösen. Es müssen nicht mehr Dutzende von Programmierern an einer einzigen Applikation arbeiten. Stattdessen gibt es kleine Teams, die sich auf bestimmte Teilaufgaben und Prozesse konzentrieren und damit deutlich agiler arbeiten können.
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.