Two ways to integrate AWS APIs in hybrid clouds

amazon-web-services-logo.png
amazon-web-services-logo.png

 Image: Amazon

How do you embrace Amazon Web Services (AWS) with hybrid cloud deployments inside the data center? This is a question I'm hearing more often within the enterprise community.

Amazon doesn't directly offer a hybrid cloud solution. The lack of on-premises options has prompted vendors to start providing solutions that allow AWS functionality or outright compatibility within the enterprise data center. Here's a brief look at two of these options.

One API to rule them all

While AWS may be a compelling option for greenfield environments that aren't looking to incur the expense or management overhead of a local data center, it presents challenges to established enterprises. AWS takes a developer-centric view of the data center; this allows for the possibility of apps such as Netflix that scale out as needed by adding more application instances.

In contrast, most data centers are built and managed from the view of infrastructure operations. Applications built for traditional infrastructures typically scale up (by scale up, I mean traditional enterprise apps expand by adding resources to the servers hosting the application); this impacts the ability of the business to quickly expand or contract data center resources based on market conditions.

For organizations that want to expose the infrastructure to application developers, as is the case with AWS, the most common approach is to use a cloud management platform (CMP) such as OpenStack. However, not all CMPs support AWS-specific APIs. If a customer wants to create hybrid applications that leverage internal data center resources and cloud-based resources, they may be required to use multiple APIs, which creates overhead, and that complicates the development process.

Option 1: AWS-compatible CMPs

One method is to deploy a CMP that provides API-level compatibility with AWS. Eucalyptus is a standalone CMP. Prior to the OpenStack era, Eucalyptus was the default selection for data centers looking to deploy AWS-compatible clouds. Eucalyptus has since been by absorbed by HP's Cloud group. Prior to the acquisition, the Eucalyptus team was working on integrating the platform with OpenStack, promising an AWS-compatible distribution of OpenStack. The future of Eucalyptus is uncertain after a recent management shakeup.

Another open source CMP that pre-dates OpenStack is CloudStack, which was originally controlled by Citrix and is now managed by the Apache Foundation (Citrix still sells a commercial version of the solution). CloudStack has supported AWS since the initial community release from Apache. Questions remain about the future of CloudStack -- OpenStack has garnered most of the press and mindshare around open source cloud management, but there's a sense that momentum for the project has waned.

Another approach is to add API-level compatibility to OpenStack via AWS plugins. EMC has embraced OpenStack; as part of its OpenStack strategy, EMC acquired CloudScaling in October 2014. CloudScaling had been a very vocal proponent of providing AWS compatibility in the core distribution. As such, EMC recently announced a drop-in that provides API compatibility for OpenStack.

Option 2: Cloud proxies

Another option is to hedge your bets and look to a cloud translation service such as Cisco or EMC's hybrid cloud solutions, which act as an onsite broker to external cloud services. The API becomes less of a concern. Developers code to an API provided by the proxy service, which has the capability to translate the API calls to any public could. The advantage of this approach is that organizations can leverage more than one external cloud provider. Specifically, Cisco's Intercloud solution is looking to work with several public cloud providers. EMC has embraced a dual strategy that includes building solutions around the VMware cloud ecosystem and OpenStack. Both EMC solutions would offer public cloud connectivity.

Conclusion

Data center managers need to understand the value of AWS compatibility vs. providing the ability to scale out to several cloud services. While AWS compatibility provides a familiar development environment for cloud app developers, delivering this capability is achievable without cloud vendor lock-in. Options such as deploying a CMP will give data center managers complete control of the API and interfaces to public clouds. This flexibility comes at the cost of convenience. Purpose-built solutions from vendors such as EMC and Cisco provide an experience closer to turnkey but lose some flexibility as data center managers must wait for products to mature.

If you have been considering private or hybrid cloud, has AWS-level compatibility been a consideration? Let us know in the comments.

Also read

Disclaimer: TechRepublic and ZDNet are CBS Interactive properties.