Docker: Slayer of Chefs & Puppets
Picture a light-sabre duel between Automation & Virtualization. Virtualization had the upper hand for a while until Automation used the powers of Chef & Puppet to drive Virtualization into a corner. Before putting away his light sabre Virtualization says: “You can’t win Automation. If you strike me down I will become more powerful than you can possibly imagine.” After which Virtualization was obviously brutally murdered by Automation.
Virtualization has however returned in the form of Docker. Docker forces us to completely rethink what an application is. Just like a Virtual Machine a Docker Container is a self-contained unit with everything needed to run your application: (Linux) OS, runtime environments, dependencies and your code. Unlike VMs it does not incur the same overhead: disk space is shared where possible and there is no CPU overhead. From the outside a container is nothing more than a blob that accepts network connections on a port and possibly talks to other blobs on other ports, possibly a disk somewhere.
This opens up extremely interesting use cases: Running exactly the same setup on your laptop as in production; Private clouds; Heroku style deployments; But most importantly, making the Micro Service architecture actually feasible to run in production.
In this talk I will be explaining the core concepts of Docker and end with a demonstration of the features to show off its power.