APCA Case Study on AWS
About the company
Asia-Pacific Communication Associates Nepal Pvt Ltd (APCA) is one of the leading media service providing companies of Nepal. They provide print media, online news portals, and they also have the largest printing house in Nepal.
APCA developed a mobile application for android and ios devices which serves as a networking platform for foodies. It helped its users compare restaurant choices by ratings, distance, cuisines, and popularity. The app, named FOUT, was a very good way to help food enthusiasts find a better place to dine. With a good user base and traffic spikes during the weekends, FOUT app needed a managed and scalable architecture that could handle sudden spikes without server downtime. At the rate this app was growing, APCA needed to find a solution beyond their traditional setup, a solution that could be implemented without financial loss, while simultaneously enhancing the experience of their users.
Genese, being an advanced consulting partner of AWS, proposed a solution of migrating their current workloads to AWS. Without the need of investing in hardware that would be outgrown, the benefits and flexibility of this migration were explained. Genese suggested a solution that would adopt AWS services for hosting FOUT app.
The following AWS service options were proposed for migrating to cloud:
- The design suggested the use of Ec2 for hosting the application to provide resizable compute capacity in the cloud.
- We suggested using various ec2 instances with EBS volumes of different configurations to be used for web/application servers.
- S3 buckets for storing static objects with secure implementations for the data at rest and transit.
- Use of S3 bucket and object level policies to enforce fine- grained access control of the resources.
- Cloudfront was suggested to use as a CDN to provide fast and secure delivery of data with low latency and high transfer rates.
- Suggested the use of an SQL database.
- Use of multi-AZ MySQL database engine.
- Suggested the use of RDS replicas in case of any read-heavy workloads.
Being one of the top media service providers in the country APCA was moving to AWS for fast and high-performance content management and distribution. The solution proposed by Genese provides flexibility and cost efficiency. It implemented various AWS services that replicated their on premises architecture on the cloud but with several added benefits.
During the development phase of the application, they required three environments: Development, Staging, and Production. Since the development environment doesn’t require high availability we recommend to minimize the number and size where possible. Their staging and production architecture are the same with highly available and fault tolerant configurations.
To make the application highly available and fault-tolerant, we recommended them to create VPC network in Multi-AZ. Since Mumbai region only had 2 AZ’s, we suggested for 4 subnets: 2 public and 2 private. Their main application servers reside in multiple subnets under an Application load balancer which evenly distributes incoming traffic to servers in different Availability Zones.
The architecture included various EC2 instances (6 instances) of type t2.medium with EBS volumes of different sizes and types. The EC2 instances were used for web/application servers, ElasticSearch cluster, and Neo4j graph database.
To fulfill the Elasticsearch requirements in their application we created Elasticsearch clusters inside EC2 instances. We recommended the use of Amazon’s Elasticsearch service, but they were willing to stick to that for now. They will surely be using more of the AWS managed services in the future.
The main database of their application resided in Amazon RDS with Multi-AZ MySQL database engine. We also recommended using RDS replicas in case of any read-heavy workloads.
They were using block storage for static file storage and own configured servers for content delivery. We replaced that with the use of CloudFront and S3 for content delivery and storage for higher scalability and availability.
The POC was successfully completed in little over a month and the application began running entirely on AWS.