Apache Deltacloud is a REST-based (HATEOAS) cloud abstraction API. It enables management of resources in different IaaS clouds using a single API. There are back-end drivers communicating with each cloud provider's native API and the Deltacloud Ruby framework provides the basis for implementing drivers to new IaaS clouds.
Apache Deltacloud currently supports many back-end cloud providers. With Deltacloud project, you don't have to limit yourself to a single cloud provider. Instead of taking care of a number of clouds, you are dealing with just one API abstraction.
Any part of the official API can be reached through the main entry point, by default http://localhost:3001/api. The entry point lists the resources for the current cloud provider, which the server knows about.
A distinct organizational unit within the back-end cloud, for exapmle a datacenter. A realm may but does not necessarily represent the geographical location of the compute resources which you access.
Hardware profile define a sizing of the instance (virtual machine). Profiles are assigned to instances and they determine properties, such a 'CPU', 'memory', 'storage', etc.
Templates (virtual machine images) from which instances are created. Each image defines the root partition and initial storage for the instance operating system.
A realized virtual server, running in a given back-end cloud. Instances are instantiated from server images.
Instance states represent the instance lifecycle. at any time an instance is in one of states: start, pending, running, stopped, shutting_down, finished.
Keys represent credentials used to access a running instance. Keys can take the form of key (for example an RSA key) or of password (with username and password attributes).
A virtual storage device that can be attached to an instance and mounted by the OS.
Storage snapshots are copies, snapshots of a storage volume at a specified time.
A container for data blobs. The organizational unit of a generic key ==> value based on data store (such as Rackspace CloudFiles or Amazon S3). Individual data items, blobs, are exposed as a subcollection under a bucket.
A generic binary data item that exists within a specified bucket (an object in Amazon S3 and Rackspace CloudFiles).
Address represents an IP address. Depending on the back-end cloud provider, address can be public or private. Public address represents a unique, globally routable IP address, private address represents an address routable only within a private network.
A load balancer allows a distribution of ingress network traffic received by a specified IP address to a number of instances.
Sets of rules that govern the accessibility of a running instance over the public Internet.
Metrics collection provides useful information about your cloud resources, e.g. CPU utilization or network throughput. It may be helpful for developers for better scaling and monitoring. The collection is currently supported only for Amazon EC2 cloud. It collects information from Amazon CloudWatch service.