Compute

The compute component of libcloud allows you to manage cloud and virtual servers offered by different providers, more than 20 in total.

In addition to managing the servers this component also allows you to run deployment scripts on newly created servers. Deployment or “bootstrap” scripts allow you to execute arbitrary shell commands. This functionality is usually used to prepare your freshly created server, install your SSH key, and run a configuration management tool (such as Puppet, Chef, or cfengine) on it.

Besides managing cloud and virtual servers, compute component also allows you to manage cloud block storage (not to be confused with cloud object storage) for providers which support it. Block storage management lives under compute API, because it is in most cases tightly coupled with compute resources.

Terminology

Compute

  • Node - represents a cloud or virtual server.

  • NodeSize - represents node hardware configuration. Usually this is amount of the available RAM, bandwidth, CPU speed and disk size. Most of the drivers also expose an hourly price (in dollars) for the Node of this size.

  • NodeImage - represents an operating system image.

  • NodeLocation - represents a physical location where a server can be.

  • NodeState - represents a node state. Standard states are: running, rebooting, terminated, pending, stopped, suspended, paused, erro, unknown.

Key Pair Management

  • KeyPair - represents an SSH key pair object.

Block Storage

Supported Providers

For a list of supported providers see supported providers page.

Pricing

For majority of the compute providers Libcloud provides estimated pricing information which tells users how much it costs per hour to run a Node with a specific NodeSize.

For more information, please see the pricing page.

Deployment

Libcloud provides deployment functionality which makes bootstrapping a server easier. It allows you to create a server and run shell commands on it once the server has been created.

For more information and examples, please see the deployment page.

SSH key pair management

Compute API also allows you to manage your SSH key pairs.

For more information and examples, please see the key pair management page.

Examples

We have examples of several common patterns.

API Reference

For a full reference of all the classes and methods exposed by the compute API, see this page.