Ein Container ist eine Virtualisierungstechnologie, die dazu dient, einen portablen Formfaktor für Applications zu erstellen und zu unterstützen – mit anderen Worten, die Bereitstellung einer Application auf einer Reihe verschiedener Plattformen zu vereinfachen. Ein Container packt alle Anforderungen für die Application – den Application selbst, Abhängigkeiten wie Bibliotheken, die die Application zum Ausführen benötigt, und die Laufzeitumgebung für die Application und ihre Abhängigkeiten – in einen Formfaktor, der transportiert und plattformübergreifend unabhängig ausgeführt werden kann. Container sind eine Abstraktion einer Application von der typischen Laufzeitumgebung eines Betriebssystems.

Docker ist das bekannteste Containerimplementierungsformat. Es gibt jedoch auch andere Containertechnologien wie rkt/CoreOS, containerd, Hyper-V-Container und Technologien auf niedrigerer Ebene wie cgroups und Namespaces (beide werden ähnlich wie Container-Engines zur Application verwendet, bieten jedoch nicht die gleiche isolierte Portabilität wie Container). Sie können Plattformtools wie Docker oder rkt verwenden, um Container direkt zu verwalten, die meisten Bereitstellungen nutzen jedoch ein Orchestrierungstool wie Kubernetes für die Containerverwaltung. Obwohl es nicht erforderlich ist, entwickelt sich Kubernetes zum Standardtool für die produktionsreife Bereitstellung von Containern.

Container haben sich zu einer sehr beliebten Architekturwahl entwickelt, da sie es ermöglichen, eine Application in kleinere, diskrete Komponenten aufzuteilen und so eine Aufteilung zwischen Infrastrukturbesitzern und Entwicklern zu ermöglichen. Dies ist während der Entwicklung von Vorteil, weil es bedeutet, dass separate Teams parallel an den verschiedenen Komponenten arbeiten können, und während der Bereitstellung, weil es die Transportierbarkeit eines bestimmten Containers zwischen Plattformen ermöglicht. Container stellen außerdem ein optimiertes Tool für Application und Infrastrukturmanager dar, da sie unveränderliche Plattformen bereitstellen können, die es Entwicklern ermöglichen, Application für eine Reihe bekannter Anforderungen zu veröffentlichen, ohne Eigentümer dieser Anforderungen zu sein.

Der Begriff „Application “ wird häufig verwendet, um den Prozess der Migration einer Application von einer standardmäßigen Linux-Laufzeitumgebung in einen in sich geschlossenen Formfaktor zu bezeichnen, der in vielen Umgebungen ausgeführt werden kann. Viele Unternehmen sind auf dem Weg zur Containerisierung schon weit fortgeschritten und haben bereits mit der Migration auf einfache Container oder einer umfassenderen Containerverwaltungsstrategie mithilfe eines Tools wie Kubernetes begonnen.

Wie kann NGINX helfen?

Alle NGINX-Produkte können entweder in Containern ausgeführt werden – einschließlich NGINX Open Source , NGINX Plus (optional mit NGINX App Protect ), NGINX Unit , NGINX Service Mesh , NGINX Ingress Controller – oder basieren auf Container-Technologien ( NGINX Controller ).

Kontaktieren Sie uns noch heute, um zu erfahren, wie wir Sie bei der Bereitstellung moderner Apps unterstützen können .