Container machen agiler
Im Gespräch mit Haiko Hertes von SoftwareOne
Vom Einsatz von Containern profitieren vor allem Firmen, die Software entwickeln, so Haiko Hertes, Azure Cloud Architect beim IT-Unternehmen SoftwareONE sowie Microsoft Most Valuable Professional (MVP) und Microsoft Certified Trainer (MCT). Falsch liegt seiner Ansicht dagegen, wer Container als universelle Lösung oder als Ersatz von Virtual Machines betrachtet.
Computerworld: Herr Hertes, wie ist Ihrer Erfahrung nach der Status von Container-Technologien in Unternehmen?
Computerworld: Aus meiner Sicht war der Hype um Container viel zu gross. Klar, Container haben im richtigen Szenario deutliche Vorteile gegenüber den Alternativen, speziell im Vergleich zu klassischen virtuellen Maschinen. Aber das Szenario muss eben passen. Container sind keinesfalls eine Universallösung für alles und jeden.
Computerworld: Wann kommen Container in Betracht?
Hertes: Sie sind insbesondere für den Betrieb von Test- und Produktivumgebungen auf Basis von Microservices in der Software-Entwicklung ein passendes Mittel. Von daher ist die Akzeptanz bei Firmen, die selbst Anwendungen entwickeln, deutlich höher als bei denen, die das nicht tun. Bei einem grossen Teil der Firmen, die Cloud-Technologien einsetzen oder dies planen, ist jedoch die Cloud gedanklich nur ein weiterer Data-Center-Standort oder ein Ersatz für den On-Premise-Server-Raum. Hier spielen die traditionellen VMs eine deutlich grössere Rolle als Container.
Computerworld: Sind Virtual Machines und Container somit Rivalen oder ergänzen sich diese Technologien?
Hertes: Beide Technologien ergänzen sich. Virtuelle Maschinen sind flexibler, was die Ausgestaltung angeht, Container dagegen unabhängiger bezüglich der Betriebsumgebung und leichtgewichtiger. Es gibt somit Szenarien, in denen Container schlecht geeignet sind, zum Beispiel wenn es um die persistente Speicherung von Daten geht. Daher werden VMs wohl mittelfristig weiterhin bestehen bleiben. Eine langfristige Prognose ist aber nicht möglich.
Computerworld: Wo lassen sich Container-Technologien wie Docker und Management-Lösungen wie Kubernetes am besten einsetzen?
Hertes: Ein häufig angeführter Vorteil von Containern ist deren Portabilität. Das Container-Image kann sowohl auf einem Entwickler-PC als auch auf On-Premise-Servern sowie bei verschiedenen Cloud-Anbietern als Container betrieben werden. Dadurch lassen sich Container zum Beispiel bei CI/CD-Pipelines (Continuous Integration/Continuous Delivery) in der Software-Entwicklung sehr gut einsetzen, um von der ersten bis zur letzten Stage dieselbe Art der Paketierung und Bereitstellung von Anwendungen zu verwenden. Der Entwickler muss sich keine grösseren Gedanken über die künftige Betriebsumgebung machen und der Betrieb kann exakt dasselbe Container-Image, das vorher in den früheren Stages getestet wurde, in die finale, produktive Stage heben und dort nutzen.
Computerworld: Welche Rolle spielen denn gemanagte cloudbasierte Plattformen im Zusammenhang mit Container-Services?
Hertes: Der Aufbau und Betrieb von Container-Plattformen ist komplex, weil unterschiedliche Systeme benötigt werden, die aneinander angebunden werden müssen. Neben den eigentlichen Container-Hosts ist beispielsweise eine Orchestrierung durch Kubernetes, DC/OS (Distributed Cloud Operating System) oder auch Docker Swarm erforderlich.
Ausserdem werden Container-Registries benötigt, die die Container-Images bereithalten. Diese Systeme bekommt man bei den meisten Cloud-Providern auch als Platform-as-a-Service-Angebot.