Landing Page
Container bringen höhere Portabilität und Konsistenz mit sich, da der Container alles enthält, was zur Ausführung benötigt wird. Im Gegensatz zu virtuellen Maschinen (VMs) benötigen Container kein eigenes Betriebssystem, sondern nutzen den Kernel des Host-Betriebssystems. Dadurch sind sie kleiner und starten in Sekunden. Container und VMs sind beides Technologien zur Isolation von Anwendungen, unterscheiden sich jedoch grundlegend in ihrer Architektur, Ressourcennutzung und Portabilität. Der Hauptunterschied besteht darin, dass VMs die Hardware virtualisieren, während Container das Betriebssystem virtualisieren. Das bekannteste Beispiel für Containertechnologie ist Docker, oft im Zusammenspiel mit Kubernetes zur Orchestrierung der Container.
Container sind voneinander isoliert, was die Stabilität erhöht, da eine fehlerhafte Anwendung die anderen nicht beeinträchtigt. Sie vereinfachen den gesamten Lebenszyklus einer Anwendung – von der Entwicklung über das Testen bis zum produktiven Einsatz. Hauptanwendungsgebiete sind cloudnative Anwendungen und bilden die Basis für moderne Cloudarchitekturen. In Hybrid-Cloud-Strategien lassen sich mit Containern Anwendungen problemlos zwischen lokalen Rechenzentren Public Clouds verschieben. In Microservices erlauben es Container, komplexe Anwendungen werden in kleine, unabhängige Dienste aufzuteilen.
Zentrales Speicher- und Verwaltungssystem für Container-Images sind Registrys, die das Speichern, Teilen und Bereitstellen von Softwarecontainern ermöglichen. Sie dienen als Bibliothek für Anwendungs-Images und ermöglichen DevOps-Prozesse. Die bekanntesten Registrys sind Harbor, GitLab und Nexus.
Heute gilt "rootless" als Standard: Dies ist eine Container-Instanz, die von einem nicht-privilegierten Benutzer ohne root-Rechte auf dem Host-System erstellt, ausgeführt und verwaltet wird. So ermöglicht ein Ausbruch aus dem Container keinen Root-Zugriff auf den Host. Daneben spielen Techniken wie Image-Scans, Image-Signierung und Content Trust eine zentrale Rolle in Sicherheitskonzepten. Parallel gilt es, die Container vom Host-OS zu isolieren. Dabei kommen Namespaces, Cgroups und Seccomp/AppArmor zum Einsatz. Daneben dienen Tools wie Falco dazu, die Runtime Security durch das Monitoring von Prozessen innerhalb des Containers zu gewährleisten.
In Sachen Infrastruktur muss sich der IT-Verantwortliche mit den Storage-Konzepten für Container (Stateless vs. Stateful) vertraut machen. Darunter fallen auch Bind Mounts, Docker Volumes und die Integration in bestehende Storage-Systeme (CSI-Treiber). Zudem ist dafür zu sorgen, dass die Kommunikation zwischen Containern und der "Außenwelt" klappt. Dabei spielen Bridge-Netzwerke, Port-Mapping und Reverse-Proxy-Integrationen eine zentrale Rolle. Ebenso zentral sind Automatisierung und Lifecycle-Management.