Virtualisierung mit Docker
Traditionell wird Software meist nur für ein bestimmtes System entwickelt. Themen wie Skalierbarkeit, Hochverfügbarkeit und Portabilität sind allerdings mittlerweile so wichtig wie nie und sollten daher schon während der Entwicklung beachtet werden. Da sich Servertechnologien und Infrastrukturen ständig weiterentwickeln und auf unterschiedlichen Hard- und Softwarekonfigurationen beruhen, lassen sich heutige Anwendungen nicht mehr ohne weiteres auf ein anderes System verschieben.
Um diesen Anforderungen gerecht zu werden hat sich die Containertechnologie Docker etabliert, mit der sich Software leichter über unterschiedliche Plattformen und Infrastrukturen hinweg bewegen lässt. Dockersoftware ist Open-Source und organisiert die Bereitstellung von Applikationen in einem sogenannten Container. Die Bereitstellung der Softwareanwendungen erfolgt dabei automatisch und umfasst alles, was notwendig ist, um die Anwendung zum Laufen zu bringen. Mit dem Dockerkonzept ist es möglich, Applikationen viel schneller zwischen verschiedenen Systemen zu portieren, was bei Cloud-Anwendungen immer wieder notwendig ist.
Ein weiterer Vorteil im Management von Dockercontainern besteht darin, dass sich Ressourcen wie etwa die Rechenleistung des Hauptprozessors oder der Arbeitsspeicher eines Systems nutzen lassen, ohne dass dafür eine virtuelle Maschine gestartet werden müsste. Damit ist der Containeransatz deutlich Ressourcenschonender.
Die Containerisierung von Anwendungen gliedert sich in den Softwareentwicklungsprozess ein und schafft die Brücke zu Continuous Integration und Continuous Delivery im DevOps-Prozess.