Holy shmokes… things are moving fast! The more I look around, the more it looks like the venerable old Virtual Machine (VM) is on its way out!
For the longest time, the best way to run multiple apps on a single piece of hardware was the VM model. In fact it was so good we went crazy with it — show me an organisation that doesn’t suffer from VM sprawl!
Don’t get me wrong… the hypervisor/VM model was great….. for it’s time. But the writing on the wall seems to be suggesting its time is nearly up.
The Rise of the Containers
It’s looking more and more like the rise of the container is sounding the death knell for the VM.
The VM simply has too much overhead for the modern app running on modern cloud-style infrastructures. Especially public cloud infrastructures where the additional overheads of the VM could potentially put you out of business — at scale, the additional overheads of the VM-centric approach to application deployment become massive! If your competition can squeeze 20% (random number) more app instances per physical machine, then you’re in big trouble!
UPDATE: Since writing this post, I’ve produced an entire video training course teaching the fundamentals of core Docker technologies over on Pluralsight. We’ve even made a sample module from the course available on YouTube as a try-before-you-buy. Go check it out!
The Hypervisor Tax
Look at it this way…. The OS is only there to facilitate the app. Let’s face it, if we could drop the OS from equation we would. We seriously would!
All an app needs is an isolated environment with some QoS controls so we can tweak which apps get what share of resources. The VM model does an OK job of this… But now that container technologies (at least on Linux) are ready for the prime-time, containers can arguably do this better. They do away with all kinds of OS/VM overheads that simply aren’t needed. And like we said earlier, these overheads can be potentially detrimental to your business.
And it makes no difference how good our apps are — how cloud friendly they are, how scale-out they are…. Once the hypervisor/VM tax is levied, there’s nothing the app can do to claim that tax back. There are no rebates!
On the topic of taxes…. what do people and companies do when taxes become prohibitively high? They move. And as far as infrastructure and platforms go…. the grass looks very green and the taxes are very low in the Container world.
So Who Will Move
Well….. when taxes become prohibitively high in real life, it’s the smart, clever, entrepreneurial, forward thinking people and companies that move. Everybody else is stuck where they are and has to make the best of a bad situation. Well the same will be true of applications. The net-new, built-for-the-cloud, scale-out type apps will move to containers. And the vast majority of the legacy apps will be stuck with the high taxes of the VM world — no doubt propping up the legacy VM market for a while longer…
Where Will They Move To?
While Docker isn’t the only container technology, it certainly is positioning itself as the de facto standard for both —
- image and container format
- standard container execution environment
It feels like Docker is ready for the prime-time…. potentially positioned to become the VMware of the Container world. Either way, most apps looks destined for the Docker flavour of containerization (don’t read that as a technical description of Dockers relationship to container technology).
Hello VMware.. How Does It Feel Now that the Shoe Is On the Other Foot?
On the topic of VMware….. It’ll be interesting to see how VMware adopts to this. If it were any other company than EMC and VMware, I’d expect the ship to experience an agonizing sink to the bottom of the ocean. But EMC/VMware have a great history of innovating and adapting. So I’m interested to see how they chart these waters!
That said, the fact remains…. the hypervisor and her VM’s are now the bloated bulky heavyweight in the room. Compared to a VM, every container should require less disk space, less disk I/O, less memory, less CPU….. and less is better! Especially in the cloud.
Will VMware be able to change their perspective on life? The world is no longer about VM’s, it’s about applications. In fact I think we’ll all agree that it’s always been about applications. It’s just that for the longest time, the VM has been the best vehicle for application deployment. But that time is up. The container is the better option.
Can VMware adapt? They’re now the incumbent that’s under threat. How will they react? Will they accept and embrace? Or will they kick, scream and desperately cling on to the VM?
Actually….. can ESXi leverage the namespaces and cgroup foundations of Linux Containers? Or is ESXi (vmkernel) one step too far from Linux? Last I checked, switching from ESX to ESXi was VMware washing its hands of Linux….. Was that a good move? Native Docker containers alongside VMs on an ESXi kernel would be appealing to me.
I’m not saying Docker or Containers is a silver-bullet. It won’t solve everything…. yet.
But just like VM’s took time to spread their way into every nook and cranny of the data center. I think, over time, Containers will be found in every nook and cranny of the cloud. For the time being… containers and VM’s will run side-by-side — legacy applications on VM’s and new applications on containers.
So….. the future as far as I see it…… Container sprawl! Let’s get some tools to make the management bearable!