You should be familiar with programming concepts and techniques. You should also be familiar with vCloud, vCloud API, vCloud SDK for .NET, and vSphere concepts. VMware also provides the vCloud SDK for Java and the vCloud SDK for PHP, but this chapter focuses on .NET for the backup and restore examples.

VMware recommends that you design backup and restore software for the vCloud environment using the following APIs:

Table 1. APIs Used To Back Up vApps
Product API Data
vCloud Director vCloud API or vCloud SDK wrapper vApp metadata
vSphere WS API virtual machine configuration
VDDK VixDiskLib API or VixMntapi virtual disk contents

You use the vCloud API or SDK to identify vApp targets for backup and restore operations. The vApp metadata identifies the virtual machines that constitute the vApp. You use the WS API to back up and restore virtual machine configurations. You use the VDDK API to back up and restore virtual disk files.

Note: This chapter uses the term “metadata” in a general sense to mean all the vApp configuration data, in addition to user-defined data that the vCloud REST API serializes in the <Metadata> element.

You should be familiar with the use of the WS API and the VDDK API for backup and restore of individual virtual machines.