Cloud Zone is brought to you in partnership with:

Vincent Partington has more than 10 years of enterprise Java experience. He has written and presented on topics as diverse as performance, security, RIA, and persistence technologies. Vincent Partington is the Chief Technical Officer of XebiaLabs where he is responsible for their flagship deployment automation product Deployit. Vincent is a DZone MVB and is not an employee of DZone and has posted 25 posts at DZone. You can read more from them at their website. View Full User Profile

Scaling the Hybrid Cloud Horizontally

07.23.2012
| 2453 views |
  • submit to reddit

After being derided as "unpure" by cloud enthusiast when the idea was first presented, we can now safely say that the hybrid cloud is here to stay. The mix of dynamic requirements within the enterprise related to government/industry regulations, security and performance require a more flexible environment than the public cloud can offer. So what does a hybrid cloud actually mean? A hybrid cloud is a composition of a private cloud and public cloud. There are two types of scaling patterns when using a hybrid cloud: vertical and horizontal.


A vertical scaling pattern is the better-known scenario. This pattern spreads different components of one application across different clouds. An example of this would be where one part of an application, typically the data, is kept private, while another part is run in the cloud, such as the web front end or calculations being made on the data.


A horizontal hybrid cloud scaling pattern, on the other hand, spreads different instances of applications across different clouds. In this scenario, enterprises develop their own applications and run them in multiple environments, some on-prem, some in the cloud. Developers run it in a test environment, testers test it in a QA environment, and users access the version that has been deployed to the production environment. Each of these environments can be in the cloud or on-prem depending on the security, performance, flexibility and scalability requirements of that environment.

This scenario lends itself to the introduction of cloud computing into the enterprise. Instead of having to hand over your critical production installation to the cloud, an enterprise can “cloud enable” just a few environments. Since there are often fewer restrictions or legislative demands around test and QA environments, this is a good place to start.

This approach has a number of interesting advantages:

  • Easy entry point into the cloud - No limitations related to regulatory, security and performance limitations.
  • Cloud training ground - An organization can learn how to use the cloud in non-production environments before fully rolling out.
  • Greater efficiency - While a production environment will certainly have its load spikes (consider a weather site when a snow storm hits the country!), every enterprise has fluctuating capacity requirements of its non-production environments.
  • End the battles - An important project can demand all the available capacity of test and QA environments. With a hybrid collide, organizations can run multiple large projects with the same deadline. No more fighting for those test and QA environments!
  • DR doesn't need to mean drain - Unless you have a lot of problems in your production environment, the disaster recovery environment will spend most of its time sitting there and looking pretty. Even worse, it has to be able to support the same loads as the production environment - and then some!

It all sounds ideal but there are few drawbacks to the horizontal hybrid cloud you'll need to consider:

  • Security & compliance - Some enterprise regulatory and security restrictions can prohibit you from using sensitive test data in a cloud-based testing environment. Then again, you'll probably want to give your developers and testers dummy or anonymous test data even if testing on local infrastructure.
  • Performance - Testing, especially the load and stress variety, should be done in a representative environment. The performance characteristic of cloud infrastructure is likely to be different from your on-prem infrastructure. Once you've established the performance ratio between the cloud infrastructure and your local infrastructure, you'll be able to offload a lot of performance testing to the cloud.
  • Deployment - Deploying an application to the cloud will be technically different than deploying that same application to local infrastructure. A scalable deployment automation solution that will allow you to eliminate the differences is essential.

While greenfield projects and startups will have no need for a horizontal hybrid cloud strategy, large enterprises can use the horizontal hybrid cloud to start harnessing the power of the cloud. Using this approach, enterprises can accelerate the development of large in-house applications and dramatically reduce time to market for essential new features!

If you are interested in learning more about XebiaLabs, we will be hosting a webinar "Taking Release Management to the Next Level." The webinar will cover how to accelerate the delivery of apps by implementing one platform for error-free, self-service deployments to middleware and cloud environments. July 25, 12:00 pm EDT/ 18:00 CET. You can register here: http://bit.ly/Ns8N7q

Published at DZone with permission of Vincent Partington, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)