Search

Migrating to the Cloud: A Case Study

November 04, 2009


Cloud computing has lately gained a lot of interest for the advantages it deliver s from a price to performance ratio based on the principles of multi-tenancy, distribution  and  scalability  that forms the core principles of cloud computing. Specifically, companies such as Amazon  and others have made cloud computing accessible to a  large  community of developers  by  exposing web services APIs that allow 3rd  party companies to host their applications on the Amazon cloud and take advantage of the  robustness of their larger network instead of having to incur the cost of maintaining one’s  own data center. There is not only a strong commercial aspect supporting migration of application s to Cloud but also valid technical reasons to do so. Cloud based architectures allow applications to scale to massive levels dynamically with little tuning while leveraging the capabilities of the underlying infrastructure.

HSC was recently charted to execute a transformation project for an existing collaboration platform to a cloud based platform. In this article we have captured the strategy which was adopted for re-engineering the existing application from a shared hosting platform to a popular cloud based infrastructure and database platform.

The Customer Pain Points

The customer sells a web based hosted conferencing solution. The solution combines collaboration/communication tools in a friendly front-end for easy use by enterprise customers. With the increased acceptance of the platform it the customer felt that the current architecture was limited with respect to scaling. The customer had an option to upgrade to a much larger data-center and high availability solution, but the initial investment (in addition to re-engineering cost) for the upgrade meant the customer would have to put up a lot of money upfront without assured returns. Instead, the customer wanted a ‘scale as you grow’ solution that kept the company spending controlled.

Cloud based ‘pay as you go’ approach was the ideal solution for this customer. The cloud solution that was recommended by HSC was to use the Amazon cloud infrastructure. In addition to cost savings, the reliability of the amazon cloud was of significant benefit to the customer as well.


Existing Architecture


Figure 1-1: Original network deployment architecture 

The original collaboration application was architected as an n - tier solution, which build s on top of various SaaS platforms and supports multi -tenancy in its northbound interface. The only scalability it achieved was through classical load balancing techniques available today. Down time during failovers or planned upgrades was another challenge the development and support team was continuously facing. Their premium customers were looking at SLAs which would allow hot upgrades (upgrade while the system is live) and carrier grade availability. As part of this project, HSC was additionally tasked at proposing a solution strategy, which could be employed to take care of availability issues and reduce overall downtime under different circumstances. The figure below captures the original architecture for the website.
 

Figure 1-2: Solution Architecture


The Cloud Based Solution

After studying the existing architecture and the business requirements HSC proposed a cloud -based architecture which leverages the Amazon’s Elastic Compute Cloud (EC2) and other associated services to introduce dynamic scalability in the platform and at the same time takes care of issues related to availability during failovers and upgrades.

Key aspects of the proposed solution:

  • Minimum changes to the c ore code. Only the data layer was changed and a new module for system monitoring and scaling was introduced. 
  • Multi-dimensional data layer (support for dedicated and multi -tenancy hosting) 
  • Multi-Feature servers (dedicated and shared hosting instances of the application servers) 
  • Distribution across region based infrastructure for geography context sensitive load balancing and better throughput and turn- around time for customers
  • Software based load monitoring and dynamic solution scaling
  • Use of Amazon’s Elastic IP infrastructure and Availability zones for high -avaiability during failovers and upgrades    

The subsequent sections of the document explain the key architectural changes that HSC made to the solution and how they were deploying on the Amazon cloud infrastructure.

Multi-dimensional data layer

The data layer of the original solution was monolithic and had a complex architecture to support multi - tenancy. While the solution served the requirements, it featured a lot of complex overhead code for the business logic. Additionally there were limitations in the system for it to be deployed in a dedicated mode for customers who were heavy users, while maintaining acceptable performance for other users of the service.

HSC proposed a multi-dimensional data architecture, which could support both dedicated and a multi-tenancy mode.

  • The new architecture had each dedicated server instance complemented with a private MySQL database instance. 
  • The shared servers on the other hand used a shared database instance, which used MySQL and Amazon Simple DB in complementary fashion. 
  • Simple DB was primarily used for storing and fast retrieval of LOBs (Large Objects) 

Multi-Feature Servers 

The customer had different user profiles with different usage requirements and accompanied SLAs. During our technical evaluation of the system, it was felt that the existing multi-tenanted architecture imposed an uncalled for overhead on the platform which in turn lead to the underperformance of the solution even when deployed in a dedicated mode. However, such overheads were un -avoidable for subscribers who were occasional users of the system and had SLAs, which were compensated by a cheaper utility-based service offering.

Keeping these aspects in mind, HSC introduced a multi -feature server approach where dedicated server instances, without a multi- tenancy framework, could be deployed dynamically to cater f or subscribers with higher service usage and stringent SLA requirements.

These servers could either be instantiated dynamically or could be provisioned statically using a web based control panel, which consumes APIs exposed by Amazon Elastic compute cloud infrastructure. The web based control panel itself was built on top of HSC’s reusable components for EMS/NMS development.

Distribution based on Geography

To reduce the turnaround time and introduce distribution, the solution was deployed across various data centers of Amazon with location selection, instance count being a function of customers and associated SLAs in those regions. This approach to distribution also introduced the much needed redundancy which would prevent the system from a complete failure, and hence if the servers in on e -region were not reachable or loaded, the system would still be able to re-route and serve requests from other regions. Furthermore all data servers were replicated automatically at pre -determined time intervals or manually when instructed by the operator across the regions.

Load Balancing & Scaling

Distribution based on geography and solution scaling was built into the system using Amazon’s Load balancing and Auto scaling APIs.

High Availability

High availability was one of key concerns addressed by the cloud- based architecture. As is evident from the solution description high-availability has been introduced in the system at multiple layers. The key strategy for introduction of redundancy was based on utilization of Amazon’s infrastructure and isolating server instances from total infrastructure failure. This was achieved in the proposed solution through: -

  • Redundant deployment across availability zones in the same geographical region 
  • Deployment of a shared standby instance which can take over either as a dedicated or shared server 
  • Instance monitoring an d re-deployment 
  • Load balancing and auto scaling 

The figure below describes the network layout architecture of the new cloud hosted solution developed by HSC.
 


Figure 1-3: Network deployment architect ure of HSC’s proposed solu tion

Figure 1-4: Solution Architecture of the Cloud hosted solution

Figure 1-4, showcases the solution architecture of the pilot solution, which was deployed for the customer.

Solution Key Wins

The key wins of the solution were:

  • A dynamically scalable solution with small operational overheads 
  • Solution scalable across geographies 
  • Solution supports scaling a s a dedicated hosted server platform and a shared server platform 
  • Leverages the proven Amazon’s infrastructure and builds around available solutions thereby reducing investment and maintenance costs. 

References 

  • Amazon Elastic Compute Cloud, User Guide (http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/ ) 
  • Amazon Cloud Watch, Developer Guide (http://docs.amazonweb services.com/AmazonCloudWatch/latest/DeveloperGuide ) 
  • Auto Scaling, Developer Guide (http://docs.amazonweb services.com/AutoScaling/latest/DeveloperGuide ) 
  • Load balancing, Developer Guide (http://docs.amazonweb services.com/ElasticLoad Balancing/latest/Develope rGuide) 
  • Amazon SimpleDB, Getting Started Guide (http://docs.amazonwebservices.com/AmazonSimpleDB/latest/GettingStart edGuide/ ) 

 

 

 






No Comments




Add Comment