The Power of CloudStack Automation

Leaseweb uses the open source Apache CloudStack technology to manage the complex and sizeable infrastructure used to host tens of thousands virtual servers in our VPS and private cloud platforms around the world.

CloudStack offers a powerful open API.  It is so effective that even the management UI is in essence only a fancy web front-end to that API.

At Leaseweb we rely completely on the CloudStack API for our automation. Both the integration with our customer facing systems such as the customer portal and order forms, as well as coupled back-end systems for billing and such, all call on the API.

Additionally, our platform engineers extensively use the API to manage, maintain, and upgrade the platforms.  The latter may come as bit of a surprise.  APIs are often seen as the exclusive realm of developers who create custom code with quite a steep barrier against casual ad-hoc use.

That is where cloudmonkey comes into play.  Cloudmonkey is an open source tool that simplifies and wraps even the most complex API calls in an easy to use, zero programming command-line utility, complete with a history and TAB-completion.

Actions that are cumbersome to perform in the management UI, let alone too error-prone and time-consuming to manually repeat multiple times in datacenters on three different continents, can quickly be reduced to several lines of shell script.  Simple reports often only require no more than a single command such as the following example that lists the total private capacity, the current usage and the remaining capacity:

cloudstack automation

A little-known fact is that our private cloud customers also get full access to that same powerful API.

To get started with the API and your own CloudStack automation, please refer to this more technical How-To in our Knowledge Base which explains in detail how to enable API access, and provides some more real-world usage examples for cloudmonkey.


Leave a Reply

Your email address will not be published. Required fields are marked *