General Q&A: vCloud API

General Q&A: vCloud API

vCloud API General Description

<![endif]><![if gte mso 9]><![endif]><![if gte mso 9]>

What is the vCloud API?

The vCloud API is an interface for providing and consuming virtual

resources in the cloud. It enables deploying and managing virtualized workloads

in private and public clouds as well as interoperability between clouds.The vCloud API enables the upload, download, instantiation,

deployment and operation of vApps, networks and “virtual datacenters”. There are two major components in vCloud API, the User API focused

on vApp provisioning and Admin API focused on platform/tenant administration.

What are networks in this case?

These are virtual L2 networks in the cloud that

enable a flexible model for establishing connectivity between vApps in the

cloud and connecting them to external networks outside the cloud.

What is a virtual datacenter?

A virtual datacenter (VDC) is a construct in the

VMware vocabulary that contains storage, networking and compute capacity in

which vApps are deployed.

What are vApps?


are software solutions optimized for the cloud, consisting of one or more

virtual machines, packaged and maintained as a single entity in OVF format. Just like the UPC

bar code contains all information about a product, the vApp gives application

owners a standard way to describe operational policies for an application which VMware vSphere and

VMware vCloud Director can automatically interpret and execute. Therefore,

vApps are self-describing to and self-managing on the platform they run. To learn more about vApps, click here &lt;;

What is OVF?


Virtualization Format (OVF) is a platform independent, efficient, extensible,

and open packaging and distribution format for virtual machines. OVF enables

efficient, flexible, and secure distribution of software, facilitating the

mobility of virtual machines and giving customers vendor and platform independence.

Customers can deploy an OVF formatted vApp on the virtualization platform or

cloud of choice. To learn more about OVF, click here here


version of the vCloud API was recently announced?*

VMware vCloud API 1.0 was announced at VMWorld 2010

Do I have to pay a royalty to VMware to use the API?



implementations of the vCloud API be backward compatible with previous versions?*


compatibility will differ from implementation to implementation. vCloud

API definition will also differ from version to version. As a rule of thumb: we

will increase major version numbers when the new version is not backward

compatible with the previous one. Minor versions will be increased when there

are additions that will be backward compatible. For example 1.0.1 will be

backward compatible with 1.0, while 2.0 will not be backward compatible with

both 1.0 and 1.0.1

Key Features & Technical Details

What are the key characteristics of the API?

The vCloud API is an open, RESTful API. It is

a standards-based, platform independent, extensible, pure virtual API,

compatible with a broad and diverse range of applications.

What is REST?

It is very common for

a compute cloud to have programmatic control. In working with customers a common request was

to use REST. Representational State Transfer (REST)

is an architectural style characteristic of programs that rely on the inherent

properties of hypermedia and HTTP to create and modify the state of an object

that is accessible at a URL.

*What do you mean by

“pure virtual”?*

The API does not

expose any aspect of the physical infrastructure (servers, storage, networks)

or how the physical infrastructure is virtualized. In a cloud service only

virtual forms of the infrastructure can be exposed through the API. The pure

virtual nature of the API also helps make the API simple to use and implement

How does this API support multi-tenancy?


a cloud service to be multi-tenant, both its API and its implementation must

support multi-tenancy. The pure virtual nature of the vCloud API enables it to

be multi-tenant. Each cloud customer, or tentant, can only see its own set of

virtual resources while having no means to address the shared underlying

physical resources. This kind of isolation between tenants is analogous to the

isolation between processes in a conventional OS achieved through the use

of virtual memory: each process sees a

continuous memory address space for its own use, but cannot directly address

the underlying physical memory or the virtual memory of another process. Just

like the virtual memory sub-system of a conventional OS in cooperation with its

platform APIs works to achieve isolation between processes, in the same manner

the cloud service implementation together with the vCloud API can support


*How does the VMware

implementation of the vCloud API allow for scalability?*

VMware vSphere aggregates industry standard devices,

storage and networking systems into unified logical resources to provide the

highest level of reliability with the lowest cost of running applications. Such

resource pools are managed by vCenter Server. The VMware implementation of the vCloud

API spans multiple vCenter Servers to provide available pools of virtual

resources. This offers improved scalability needed in a cloud service.

Is the vCloud API extensible?

Yes, it is possible for implementers to

add links to new features and functions as well as extend the request and

response schemas for defined API functions.

Is the vCloud API an extension of the vSphere/VIM API?

No, the vCloud API is not an extension, replacement

or a subset of the vSphere/VIM API. The VIM API remains unchanged. The two APIs

serve different roles. While the VIM API focuses on providing programmatic

control for the creation and configuration of virtual resources based on

physical resources, the vCloud API is focused on the use of these virtual

resources while completely hiding the underlying physical resources. In other

words, while the VIM API is a virtualization API, the vCloud API is a

pure-virtual API. The two do not mix: each represents a different plane of

abstraction onto which subject entities are projected. However vCloud Admin API

will provide VMware specific extensions to deal with VIM specific objects


What documentation is currently available?

The API Programming Guide, API Specification and

schema definition files are available for download from the vCloud API

Developer Community site &lt;link to;. These

documents will enable developers to write code to the API specification.


What licensing terms govern usage of the vCloud API?

The vCloud API

Specification and schema definition files are being released under a permissive

(MIT like) license. Developers and service providers are free to make use of

the API under a royalty free license that allows for extension. For specific details on the license terms

please reference the document itself.

Audience use cases

Who is the vCloud API targeted towards?

The vCloud API is targeted towards developers across our service provider, ISV,

end customer and cloud communities

*What are some key distinguishing characteristics of the vCloud


  • Pure
    virtual nature makes it very easy to use and implement

  • Supports
    the industry standard OVF 1.0 format.

  • It
    is designed to support existing customers as well as enterprise still running
    applications on physical hardware to move their legacy applications into the

  • Developing an
    application to the vCloud API, makes it compatible with a large number of
    VMware-based private clouds or public service provider clouds

How do service providers use the API?

As part of their public cloud offerings, Service Providers can

build “Infrastructure as a Service” portals with a standard, consistent programmatic

interface. They can also use existing portals to orchestrate cloud functions

through the API.

How do ISVs use the API?

ISVs can extend their existing software to make use of cloud

services that present the vCloud API or build entirely new applications that

make use of the API.

How do enterprises use the API?

The vCloud API enables enterprises to build private clouds based

on the VMware technology stack. They can extend their workflow automation and

provisioning to make use of vCloud services that implement the vCloud API.


Does VMWare publish the sources of the vCloud Java SDK ? If they do, can you please point me to them.




Version history
Revision #:
1 of 1
Last update:
‎08-28-2009 06:23 PM
Updated by: