Tuesday, September 2, 2014

Container Disrupting or Complementing VM?

Virtual Machine (VM) is the first class object within contemporary enterprise data center.  There have been great debates on whether Container "marks the death knell for virtualization" or is at the peak of "Gartner Hype Cycle".



My former VMware colleague Kit Colbert posted an insightful and educational blog on why VM and Container are "better together".  I very much agree with Kit that VM technology is complementing Container technology for now in many use cases, especially for those users who want to enjoy a cutting edge technology without sacrificing enterprise grade manageability/security/ecosystem.

However the billion question still remains -- whether in the long run Container could disrupt VM within Data Center?

Let's first look at VM vs. Windows, as they were "better together" but things have changed significantly.
  • A decade ago, Windows had quite comprehensive management story and far more better IHV/ISV ecosystem; VM/Hypervisor world offered little more than a "cool technology".   VM and Windows were "better together" because majority of the workloads were Windows friendly and VM was a great "passenger seat" tool. 
  • A decade later, VM/Hypervisor has disrupted Windows Server by commanding the "driver seat" in Private Cloud build-up.  Hypervisor is now a strategic data center control point than a "cool technology".
I believe Container has the same potential to disrupt the VM in the next decade just like VM disrupted Windows.
  • From technology perspective, Container has the potential to offer far more computing efficiency and agility. For instance, a few early adopter hosting providers are seeing 10x more density/efficiency in their environment (VM is an overkill for the type of services they provide and VM is in the way to do optimal "bin packing"). 
  • From ecosystem perspective, Container land enjoys some unbelievable developer attention right now.  I was shocked to see 7,000 projects on dockers in less than a year, and that number is already way outdated by the time of this blog. I also see the industry started giving attention to bare metal provisioning (e.g., Project Ironic) too.
  • From enabling new/exciting use case perspective, Container has the potential to allow users to get the better part of both Bare Metal machines and Virtual Machines. VMs offer great mobility, portability, and agility to the server workload today, but applications have lost the direct control and optimal use of the hardware. If the Bare Metal based Container technology can offer the same mobility/portability/agility PLUS the same rich ISV/IHV ecosystem PLUS the fact the new mobile-cloud era applications can take great/real advantage of controlling the hardware directly, then the ubiquitous nature of VM can be challenged at that point.
Obviously a LOT is yet to happen to make the Container disruption closer to real and transform Container from a "cool technology" to an "turnkey solution", we cannot claim the certainty of this disruption at this point.



The other night, my new friend Flo Leibert (CEO/Founder of Mesosphere) showed me his latest toy to help applications to easily specify real computing power needs (cycles, scheduling, locality, etc etc, rather than sandbagging big time in VM provisioning to compensate the virtualization indirection).   It is really hard for me to deny the amazing potential for the application focused Container technology to disrupt the x86 abstraction focused VM technology in the next decade with so much great work out of Docker, CoreOS, Mesosphsere...

The debate on Container will go on with or without my blog, but again the ultimate fate really depends on the execution of the Container industry next few years … :)

No comments: