10 minutes fun with cloud api comparison
DESCRIPTION
A small study on what it would take to have different cloud providers integrated into Nephorider and their API philosophy,TRANSCRIPT
![Page 2: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/2.jpg)
• 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
![Page 3: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/3.jpg)
![Page 4: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/4.jpg)
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
![Page 5: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/5.jpg)
Amazon AWS
8*(DescribeInstances+DescribeLoadBalancers+DescribeVolumes+DescribeDBInstances)
Fixed
Variables
Max(NInstances*(diskimage-id))+Max(NInstances(checkstatic))
> 42 requests, count 50
![Page 6: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/6.jpg)
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
![Page 7: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/7.jpg)
Rackspace with OpenstackFixed
• /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
![Page 8: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/8.jpg)
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 !!!
![Page 9: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/9.jpg)
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)
![Page 10: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/10.jpg)
Google Compute EngineFixed
• /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)
![Page 11: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/11.jpg)
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!!!!!
![Page 12: 10 minutes fun with Cloud API comparison](https://reader030.vdocument.in/reader030/viewer/2022020122/554a51d7b4c905572f8b4926/html5/thumbnails/12.jpg)
Thank You!