pixel - Fotolia


VMware Photon Controller makes VMware containers a reality

VMware's Photon Platform, consisting of Photon Machine and Photon Controller, represents a change towards a service-oriented DevOps model of management.

Software is in a constant state of evolution. Applications as we know them are changing, becoming more Internet-centric and on-demand, and must be scaled up and down in order to meet current demand.

Lately, VMware has been using the term "cloud-centric," in regards to the new VMware Photon Platform. Unused compute cycles are more expensive in the cloud than in the physical world, as they cannot be turned off as easily as hardware.

Creating "classic" virtual machines to meet demand can be time consuming; it takes several minutes to deploy the base image alone, with additional time required to apply all necessary customizations. Managing and deploying this software stack can be a complicated process, one that could potentially cause configuration issues, or worse. This is the old-fashioned method of providing applications with slow release cycles in which every component of the VM must be checked twice and tested for quality assurance before going into production.

On the host side, each VM consumes memory for operating systems that run underneath the application in question. When you apply that to an entire state, it sounds a bit wasteful. This is especially true with vSphere 6, where memory deduplication, or page sharing, is now disabled by default.

Containerization takes a radical and very efficient DevOps-oriented path of providing run anywhere, highly portable, compartmentalized applications that essentially run independently of the underlying OS. Containers can just as easily run this path in the cloud, on desktop or on on-premises container-aware hypervisors without the need to change anything underneath the container wrapper.

What makes containerization even more compelling is that it allows an administrator to "stack" or glue together several different containers on top of each other to create more complex applications. In effect, each container provides a very small part of the overall service offering. These are called "microservices."

One example of containerization and microservice usage is a Web-based streaming service with several teams of developers. This allows one development team to work on the streaming component of the service independently of the team that works on the software networking component. Basically, it means that features can be brought to market and exploited at a faster rate.

John Deere Co., the tractor manufacturer, serves as an interesting business case for containerization. John Deere uses scalable cloud-based containerized applications to read sensors on tractors in the field in order to monitor their device mechanics, the efficiency of each tractor in harvesting, and soil data. All of this data is provided in real time to farmers who can use the information to maximize their productivity and potentially change the way they work a field. John Deere transformed from a tractor manufacturer into a software as a service provider delivering the application on demand to tens of thousands of farmers.

This design for dockerized microservices is achieved using Unionfs. This service allows users to add or extend file systems from several containers so that the file system appears as one coherent logical file space. Essentially, it allows users to transparently glue together several containers of applications inside one. When a new container is deployed or an existing one is updated, it incorporates the latest changes made by the designer.

Capabilities such as these aren't as simple or accessible when using traditional VMs, as templates and applications with files are often several gigabytes in size and cannot realistically be managed to the same degree.

Using containers also ensures that everyone gets the same exact configuration regardless of their local machine setup. Speed of deployment also gives containers an edge over VMs; under the right conditions, most small container applications can be deployed within seconds.

How does all this relate to VMware? Photon is a paradigm shift to cloud but at the same time, more or less throws vCenter off the bridge with regard to cloud management. At present, it isn't possible to use vCenter to manage Photon Platform at the container level.

Photon Platform is a container runtime and management platform which containerized applications can be placed on. As part of the Photon Platform distribution, users will have access to the application program interface (API) hooks and tools necessary to manage the containers and services on the host in question.

Photon Platform also has a "self-organizing" group of services that provide their own High Availability (HA), designed to replace the classic vCenter HA. In essence, HA is now dependent on the design, with the idea that you use Photon Platform to create application clusters across several hosts to provide resiliency.

Underlying the containers is a new VMware management plane called Photon Controller. Photon Controller is essentially a set of applications running as containerized applications; a control plane that manages the local services and provides entry points for API calls. Each host provides the same services to its tenants.

Along with this new paradigm, VMware Photon Platform has a completely new HTML host manager that can be used to talk to the hosts and list the applications in much the same way that you use classic vSphere client to list the VMs that sit on the host.

Another big change is the move away from a graphical user interface (GUI) in lieu of a scripting/API-type interface to expose all of the functionalities to the developers. This is similar to the way that anything that can be done with the GUI in recent versions of Windows can also be done with a command line.

Photon Controller's scripting/API interface.
Photon Controller architecture

In a similar fashion, templates have been discarded. In Photon Controller, templates have been replaced by a new concept called "flavors." Flavors are essentially predetermined container sizes for application containers. Flavors may also be used as the basis for chargeback models if needed.

Long-term Photon Controller architecture
Long-term high-level Photon Controller architecture

It's evident that Photon Platform is a complete shift to a new service-orientated DevOps model of management and a major change in direction for VMware. Making core components such as Photon Controller free of charge also gives users the opportunity to take either program and extend their functionality. VMware has hinted that there will also be new pricing models and features to fit all pockets and sizes.

Next Steps

The key differences between containerization and virtualization

Who's leading the container revolution in cloud?

VMware constructs its own microservices architecture

Dig Deeper on VMware new releases and updates