On-premise to cloud migration case study
Seamless Migration of Client’s Applications & Databases from On-Premise to Cloud
Highly fault tolerant and cloud proof applications with 100% optimized database performance
A leading vendor who provides fleet management solutions.
The customer offers software solutions for fleet performance and safety management.
The customer's web applications and databases are hosted in physical servers located within a colocation service. Following are the major challenges faced by the client:
- Scalability: Since the components were hosted in physical servers, scalability was limited, time consuming and expensive.
- Availability: The application needed to be fault tolerant and all the components required multiple servers to maintain redundancy. Failover to redundant servers was a manual process. Any hardware failure required manual intervention, which caused the application to be unavailable during the maintenance period. Recovery Time Objective (RTO), in case of a disaster, was unacceptable.
- Performance: Since the server couldn’t cater to surge loads, the bandwidth performance was affected. The physical servers being used were limited in terms of expandability. Some of the server components were obsolete and getting replacements was difficult and expensive.
- Manageability: The databases were upwards of 4 terabytes in size. Due to the huge size, it was challenging to manage the databases in on-premise environment, using the current resources. Taking backup was a tedious process. Owing to the backup storage availability, Recovery Point Objective (RPO) could not be lessened. Taking frequent backups affected the performance of large databases. This in turn, prolonged the maintenance operations and impacted application performance. The Recovery Time Objective (RTO) was high because of the time taken to restore the huge databases.
- Disaster Recovery: Since the existing bandwidth was insufficient to maintain a replica of the entire data at an offsite location, disaster recovery was a pain point.
- The application has to be made highly scalable and available.
- The application should perform well even during heavy traffic.
- Introduce fault tolerance into the application.
- Need to perform routine maintenances without any performance impacts on the application.
- The customer should be able to offer required level of RTO and RPO to satisfy their clients.
- Conduct a POC to verify that the application is cloud proof.
- Thoroughly evaluate the performance impact by migrating the copy of the applications and databases to cloud.
- Conducted a feasibility study on migrating the .NET web application and the MSSQL databases into Cloud. Amazon Web Services (AWS) and Microsoft Azure were shortlisted as the suitable cloud providers.
- The main technologies evaluated were AWS EC2, ELB, EBS, RDS, VPC, Azure VMs, load balancers, managed disks and Azure SQL.
- A proof of concept was developed to verify that the application works well in the Cloud.
- AWS CloudFormation was used to create the stack. The stack was deployed in a (Virtual Private Cloud) VPC so that communication between various components of the application occurs rapidly.
- A copy of the databases was setup in storage optimized EC2 windows instances in AWS. The webservers were deployed in general purpose EC2 windows instances. The windows services and console applications were deployed in compute optimized windows instances.
- The webservers were deployed behind AWS ELBs for redundancy and scalability.
- AWS EBS snapshots were scheduled as backup.
- AWS CloudWatch was used for monitoring and evaluating the performance of the instances.
- Apache JMeter was used for stress testing the application in cloud. A multi node network of JMeter servers and a single controller was setup. Simulated traffic was generated using test scripts and the performance was recorded and analyzed.
- Performance statistics was shared with the client for their decision on moving the applications to the Cloud.
- Microsoft Azure Site recovery was proposed as the disaster recovery solution for the applications and databases hosted in AWS.
- Advanced configurations increased the ability to handle peak hour loads
- Effective communication between multiple application components improved overall performance
- Highly fault tolerant and cloud proof application
- Improved the database performance through storage optimization
Results at a Glance
- 100%manageable and scalable cloud solution
- 2xreduction in application downtime
- 40%cost savings with efficient data recovery
© 2005-2018 Zerone Consulting Private Limited. All Rights Reserved