VMware vCloud Director (vCD) is deployment, automation and management software for virtual infrastructure resources in multi-tenant cloud environments.
What does vCD do?
VMware vCD enables cloud service providers to convert physical data centers into highly elastic virtual data centers (VDCs). It achieves this by converting physical data center resources, such as network, storage and compute, into VDC resources, which the service provider then makes available as catalog-based services to internal users through a web portal. VCD features policy controls to apply pre-determined limits on users to regulate the consumption of resources and restrict access.
Formerly part of VMware's vCloud Suite, which also includes vCenter Orchestrator and vCenter Update Manager, vCD is now available only to service provider customers.
How does vCD work?
One of the key concepts behind VMware vCD is the organization. An organization is a collection of users and groups created by the vCD administrator. The vCD admin assembles an organization and assigns resources to it, which the organization receives from a VDC. The VDC also provides an environment in which virtual systems can be stored, deployed or operated. An organization can receive resources from more than one VDC. There's also no limit to how many users and groups a single organization can have. Although the vCD admin is responsible for creating an organization and assigning resources to it, an individual organization admin can add new users to his organization at will.
Once an organization is established, the vCD admin grants its members role-based access to a self-service portal that they can then use to interact with the organization's resources. From there, they can create virtual machines (VMs) and vApps, which are collections of preconfigured VMs that combine applications with the operating systems (OSes) they require. Organizations store vApp templates and media files in catalogs, which organization members can access to create their own vApps.
Each vCD organization's VDC contains an organization VDC network, which is available to all vApps in the organization. VApps use this organization VDC network to communicate with each other. VApps also contain their own networks, which allow VMs within the vApp to communicate with each other.
VCD versions and history
VMware vCD was part of VMware's vCloud Suite until version 5.5. VMware announced vCD was no longer available as a stand-alone product in September 2013 but that it would continue to be available to service provider customers through the VMware Service Provider Program -- now known as the VMware Cloud Provider Program.
There have been nine major releases and 25 minor releases of vCD since vCloud Director 1.0 was first made available in 2010.
vCloud Director 1.0
VMware vCD 1.0 was designed to provide an interface by which enterprises and service providers could build public and private cloud and control user resource usage with roles/rights, quotas and leases. This version of vCD introduced support for multi-tenancy and organizational isolation, provided an additional layer of abstraction from the underlying hardware and enabled the creation of central application catalogues and personalized templates, as well as the creation and deployment of vApps from those catalogues and templates.
vCloud Director 1.5
VMware vCD 1.5 added a number of new features, including Microsoft SQL Server support, an expanded vCloud API, vShield Edge VPN integration, linked clones for faster provisioning and vApp custom properties that allow developers to pass user data to guest OSes with Open Virtualization File (OVF) descriptors.
Additional updates to vCD 1.5 included new platform support, system notification for a lost Advanced Message Queuing Protocol host, a new version of the cell management tool and log collection script, and changes to the VM pop-out console.
vCloud Director 5.1
VMware vCD 5.1 enabled administrators to use VXLAN to create multi-tenant L2/L3 networks for faster provisioning and elastic VDCs to span multiple clusters within a vCenter server for increased flexibility. Version 5.1 also gave admins the ability to create multiple storage classes and made improvements to organization VDC networking.
Additional vCD 5.1 updates increased database and guest OS support and the right to create, revert and remove snapshots, and introduced the ability to configure nonelastic allocation pools.
vCloud Director 5.5
VMware vCD 5.5 made improvements to catalog functionality, including automated versioning of catalog content, introduced the ability to import and export vApps directly to and from the virtual data center and added support for CentOS.
Additional upgrades increased database support, Lightweight Directory Access Protocol (LDAP) provider support and guest and platform OS support, the ability to disable VM licensing collection, and increased support for VMware NSX and VMware vSphere.
vCloud Director 5.6.3
The vCD 5.6.3 upgrade introduced VM monitoring and VM disk-level storage profiles and made it so that VMware Remote Console used WebMKS to open VMs, while additional updates increased upgrade and guest OS support and added support for Microsoft Internet Explorer 11.
vCloud Director 8.0
Version 8.0 added support for vSphere 6.0 and NSX 6.1.4, improvements to vApp functionality and tenant throttling to prevent a single tenant from consuming all the resources for a single instance of vCD. Additional updates eliminated the restriction on uploading or downloading OVF and media files for Windows and Mac platforms.
vCloud Director 8.10
Version 8.10 introduced an Object Extensibility feature and vCD permissions, expanded user interface (UI) access and added support for unattended installation and VM affinity rules. Version 8.10 also removed support for vShield Manager and phased out older vCloud API versions. The 8.10.1 update added new boot customization options.
vCloud Director 8.20
VMware vCD 8.20 included major feature additions, such as a new vCD API for NSX and the vCloud Director Tenant Portal for improved edge gateway and distributed firewall configuration. This version upgrade also gave admins the ability to use the vCloud Director Web Console or the vCloud API to create roles and to use the vCloud API to specify vCenter resource pools for virtual data centers.
vCloud Director 9.0
The vCD 9.0 version upgrade included an updated UI, a multisite management feature that enables service providers to offer a single point of entry to tenants, the ability to deploy a distributed logical router, support for trunked VLAN-backed networks and VM monitoring and metrics. VMware vCD 9.0 also marks the end of support for vCloud API versions 1.5 and 5.1.
Use cases and benefits
As mentioned above, vCD enables service providers to make VDC resources available to internal users, and these users have the ability to create organization networks to assign to VMs. The ability to assign a network to a VM is particularly useful if the internal user intends to move a new application to the cloud and requires a network for that application. Rather than ask the service provider to create a new network on his behalf, an organization admin can create the network himself, which enables faster application provisioning. Organization admins can also upload and maintain application catalogs without intervention from the service provider.
Because vCD eliminates the service provider middleman and enables faster provisioning, it's well suited for environments with multiple power users and for developers who want greater control over their infrastructure. VMware vCD also works well for businesses with multiple company divisions and, consequently, many virtual infrastructure administrators. Rather than appoint a single admin to control resources and oversee the infrastructure, vCD converts one or more data centers into a private cloud accessible through a web-based interface, which the service provider can then partition into multiple organizations with their own VDC resource. This level of separation is beneficial from a political perspective, as it prevents internal conflict over who gets to control and distribute resources, and can improve network security.
How to set up vCD
A working knowledge of Linux, vSphere, Windows and IP networks is necessary in order to configure and manage vCD. VCD uses vSphere resources to provide CPU and memory for VMs, vSphere data stores to provide storage for VM files and vSphere distributed switches and port groups for VM networking.
The first step to setting up VMware vCD is to give the vCD the names and authentication details of your vCenter and vSphere environments. VCD will then install an agent into each ESX host in the clusters it discovers and create the "provider" VDC object. The cloud admin can use multiple clusters and resource pools provided by vCenter instances to create multiple VDCs. The "provider" VDC is then partitioned into many smaller organization VDCs. The cloud admin retains control over the "provider" VDC, which allows him to offer different tiers of performance and resiliency.
Once this step is complete, the cloud admin must define the organization's networks. These networks can be either internal or external; internal networks enable VMs to communicate with each other, while external networks, which are layer 2 networks, allow for access to the outside world. VDC augments standard and distributed vSwitches with a layer of abstraction. VCD uses a distributed vSwitch to create network pools, which enables end users to spin up a VM with its own isolated network on demand. There are three types of network pools: port group-backed, VLAN-backed and VXLAN-backed.
Once the cloud admin has created the organization VDC and network pools, the organization admin can use leases, quotas and limits, such as time-to-live values or runtime quotas, to restrict resource access to authorized end users. The final step to setting up vCD is for the organization admin to determine what level of access and control end users have.