Earlier on this year, along with a colleague, I had the opportunity to present a working group session on VMware Cloud Director (vCD) with a focus on what vCD is and how it is used in the real-world to overcome business challenges.
More recently, I worked with a customer to deploy vCD using the VMware Cloud Provider Lifecycle Manager (VCPLCM). This post will provide a brief introduction to vCD and then some information on VCPLCM and how it can be used to simplify deployment, configuration, and management of vCD.
What is VMware Cloud Director?
“VMware Cloud Director is a cloud services platform that delivers secure, isolated, and elastic virtual data center compute, network, storage, and security in a self-service model.” VMware Index.
vCD was first released back in 2010 with the primary objective of being able to deliver a secure, multi-tenant environment which abstracts the underlying vSphere resources and presents a pool of resource to one or more tenant, otherwise known as a customer.
The ability to provide a secure, multi-tenant environment is invaluable for cloud providers as it allows them to optimise their hardware assets through securely sharing resources with multiple tenants.
As vCD has evolved over the years, there has been further integration with VMware products such as the software defined storage solution, vSAN, or providing visibility to each individual tenant through performance and capacity dashboards using VMware Chargeback (formerly VMware vRealize Operations Tenant App).
The most important integration has been with VMware’s software defined networking product, VMware NSX, which offers enhanced networking capabilities as well as providing tenants with the ability to make use of additional services such as the Distributed Firewall (DFW).
When vCD was first introduced, it allowed cloud providers to offer their own private Infrastructure-as-a-Service (IaaS) to tenants utilising on-premises hardware running VMware vSphere. Since then, vCD has evolved and can now be consumed as a service (VMware Cloud Director service) deployed on public cloud environments such as VMware Cloud on AWS, Google Cloud VMware Engine and Azure VMware Solution.
The introduction of the VMware Cloud Director service allows customers to seamlessly move workloads between Cloud Director instances regardless of the underlying infrastructure, this strategy aligns with VMware’s multi-cloud vision. Alongside the ability to provide IaaS on various underlying hardware platforms, vCD has also evolved beyond IaaS and is now capable of providing accelerated compute solutions as well as the deployment of cloud-native applications.
What is VMware Cloud Provider Lifecycle Manager (VCPLCM)?
“VMware Cloud Provider Lifecycle Manager simplifies the operational experience by providing a comprehensive solution to deploy, upgrade, configure, and manage the Partner Connect Program products.” VMware Index.
VCPLCM was introduced with a simple goal: To automate the deployment and configuration of vCD and its associated products – VMware Chargeback, vCloud Usage Meter and RabbitMQ. Alongside deployment capabilities, VCPLCM can automate the management and upgrade of vCD and its associated products, thus managing the entire lifecycle of the product(s). Prior to version 1.3, there was no Graphical User Interface (GUI) for VCPLCM and everything was configured using an Application Interface (API).
As someone who doesn’t have a background of using and consuming APIs, the introduction of a GUI to VCPLCM was most welcome. Further releases of VCPLCM (up to and including version 1.5) have included enhancements to the GUI thus meaning further features are available. Once you have defined an environment to be deployed, you can output that configuration to a JSON file which can be used to capture a known good configuration of an environment or used to define a repeatable process for future deployments, amending configuration options such as IP addresses, where relevant.
My experience with VMware Cloud Provider Lifecycle Manager
I recently had the opportunity to get hands-on with VCPLCM in a customer environment and whilst my experience was largely positive, there is certainly room for improvement. The task at hand was to deploy a new vCD environment and define a repeatable process that the customer could take forward for future deployments. The following list shows the products deployed and configured:
- 1 x Primary and 2 x Standby vCD Database Cells.
- 3 x vCD Application Cells.
- Integration with vCenter Server.
- Integration with NSX Manager.
- Replacement of HTTP certificate.
More post-deployment configuration options are available, however, the above criteria satisfied the requirement for our deployment.
Once we were able to overcome some initial deployment challenges, we were able to successfully deploy the above environment in around 1 hour, significantly quicker than doing so manually, particularly with 6x vCD cells being deployed.
This is my list of pros and cons based on my experience of using VCPLCM to deploy the environment mentioned above.
- The time it takes to deploy the environment using VCPLCM versus a manual deployment.
- The ability to develop and define a repeatable deployment process through the use of JSON configuration files.
- The ability to replace certificates as part of the deployment process, something that I have faced challenges with doing post deployment on previous engagements.
- Limited post-deployment features available in current version, e.g., being unable to re-deploy a failed database node.
- Intermittent success with rollback feature when a deployment fails, meaning an environment has to be ‘cleaned-up’ manually.
My main takeaway from using the product was the speed in which an end-to-end deployment could be completed compared to a manual deployment. For that reason alone, I’d recommend the product to anyone wishing to deploy and manage the entire lifecycle of a vCD environment. I will keep a close eye on future releases of VCPLCM as I feel that the product will only go from strength-to-strength as additional features are added.