Much of the growth in IT over the last 10 or so years can be attributed in some way or another to virtualization. The key to virtualization is the hypervisor. Whether open source, such as Xen or VMware or even Microsoft's HyperV, the hypervisor has ushered in a revolution in IT. There would be no cloud and certainly no Infrastructure-as-a-Service (IaaS) without the hypervisor. Now some are saying that Linux containers are going to do for Platform-as-a-Service (PaaS) what hypervisors did for IaaS.
For those of you who may not be familiar with containers in Linux, at a basic level it is called the Linux kernel containment. This has been supported by the Linux kernel for some time now. You can get basic information and software here.
These containers allow processes or applications to run in their own containers. As far as the process or application knows, they are running in their own machine. They are not aware of other applications and process. They appear to the process to have their own file system, storage, CPU, RAM, etc. In much the same way a hypervisor allows each OS to run in its own virtual machine, containers allow applications/processes to run in their own separate container within one OS.
The key for containerization and its advantage over hypervisor virtualization is that by keeping all of these containers running in one OS, you can increase density by a significant factor over what you can do with hypervisor-based OS virtualization. This means containerization could enable commercial-level PaaS to really take off and surpass IaaS, as some people say is inevitable anyway.
One containerization play really catching on is the open source-based Docker, Inc., curators and managers of the Docker ecosystem. Docker is based in the Bay area. According to their website,
Seven months after launching, the Docker ecosystem is expanding rapidly: Docker has been downloaded over 200,000 times, has received over 7,500 Github stars, and is receiving contributions from more than 200 community developers. Over 2,500 "Dockerized" applications are now available at the Docker public index, and third party projects and partnerships built on top of Docker span PaaS, operating systems, hosting services, CI platforms, and more. Over 50 user-created case studies are available from companies such as eBay, Cloudflare, Rackspace/Mailgun, Yandex, Cambridge Health Care, and RelateIQ.
That is a pretty impressive list of accomplishments in a very short time!
I had a chance to chat with Gabriel Monroy of OpDemand, the creators of Deis, an open source application platform (PaaS) based on Docker, Heroku and Chef. Gabriel has been involved in the application development and IT operations world for many years in the New York City area, as well as Boulder and other places. In NYC, Gabriel worked with many of the leading financial players in the market. He saw a need for a faster platform that would allow people to develop and deploy faster and easier.
Gabe believes we are on the threshold of a major movement toward PaaS. With tools like Docker and DEIS, the idea of building in the cloud from the hypervisor up just doesn't make sense. Why worry about managing OS issues when you really only care about the app? Now, that may seem blasphemous to some IT ops folks, but imagine when people asked why anyone would worry about the hardware when they can just manage the virtual machine OS.
I don't know. I am still learning about containers, Docker and DEIS. But it does sound like a logical next step on the way to PaaS. I like the fact that once again open source code is playing a major role, if not a leading part in the movement.
I also think that containerization is another enabler of the DevOps movement. Getting code out and deployed faster and in better coordination with operations will make for higher-powered IT organizations.