Containerisation has taken the data centre by storm. Led by Docker, a start-up that's on a mission to make development and deployment as simple as it should be, Linux containers are fast changing the way developers work and devops teams deploy.
Containerisation is such a powerful idea that it's only slightly hyperbolic to suggest that the future of servers will not include operating systems as we think of them today.
To be sure it's still a ways off, but containerisation is likely to completely replace traditional operating systems – whether Linux, Windows, Solaris or FreeBSD – on servers. Instead, servers will consist of simple, single-user installs of hypervisors optimised for the specific hardware. Atop that bare-metal layer will be the containers full of applications.
Like many things to come out of Linux, containerisation is not new – in fact, the tools have been part of the kernel since 2008. But just as it took GitHub to finally push Git to mainstream developer popularity, the containerisation tools in Linux did not really start to catch on until Docker came along.
Docker is not the only containerisation tool out there, but it is currently leading the pack in both mind share and actual use. Google, Amazon and even Microsoft have been tripping over themselves to make sure their clouds offer full Docker integration. Google has even open-sourced its own Docker management tool.
But what is a "container" and why is it suddenly such a big deal? Moreover, is the future here now?
The shortest answer is that containers are static application environments, which means much more reliable deployments.
Solomon Hykes, Docker's founder and chief technology officer, likes to compare Docker containers to shipping containers (the company's logo is a collection of shipping containers riding on the back of a whale). Like the current devops world today, the shipping industry of old lacked standards. To ship something you just stuck it in whatever container you liked and it was loaded on a ship. That meant ships had thousands upon thousands of different different containers of all shapes and sizes.
Then the shipping industry standardised around the colourful, but regularly-sized shipping containers you see stacked all over the docks today (this is the origin of Docker's name). The standardised containers mean that the shipping companies no longer need to worry about the actual freight, they can just stack containers on ship after ship without worrying about what will fit where.