Case Study

AWS Migration Case Study

Migrating Existing Applications to the AWS Cloud

Tuesday, 20 October 2020

By Cloudberry360

AWS Migration Case Study

Cloudberry Technologies created a platform to capture digital market intelligence with Amazon Web Services and a custom iPhone app that replaces paper-based processes. By leveraging the AWS Cloud, Cloudberry was able to improve the availability, durability and performance of the platform whilst reducing the overall total cost of ownership when compared with the original traditional hosting provider.

Background

Cloudberry’s approach was to adopt a typical 3-tier enterprise web application to the solution. A web tier enables the administration and management of the data collection tasks, an app tier handles the dispatch, collection and analysis of tasks, all backed by a MySQL database. Operators of the web application can create campaigns of tasks to be completed. The application tier processes these campaigns and packages them into job sets for each Agent.

iPhone App

Cloudberry created a custom iPhone App that receives the messages and allows the agent to perform their tasks and record the results digitally. The results of the data collection are then returned to the application tier for verification and analysis. The App functions entirely offline with a local database due to difficulties with mobile reception in many areas.

The results from the Agent’s activities are verified by the application tier and any discrepancies identified. If necessary, it will automatically create additional tasks and dispatch them to agents until it is confident in the accuracy of the results.

Once verified, analysis of the results is undertaken and a regular export is made available for the customer via a B2B interface. Regular data exports and reports are returned to the client at the end of each campaign.

During the live trial phase, Cloudberry identified an opportunity to reduce the Total Cost of Ownership and dramatically improve the overall availability and durability of the application by migrating the existing fixed infrastructure to the more flexible utility model offered by Amazon Web Services.

The AWS migration allowed Cloudberry to reduce the costs to our customer by:

powering off resources when not in use;

removing the need for a cold disaster recovery environment;

reducing the base instance size to that required to meet the average demand

scaling the infrastructure automatically to meet peak demand.

Amazon Web Services’ transparent approach to security was in stark contrast to the opaque setup of the existing infrastructure vendor. The security compliances that AWS has gained were instrumental in allying customer concerns, and the AWS team were able to answer many specific additional security questions that the customer had.

On top of the AWS physical security and compliance, Cloudberry was able to use AWS platform features such as VPC to increase the network security and build hardened templates on which to base the machine images.

A key driver of the proposal was the ease of migrating the existing application stack into the AWS infrastructure. The selection of supported Amazon Machine Images (AMI) from the major Linux distributions allowed Cloudberry to have a proof of concept application up and running within a matter of hours, demonstrating the capabilities of the platform to our customer.

Similarly, an AWS Relational Database Service (RDS) instance was provisioned and available for connection from existing MySQL tools to populate sample data.

Reducing Costs

We built a simple Command and Control service to live within its infrastructure. One of its key responsibilities lies in the starting and stopping of EC2 instances as required. This allows for the balancing of resource availability with the goal of reducing costs; EC2 instances can be automatically started and stopped on a schedule according to simple metadata attached to the instance.

Going Live

The nature of the Amazon Web Services infrastructure allowed Cloudberry to run several development, testing and production environments for less than the cost of a single fixed environment under the existing provider. In this manner the new platform could be thoroughly tested and benchmarked to ensure compatibility and performance prior to flicking the switch.

Outages were minimised by limiting the live migration to replicating database changes to the new production environment, and reducing the Time to Live (TTL) on the DNS records prior to the change over.

Underpinning most other Amazon Web Services products is the Elastic Compute Cloud (EC2). Effectively virtual servers in the cloud, Cloudberry utilized many features of the EC2 service to power the core of the application.

Machine Instances

A single Amazon Machine Image (AMI) was built based on Ubuntu that includes Apache, PHP and all required dependencies. When booting as an EC2 instance, custom scripts in the AMI interrogate the metadata provided by the Auto Scaling service and direct the instance to configure itself for its purpose: a web server or application tier worker; and to start serving requests.

These instances are backed by Amazon Web Services’ Elastic Block Store (EBS), which provides block-level access to disks on the instances, but enables the simple snapshotting of live volumes and fine-grained tuning of performance and volume size.

Testimonial

SEND YOUR QUERIES

Want to start a conversation?