freshidea - Fotolia
AWS is the established leader in the infrastructure as a service public cloud market. On the flip side, OpenStack is the most well-positioned cloud platform for private cloud. And while the number of AWS users far exceeds the number of OpenStack deployments, many enterprises are also looking to build an OpenStack cloud. It's imperative for those companies to understand how to effectively deploy OpenStack and AWS in a hybrid cloud environment.
OpenStack and AWS both provide scalable compute, storage and network services. And there are parallels between AWS and OpenStack services. For example, both cloud providers offer object storage; AWS has Amazon Simple Storage Service (S3) and OpenStack has Swift. Similarly, OpenStack includes the Keystone package for identity management while AWS offers the Identity and Access Management service.
Despite having similar offerings, tight integration between the two cloud platforms is not always easy. AWS proprietary APIs and native tools: cloud platforms like Eucalyptus -- which Hewlett Packard Enterprise, at the time HP, acquired in 2014 -- distinguish themselves by providing AWS-compatible APIs. OpenStack, on the other hand, takes a different approach and created its own APIs. The lack of native low-level compatibility between the two platforms means adopters must take two broad strategies to work with both.
One approach is to use both OpenStack and AWS -- but treat them as loosely coupled resources. This requires IT teams to run two clouds that are connected via VPN over the Internet or via AWS Direct Connect on a private circuit between AWS and the data center. Using this strategy, enterprises can operate a private cloud on-premises -- or in a hosted environment -- with OpenStack. Resources could be deployed on either cloud, as appropriate. Data can be replicated between the clouds using the AWS Storage Gateway.
Administrators can manually tackle most other functions between the two platforms. For example, compute jobs could be moved between clouds by moving infrastructure configuration files, such as Ansible scripts, to configure a server. There may be some customization required for configuration scripts, depending on which platform is running. Startup script that loads a Web server and installs operating system updates, for example, can run in either AWS or OpenStack. But one that references an identity management service would need to be customized.
The advantage of the loosely coupled approach is that enterprises can take advantage of the best pieces of each cloud service. If you have workloads that fit well with a private OpenStack cloud and others that are well suited to AWS, you can deploy them in the preferred cloud. However, a drawback of this strategy is that you may need to duplicate work -- having to set up and maintain two different identity and access management systems, access controls, and governance policies and procedures.
Services, such as Cloudyn can help streamline management of each individual cloud. Its tool offers optimization, analytics and governance capabilities for OpenStack and AWS clouds, as well as Microsoft Azure and Google Compute Cloud. Although Cloudyn may not optimize across clouds, it does offer a single tool to manage multiple clouds.
Enterprises can also use a multicloud management layer such as Scalr or Dell Cloud Manager. Such products offer a single platform for managing multiple clouds. Scalr cloud management platform addresses both governance and DevOps techniques. Scalr includes components to manage identity, policy, provisioning, orchestration and billing within a cloud environment. A common API is used to interact with resources across clouds. Dell Cloud Manager offers similar capabilities to provision resources and automate tasks across clouds. Both Scalr and Dell Cloud Manager are available as software as a service or as on-premises deployments.
Multicloud management tools provide a layer of abstraction over disparate cloud platforms. With more commodity resources on each platform, such as virtual machines and object storage, the cloud services can work more cohesively. Using more specialized services, such as a NoSQL database that works in one cloud platform but not another, negates any value of using common platforms.
Challenges of a hybrid cloud deployment
Hybrid cloud migration can be difficult
Financial reward worth hybrid hurdles