Hybrid Cloud has gained significant mindshare among the enterprise customers. Almost all major cloud vendors are providing hybrid cloud solutions today. Let’s understand the basics of hybrid cloud, and the technologies that make it happen.
A hybrid cloud uses a combination of private cloud and public cloud services. A company might have a private cloud in its own data-center, and at the same time leverages some of the public cloud services. For example, a company might use a public cloud for test and development while using a private cloud inside the organization (or hosted) for production deployment. Another example is, deploying an on-premise application running on a private cloud into a public, to meet unexpected burst in demand.
Some typical hybrid cloud usage scenarios are:
- Bursting from a private cloud to a public cloud during peak load.
- Backup and Disaster Recovery
- Dev and Test setup
Conceptually a hybrid cloud deployment will look like the following:
The hybrid cloud management s/w provides the unified ‘single pane of glass’ view for the private and public cloud. There are hybrid cloud management products from IBM, HP, VMware, RedHat among others.
However, the key aspect is how to connect and extend compute, storage and network between the private and the public cloud. Let’s understand the technologies involved:
If the private and public cloud is implemented using the same technologies, like OpenStack, then integration becomes much easier. However, practically this may not be the case. The private cloud might be built on OpenStack, but the preferred public cloud for hybrid might be Amazon Web Services, and not an OpenStack based public cloud.
There are existing OpenSource libraries, which make it easier to work with various cloud providers, and the same can be used when building a hybrid cloud.
Some of them are listed below, and are a good source of technical knowledge for understanding.
It’s a Ruby library and includes support for OpenStack, AWS, Softlayer and many other cloud providers.
It’s a Python library, and includes support for OpenStack, AWS, Softlayer and many other cloud providers.
It’s a Python SDK for Amazon Web Services.
It’s a library providing a translation layer to convert OpenStack API calls to different provider’s API calls.
5. Thoughtworks EC2 driver, which allows cloud-bursting to EC2 from within OpenStack itself
Whether its application data, or VM images, these need to be made available in the public cloud in order to realise the hybrid cloud scenarios.The key aspect is how to migrate this data to a cloud.
There are various storage offerings from multiple vendors for hybrid cloud. There are storage gateway appliances, which provide mechanism to migrate data from on-premise to cloud storage.
Listing few of them for reference:
- Softlayer Aspera
Aspera can help with transferring data across clouds overy any network
- TwinStrata’s CloudArray
- Microsoft Storsimple
- Amazon storage gateway
It connects on-premise application with AWS cloud storage.
For hybrid cloud to work seamlessly, the network name space (IP addresses, port numbers, host names etc) should be common across both the clouds. For example, an application in the public cloud should be able to reach out for services (like authentication, DNS etc) in the private cloud without any network changes.
A good start to understand the network pieces is OpenStack Neutron, Nicira NSX and Juniper’s OpenContrail. These technologies helps to bridge the private and public cloud network.
Hope this will give you a good start to explore hybrid cloud technologies in depth.