During the day 2 keynote at VMworld, VMware CTO Ben Fathi and Raghu Raghuram, the general manage of SDDC for VMware, discussed integrations between VMware’s software and OpenStack and Docker. In particular, they talked at length about Docker’s Container software and positioned it as a complimentary and not a competitive technology, calling vSphere and Docker together a way to run “Containers without Compromise.”
I do infrastructure, why should I care?
If you’re an infrastructure focused person, before you close and dismiss this post, there’s a reason why a sys admin is writing about this. I remember several years ago, Paul Martiz spent a lot of time during VMworld discussing Spring and development software. Frankly, it didn’t resonate with the crowd filled mostly with administrators and infrastructure focused professionals. So, why should infrastructure professionals care about these new API integrations with Docker? Because Docker has the disrupt the way you administer the infrastructure and security that you are responsible for.
As an administrator, you require certain tools in order to ensure compliance and stability for the applications your infrastructure enables. In the same way that vSphere changed and helped you do you job, Docker promises the same for developers. Extending support for Docker running on vSphere is the best of both worlds. Your developers get what they want or need and you get what you require to do your job best.
What do developers want?
For many developers, there is increasing interest in technologies like Docker’s Containers as an enablement software for cloud and service applications. I’m hearing it from some of the developers I work with. While VMware has been enormously strong with traditional applications (client/server), cloud applications are built in a fundamentally different way, utilizing small services and instances across many hosts to form an application. Since there are many instances, it can be a lot of small instances to manage. These small services don’t require an entire operating system to function and Containers allows for the base OS to be shared with many isolated containers running application services. While the concept is form of virtualization, it doesn’t offer many of the features that vSphere offers, like portability between hosts and recovery from hardware failure.
What’s more, Docker is more than just partitioning a Linux machine. Docker is an orchestration and packaging layer for the application. This type of enablement software is critical to deploying applications at cloud scale and Docker has developed an elegant and useful orchestration layer around its containers. It eases the issues that developers face with configuring application software on every instance or server that they run, with updating and deploying the application across multiple instances. Docker delivers on the write once and run anywhere concept.
Best of Both Worlds
The point is that vSphere VM’s bring isolation, security and compliance to the table and Docker doesn’t address these directly. However, Docker hits a major use and need of application packaging and deployment for developers. Marry the two together and you have a great solution that hits IT administration’s need for compliance and security and developers needs for deploying applications. While you can run Docker on physical hardware, I along with many other administrators would be very reluctant to go back to managing physical hardware. vSphere brought massive amounts of consolidation and ease of management that administrators would be reluctant to give up, particularly in small to medium businesses. Bringing in new technologies like NSX can also offer powerful, policy based network compliance that hasn’t previously been available in a physical or virtual environment. vSphere also brought a lot of operational advantages, in higher density, better power utilization, reduction in space and cooling needs.
I remember when the light bulb went off for me about cloud applications and the fundamental differences between them and the traditional applications vSphere virtualized in the past. Cloud applications require completely new architecture, new code, and orchestration. The power of the cloud is all about repeatability, distribution of load, replication of data, and scale. The orchestration and deployment layer is critical in this model but has a promise of easy of management, security and compliance for distributed applications. Docker seems like a great solution for this real problem. And, every software requires patching to stay secure, so a solid orchestration and deployment framework is critical when you begin to scale out applications.
VMware goes on to tout all of the extensibility of vCloud Suite, the hybrid cloud and its vCloud Air service as advantages offering portability of Docker enabled applications wherever the customer wants.
Kit Colbert posted a great blog “Containers without Compromise” on the VMware CTO Blog site with a lot of additional detail.