Question

I am trying to build a cloud VM brokering service which can borrow computer power as VM's on-demand, from the private/public cloud computer infrastructure. I have following goals for my service.

  • Abstract out vendor specific API in to a library which will give flexibility to choose any of the vendors (eg. EC2, rackspace) VM's with out affecting my service built on top of the library.

  • Also I should have flexibility to borrow VM's from a pure private cloud infrastructure built using stacks like OpenStack/Eucalyptus. Due to huge upfront Capex we will be using public clouds but we plan to move to private cloud infrastructure. So from design perspective we want to hide those details transparent to brokering service.

My question is if there are any open-source/commercial libraries or cloud development platforms, which can give me this functionality over which I can just build my service without really bothering about vendor specific details.

I came across rightscale & scalr but I am not clear if they are tools or platform. I need a platform over which I can develop not just to tools to monitor and auto provision cloud deployments.

TIA.

Was it helpful?

Solution

For python there's boto and libcloud.

For Java there's jclouds and also a port of libcloud (scroll a bit further down the page).

These are all open source libraries.

OTHER TIPS

Yes, there is! It's a ruby library called fog. It's the only library I have found which gives you a vendor agnostic interface to various cloud providers.

For an Openstack cloud (RackSpace and may be some other in future) you should consider using the following python libraries:

novaclient - client library for OpenStack Compute API
nova-adminclient - client for administering Openstack Nova

You will be able to write recipes to provision control and play with your VMs in an Openstack cloud.

Hope it helps. Let me know if you need any more help in this regard.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top