Thursday, April 26, 2012

Choosing a cloud API in a non-standardized world

Whether you use a public cloud service provider or maintain a private cloud, you are faced with the task of managing server instances. With Infrastructure as a Service, IT teams create and manage instances and perform load balancing and storage management using a control panel and an API. But different cloud vendors provide different APIs. With no standard cloud API in sight, how can IT pros maintain control and compatibility with current and future cloud services?

Several organizations have attempted to create a standard API for cloud computing. The Distributed Management Task Force (DMTF), for example, has an initiative to create standards for clouds; its draft specification is called the Cloud Infrastructure Management Interface (CIMI) Model and REST Interface over HTTP.

Even though several working groups are committed to developing a standard cloud API, standards only partially exist and vendor support is limited.
The European organization ETSI has published several studies regarding cloud technologies as well as some early APIs that apply more to grid computing than cloud computing. And Open Grid Forum produced a cloud-specific API; however, it’s only partially complete, as it doesn’t offer any monitoring or billing methods. Specifications for those features are in progress.

SimpleCloud, an organization headed by Zend Technologies that includes Microsoft and Rackspace, has created the basic Simple Cloud API.

While these moves demonstrate the industry is making some progress, as with any standards work, not all vendors are on board. Amazon Web Services (AWS), for example, has spent years developing a proprietary infrastructure and cloud API and has little incentive to switch to an industry standard. Other cloud vendors have developed their own standards, including ElasticHosts API, FlexiScale API, GoGrid API and SunCloud API. Additionally, OpenStack, the open source cloud software from Rackspace, is an entire infrastructure -- not just an API -- that’s gaining steam.

Centralizing cloud management and source libraries
A few companies have produced their own Web-based cloud instance management products, which are cloud vendor-agnostic. RightScale, for example, has a management console that provides a single API and a management console that works with multiple cloud vendors.

Several cloud developers strayed from building a standard API and, instead, offer a library that supports large cloud players and provides a simple API. Functioning like a translator, the library allows programmers to target an API and then specify which cloud vendor they want to use.

Apache Deltacloud is an open source cloud library that communicates with numerous hosted cloud platforms, including Amazon, Rackspace, GoGrid and RimuHosting, as well as a private cloud that’s built using OpenStack and VMware vSphere. Similarly, jclouds provides a single API that supports most major cloud vendors, including AWS as well as vendors that implement OpenStack.

No comments: