When Amazon announced a public beta of its cloud computing infrastructure in 2006, it was the beginning of the new computing era in which you can consume and pay for computing resources per use. Today we have a lot of public clouds, however, when you build and deploy your application you are often bound to a single cloud provider through its proprietary API. DeltaCloud provides you with unified API across major cloud providers that you can use to manage your virtual machines in major clouds such as EC2 or Rackspace.
Bob McWhirter, consulting softwate engineer from RedHat, explains:
With DeltaCloud API you do not have to think about a cloud provider you are targeting. You can be working towards your internal cloud and "spill over" to a public cloud, or may be you can just migrate from one public cloud to another public cloud. In general it should simplify your coding and how you deploy against all these different facilities.
DeltaCloud protects your apps from cloud API changes and incompatibilities, and you can concentrate on your app development and managing your cloud instances. DeltaCloud Core framework, which you host on your own servers, provides intermediary drivers that speak the DeltaCloud API on the front and communicate with various cloud providers using their own native APIs on the back. It does for the cloud what Mapstraction does for maps. It currently supports drivers for Amazon EC2, GoGrid, OpenNebula, Rackspace, RHEV-M and RimuHosting. More are planned soon.
DeltaCloud provides a REST API that defines a common model for instance management. With this API you can, for example, create a new instance, start and stop running instances, get details about hardware profiles and realms (such as datacenters or pools of resources in a datacenter). DeltaCloud further plans to expand its services to any facility that is offered in various clouds such as queueing services. DeltaCloud API is available as open source and since July 2010 its has been part of the Apache Incubator.