Over the past year, we've witnessed a boom in VMware container-based virtualization. At VMworld 2015, VMware announced...
not one, but two platforms for running containers, both of which build upon the Project Bonneville work that allowed Docker commands to be used to rapidly deploy container applications inside dedicated VMs. When it comes to containerization, these two platforms have taken radically unique approaches to address the requirements of different groups of customers, particularly when it comes to enterprises and cloud scale. Enterprises may want to run a few dozen containers, whereas cloud scale businesses may want to run thousands of containers. Despite their differences, both platforms share a few common features.
Photon OS was the first part of VMware's container plans, announced in early 2015. Photon OS is a lightweight Linux distribution for running a container inside a VM. Photon OS is quite flexible with containers and can run Docker or RockSim rocket design file containers as well as Cloud Foundry's Garden containers. Notice that I mentioned running only a single container instance in the VM: VMware's answer to the lack of isolation between container instances is to run each container instance in its own VM. To avoid waiting for these VMs to boot up, VMware has developed a method to clone an existing running VM. This Instant Clone feature allows the cloned VM to use the existing file system and RAM of the source VM, until it makes changes. Instant Clone takes under a tenth of a second to create a new VM, about the same time as starting a container. The Photon OS and Instant Clone are common features of the VMware container platforms.
For massive scale customers, VMware has Photon Platform -- made up of two parts, Photon Machine and Photon Controller. Photon Machine is a variant of the vSphere hypervisor. VMware is calling it a microvisor, presumably because it has removed a number of features from its flagship hypervisor, ESXi. Photon Machine software is installed on physical servers but since it doesn't offer the ability to use vCenter to manage these hosts, all management of Photon Machine instances occur through Photon Controller. Since it's based on ESXi, Photon Machine is closed source. Photon Controller, on the other hand, is open sourced. It is a distributed management plane for a group of Photon Machines. Controller builds on the earlier release of VMware Lightwave, which provides certificates and application authorization. Photon Platform is intended to provide application programming interface-based control to another management layer. Tools like Mesos and Kubernetes drive Photon Machines through Photon Controller. Large-scale software as a service and Web application providers will use Photon Platform to deploy thousands of container instances.
VMware's answer for enterprises is called VMware Integrated Containers (VIC). VIC allows a vSphere cluster or resource pool to be accessed using standard Docker commands. A developer can use Docker commands to create dozens of container instances. Each of these container instances is a VM that can be managed through vSphere. The target audience for VIC is organizations that have their critical applications running in VMs on vSphere. New features for these applications, as well as new applications, are being developed using containers. VIC allows these new, container-based applications to sit alongside the VM-based applications. Using familiar vSphere management applications appeals to operations teams, and using Docker commands appeals to developers. Many organizations have spent years building up processes, storage and networks for VM-based applications; there is an obvious benefit in repurposing these for containers. For VMware, this eliminates the risk of physical servers being deployed to run the containers, keeping customers on vSphere.
The two VMware container platforms provide very different economic models. VIC uses the full vSphere stack, so it has a high cost per physical server. Photon Platform must make sense for cloud providers, who are accustomed to free operating systems. VMware must keep Photon Platform from cannibalizing its vSphere licensing revue. Fortunately for VMware, it looks like the lack of simple migration from one platform to the other will keep most vSphere customers from switching.
Keeping up with the pace of change will also be a challenge for VMware. Docker is a small and agile company. It has added a raft of features with each point release. In November, Docker released version 1.9 of the Docker engine along with native cluster support and Virtual Extensible local area network-based networking. VMware, on the other hand, is not known for releasing software updates on a monthly basis. As such, there is likely to be feature lag between the Docker product and the VMware platforms. This lag makes VMware's platforms less appealing to developers, who will want to use the newer features.
There are definitely multiple ways of using containers, so having multiple platforms is probably a smart move by VMware. Existing vSphere administrators will find VIC easier to understand, deploy and support. It is less clear whether the Photon Platform will attract massive-sized deployments. Both may disappoint developers if VMware does not provide frequent updates.