Hi,

I am about to start work on the Terremark driver. D. Lutter asked me to 
share some notes on the Terremark vCloud API for future reference.

The Terremark vCloud Express API is based on VMWare's vCloud API but 
imho it is sufficiently different to warrant its own distinct driver 
(though in the future if we add another vCloud based driver there can 
certainly be some generalisation):

1. Summary and main entities of the vCloud Express API
2. Some differences between vCloud Express and 'vanilla' VMWare vCloud
3. Provisional mapping of vCloud Express entities to deltacloud concepts.

1. Summary and main entities in vCloud Express:
===============================================

* vCloud express API is at: 
https://community.vcloudexpress.terremark.com/en-us/product_docs/w/wiki/DefaultWikiPage.aspx
 
(the generic VMWare vCloud API is at: 
http://communities.vmware.com/community/developer/forums/vcloudapi)

* 'Organization' - the top level element and entry point to the API. 
After HTTP authentication you get the Organization URL returned. Has 
children 'vDC', 'Catalog' , 'tasks' and any currently running instances 
('vApps'). The Organization is less significant in the vCloud Express 
API than in the VMWare vCloud.

* 'vDC' - virtual datacenter. An allocation of virtual resources. In 
tMark express, each Organization can only have exactly one vDC. Thus for 
all intents and purposes this is the top level element (i.e. 
organization is more/less redundant here).

* 'Catalog' - contains 'vApp templates' from which vApps can be 
instantiated.

* 'vAPP' -  a virtual machine packaged in OVF format. These are 
instantiated from a 'vAPP template'

* 'Network' - an assignment of private IP addresses given to each vdc 
(60 by default)

* 'Internet Service' and 'Public IP' - these two entities provide 
'outward facing' networking. Public IP is self explanatory (a publicly 
routeable address) and Internet Service is about configuring 
ports+protocols for specific services. So can configure a vAPP to host a 
web server by associating the vAPP with Internet Service port 80 HTTP. 
The Internet Service is then associated with exactly one public IP.

* 'Compute options' - combinations of memory and number of cpus with 
which to configure vApps. Also 'customization options' define whether 
network and password can be configured for a vapp.


2. Some differences between vCloud Express and 'vanilla' VMWare vCloud
======================================================================

* 'Organization' entity is less important in vCloud Express. No 
distinction between hard/soft walled Organizations. Furthermore as there 
is only 1 vDC/Organization in vCloud Express the vDC is essentially the 
top level element. The 'Get Organization' call gives different results 
in vCloud Express than in vanilla.

* In vcloud express the vDC has as child elements 'Catalog', 'Internet 
service' and 'public ip'. In vanilla vcloud, 'Internet Service' and 
'Public IP' dont exist, 'Catalog' is child of 'Organization'.

* 'Compute' and 'customization options' only exist in vCloud-Express...

* In vanilla vCloud the catalog contains references to all entities of 
the organization, like vapp templates but also iso images and 
installable software. However in the vcloud-Xpress the catalog 
exclusively holds the vAPP templates and nothing else.

* vCloud-Xpress does not have a network entity at the 'Organization' 
level... instead have 'Internet service' and 'Public IP' (ports, and IP 
address respectively) with which you configure all vApps (which get 
private addresses). The 'network' entity IS available in vCloud-X but as 
a child of the vDC (i.e. you get it when you GET vDC)

3. Provisional mapping of vCloud Express entities to d-cloud concepts
=====================================================================

'Instance' <==> 'vAPP'

'Image' <==> 'vAPP template'

'Flavor' <==> 'compute options' (and perhaps 'customization options')

'Realm' <==> 'Organization' OR 'Realm' <==> 'vDC' (probably the latter)



--marios



_______________________________________________
deltacloud-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/deltacloud-devel

Reply via email to