VMware has big plans for its version of Cloud Native Applications. One of the important parts of this solution is of course the Photon platform which is a container solution platform comprised out of a suite of products:
- Photon Controller which is build on the Photon OS
- Network Virtualization (NSX)
- Distributed Storage (VSAN)
Photon has been purposely build to give the developers and the infrastructure guys at the same time what they both require. A developers usually wants the newest of the newest when he wants it while the operators want to keep everything as secure as possible and manageable.
The Photon platform is a true multi-tenant solution. The security of the platform is managed through Lightwave.
The Photon ticketing system
Properly distributing resources among tenants is mandatory and is being handled by assigning the tenants a ticket or multiple tickets which represents an amount of resources. A ticket can have for example 400 GB of RAM and 500 vCPUs. These resources can be used by the tenant to run 1 or multiple projects.
You might have noticed that some ESXi hosts have been marked with the letter M. This means that these ESXi hosts are used as management hosts and are hosting a VM which runs each of the management services including the API front ends. Management hosts can be scaled out in case your environment would require from you to install more management VM’s or in case one of the management VM’s crashes and needs to be replaced.
This post is part of a VMWorld Barcelona early access series:
What is new with VMware?
What is new in vSphere 6.5?
What is new in vSphere 6.5 HA/DRS and VSAN 6.5?
What is new in vSphere 6.5 Security?
What is new for Photon 1.1?
How can tenants consume resources?
Resources can be allocated in three different types of flavors:
- VM flavor – (for example like we use templates, adding vCPU’s, RAM, etc)
- Ephemeral disk flavor – which is tight to the lifecycle of a VM. When the VM is deleted so will the dis.k
- Persistent disk flavor – independent from a VM. When the VM is deleted we can reuse the disk and its contents.
These flavors for Photon are created by the Photon administrators and can be consumed by the developers who use these flavors to create disks or container VM’s.
What happens on the storage layer?
Any datastore connected to an ESXi server in the Photon platform can be a Photon datastore but the Photon platform has access to two types of datastores:
- An image datastore: Where you store the boot images for the VMs that you create. Each ESXi host has to be connected to at least 1 image datastore. Of course all hosts have to have access to all images at all times. So images have to be available at cloud scale.
- A cloud datastore where the disk and VM containers will live.
You might remember that one of the Photon Suite objects is VSAN. Now keep in mind that we are dealing with version 1.1 of the Photon Platform, but because we are using VSAN we can actually actually leverage the storage availability and all-flash to service the high churn rates required for Photon.
High churn rates
The Photon Platform is optimized to handle high churn in high churn environments. You can look at churn as the rate at which you create and delete VM’s or groups of VM’s etc or the re-/build rate for that matter. To be able to deal with these high churn rates, all VM’s have to be placed fast and on hosts where they do not cause issues for existing workloads.
Have a look at the follow diagram to get a better insight into this:
- You want to place a new VM
- The API Front End will check with the scheduler where to place this VM
- The scheduler will decide where to place the VM
- Likewise the scheduler needs the resources on network, compute and storage to take care of this in a high churn fashion. Because of the nature of VSAN, VSAN was the ideal candidate.
Availability Zones allow you to specify on which hosts, or on which hosts in which rack you want to place your containers. You can compare Availability Zones with the Affinity and Anti-Affinity rules in DRS. But unlike with DRS you can also specify to place workloads on hosts with higher performance profiles or lower performance profiles. After all the Photon platform has been created to be the best scalable CNA platform available.
Take note that you can specify different workloads to go into different Availability Zones.
The way Photon deals with clusters is a bit different from dealing with normal vSphere infrastructure, where you have a vCenter object, datacenter object and a cluster object. A single API call suffices to create a Photon cluster. This also means that you can create several cluster objects per tenant.
The Management VM’s
The management VM’s are the center of the CNA infrastructure. They run the the control plane in a Docker Container and contain the API Front-End. It also runs the Housekeeper which manages and keeps track of the images, the Deployer which deploys and updates the platform, the scheduler which says where to create or delete a VM or disk and the Cloudstore which manages all the metadata across in the infrastructure, and replicates it across all management hosts.