2. • Our product, Nephorider, wants to provide a one
click visualization of a cloud based infrastructure.
A diagram like in computer school
• This include : Load Balancers, Instances
(including image information), Volumes, SQL DB
basic network information (e.g elastic IP)
• Now how many queries should be made to get
all this info?? We want the shortest time
Context
3.
4. Amazon AWS
• No authentification phase
• Principles: Action+XML
• Usually requests returns all information for an
category of items. The “container” contains all its
content but with no details
• Some questions requires additional calls. Disk
image, is an IP elastic
• 8 regions
6. Rackspace with Openstack
• Needs one pre-authentication (although it can
last)
• Global call may or not return all informations
needed to draw the graph (cf DB)
• Not always “descending logic” between
“containers” and content. E.g instance to volume
comes with volume info
• AFAIK no concept yet of Elastic IP (see http://
feedback.rackspace.com/forums/71021-product-feedback/
suggestions/998625-configurable-ip-addresses)
• 5 regions
7. Rackspace with Openstack
Fixed
• /v2/tokens + Authentification
• 5 Regions (volumes/details+/servers/detail+ /
instances (for DB) + /loadbalancers)
Variables
• NLoadBalancer *loadbalancers/LBID for
instances (Node keys)
• Max(NInstances*(image))
• NDB * instances/instance_id/users (for info on
users)
> 22 requests count like 30
8. Google Compute Engine
• Requires an OAuth dance for authorization, then
with limited token
• At first optimization per region is possible
through /projects/PROJECTID/regions (but
apparently not zones). Returns usage per region
{!
"metric": "CPUS",!
"limit": 24,!
"usage": 1!
},!
• Better there are aggregated calls over all regions
!!!
9. Google Compute Engine
• APIs have fields so this allow to ask for the
needed information
• Inside an API call URL to the “containee” object
is returned
• Load balancing is not named “per
se” (ForwarwindRule and TargetPool)
10. Google Compute Engine
Fixed
• /oauth2/token
On Compute Engine
• /project/PROJECT-ID/aggregated/instances/
• /project/PROJECT-ID/aggregated/disks/
• /project/PROJECT-ID/aggregated/targetPools
• /project/PROJECT-ID/aggregated/
forwardingRules
On SQL
• /project/PROJECT-ID/instances/
6 to 8 (images and IP not explored)
11. Conclusion
• Although format changes (XML versus JSON),
AWS and Rackspace are in same philosophy.
Iterate over regions.
• By itself Rackspace requires even more calls per
region
• Google Cloud Platform is more a next generation
API. This really came as a “last minute surprise”
• We want the other to catch up!!!!!