| 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 |
| ~~~~~~~ |
| |
| * :class:`~libcloud.compute.base.Node` - represents a cloud or virtual server. |
| * :class:`~libcloud.compute.base.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. |
| * :class:`~libcloud.compute.base.NodeImage` - represents an operating system |
| image. |
| * :class:`~libcloud.compute.base.NodeLocation` - represents a physical location |
| where a server can be. |
| * :class:`~libcloud.compute.types.NodeState` - represents a node state. |
| Standard states are: ``running``, ``rebooting``, ``terminated``, ``pending``, |
| ``stopped``, ``suspended``, ``paused``, ``erro``, ``unknown``. |
| |
| Key Pair Management |
| ~~~~~~~~~~~~~~~~~~~ |
| |
| * :class:`~libcloud.compute.base.KeyPair` - represents an SSH key pair object. |
| |
| Block Storage |
| ~~~~~~~~~~~~~ |
| |
| * :class:`~libcloud.compute.base.StorageVolume` - represents a block storage |
| volume |
| * :class:`~libcloud.compute.base.VolumeSnapshot` - represents a point in time |
| snapshot of a StorageVolume |
| |
| Supported Providers |
| ------------------- |
| |
| For a list of supported providers see :doc:`supported providers page |
| </compute/supported_providers>`. |
| |
| Pricing |
| ------- |
| |
| For majority of the compute providers Libcloud provides estimated pricing |
| information which tells users how much it costs per hour to run a :class:`Node` |
| with a specific :class:`NodeSize`. |
| |
| For more information, please see the :doc:`pricing page </compute/pricing>`. |
| |
| 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 :doc:`deployment page |
| </compute/deployment>`. |
| |
| SSH key pair management |
| ----------------------- |
| |
| Compute API also allows you to manage your SSH key pairs. |
| |
| For more information and examples, please see the :doc:`key pair management |
| page </compute/key_pair_management>`. |
| |
| Examples |
| -------- |
| |
| We have :doc:`examples of several common patterns </compute/examples>`. |
| |
| API Reference |
| ------------- |
| |
| For a full reference of all the classes and methods exposed by the compute |
| API, see :doc:`this page </compute/api>`. |