Over the past year, VMware has shown its commitment to cloud-native applications, with a whole business unit dedicated to providing a platform for new applications. Central parts of this business unit are the various pieces related to Photon Platform.
VMware Photon Controller 1.0 is the scale-out control platform for container applications. To truly understand Photon Controller, you must first understand where it fits in VMware's container plans. Then, we can dig into what the first release of Photon Controller delivers.
First, we should place some context around all things Photon and containers from VMware. Photon refers to three different pieces of VMware software. There is Photon Operating System, or Photon OS, which is a Linux distribution built for running containers. Photon OS supports multiple containers formats: Docker, CoreOS and Cloud Foundry. Photon OS has been available as an open source 1.0 release since June 2016. VMware intends Photon OS to be the basis for container VMs on its platforms. Photon OS is also used in the vCenter Server Appliance with vSphere 6.5, a clear sign of VMware's commitment to Photon OS.
The Photon Controller is the next piece of VMware's software in the puzzle. Photon Controller is the control plane for managing a group of physical servers running containers in VMs. In the future, those physical machines will run the third piece of software, Photon Machine. Photon Machine is a microvisor, a cut-down version of the ESXi hypervisor. Photon Machine is supposed to be just enough hypervisor to support container VMs. But it now sounds like VMware's VSAN and NSX will be part of the platform. I expect Photon Machine to be a licensing option for ESXi, rather than the microvisor VMware announced. The combination of Photon Machine, Photon OS and Photon Controller makes up the VMware Photon Platform.
VMware's other container product is vSphere Integrated Containers. VIC allows customers to use Docker commands to deploy containers -- in Photon OS VMs -- on top of existing vSphere clusters. The clusters are still managed by vCenter, and the container VMs can live alongside existing server and desktop VMs. In effect, VIC is for customers who need a few containers alongside their existing servers on the same vSphere cluster. VIC has two management interfaces: vSphere for VMs and Docker commands for containers.
Photon Platform is for customers who will dedicate clusters of ESXi servers to running nothing but containers. Photon Controller needs to manage its own ESXi servers -- servers that are not managed by vCenter. Photon Controller expects to own every VM on these ESXi servers. One nice thing is Photon Controller does not require paid-license ESXi servers. If your application only needs the features of the free ESXi server license, then Photon Controller is perfectly willing to put them into a cluster for your containers. I have to expect both NSX and VSAN will require a paid license of some sort, but that is unconfirmed as of now.
Photon Controller is designed to scale out across a group of ESXi servers. Controller VMs on each server form a cluster together for management and load balancing. The architecture is designed to be scalable and resilient from individual VM or host failure. These are all patterns of good cloud-native applications.
Another key element of Photon Controller is it's designed to be managed using an API. There is no pretty graphical user interface for the user to click around to manage the container VMs. The whole Photon Platform is designed to be consumed by software. Container VMs will be created, managed and destroyed using software APIs. The whole platform exists to provide infrastructure to another software cluster. On top of Photon Controller, you can have Kubernetes, Mesos or Docker Swarm. By being open to multiple container types and multiple schedulers, VMware is allowing the developer to choose the components that suit their application.
Photon Controller and VIC share more in common than VMs do with Photon OS. Both Photon Controller and VIC use vSphere Instant Clone technology to create a new VM each time a new container is created. Instant Clone uses copy-on-write techniques for the VM memory, as well as disk, meaning the VM is immediately available for the new container. Instant Clone also allows the speed of container startup with the isolation of a separate VM for each container.
Photon Controller and VIC are also both opens source projects that you can find on GitHub. Being open source does not mean the products are free; open source allows collaborative development. This open development is a hallmark of cloud-native applications. Being open source and hosted on GitHub gives developers a lot of trust in the platform -- trust that would not be possible with a conventional, closed-development process.
VMware increases container flexibility with Photon Platform
VMware finally dives into the container world
VMware strengthens its knowledge of container technology