My colleague Lyubomir Lyubenov from VMware OneCloud team (OneCloud is internal huge vCloud Director based cloud for field enablement) recently published VCDonAWS CloudFormation templates with which you can deploy vCloud Director management components under 30 minutes on AWS.
I have seen customer (Service Providers) asking what is it for and what it means for the vCloud Director future. Let me give you my own view.
What is it?
vCloud Director is one of a few VMware products that is not provided in form of virtual appliances. The vCloud Director binaries can be installed on any compatible Linux virtual or physical machine and that means it can be installed anywhere – even on EC2 instances running on AWS. The VCDonAWS project in a clever way uses AWS resources (not VMC on AWS!) to deploy vCloud Director management stack from a single CloudFormation template. It leverages VPC (optionally stretched across 2 availability zones) for the networking, EC2 instances for jumphosts and vCloud Director cells, PostgreSQL RDS for vCloud Director database, S3 (S3FS) for vCloud Director transfer share (although this will be in the future replaced with Elastic File System for better performance), Elastic Load Balancers (for UI/API and ConsoleProxy cells) and even Auto Scaling Groups to automatically deploy additional VCD cells. The certificates are provided with AWS Certificate Manager.
The following picture taken from the VCDonAWS website shows the overall architecture.
What is it not?
As you can see above it only deploys the vCloud Director management components. You will still need to attach resource vCenter Servers/NSX Manager pairs and these obviously cannot be running on (native) AWS. You cannot even use VMC on AWS instances (at least not yet) as they have RBAC and VC/NSX inventory access limitations which prevent vCloud Director from working properly.
Cassandra VM metric datastore and RabbitMQ messaging bus optional components are not deployed either although I see no reason why they should not run on AWS.
Is it supported?
No. The deployment uses unsupported OS – Amazon Linux (the CentOS deployment option is not working at the time of writing).
Beside the OneCloud team use case which I cannot speak here about I see it as a very nice proof of concept of how VCD deployment can be automated. How simply it can be done with infrastructure as code approach. And obviously once VMC on AWS restrictions will be resolved these two can be used together to provide multitenant VMware platform IaaS.
Try it yourself!
If you have AWS account try it yourself and really in about an hour you can have a deployed vCloud Director instance.
Here are some tips:
- Use only US regions as the provided templates do not have AMI mappings for other regions
- Use Amazon Linux HVM as base operating system for Bastion and cell hosts (CentOS option is not working)
- For VCD installation ID do not use 7-9 due to bug in verification regex.
- You will need VCD binary uploaded in an S3 bucket. I used VCD 9.1 GA bits. You will also need working license key.
- You will need certificate (even self signed) uploaded to Certification Manager.
- And lastly generate key pair for accessing bastion hosts and cells.