Poing Interactive is a US invested start-up company, focusing on building a new way of delivering ads into games. Their main products are In Game Advertising Platform, and Playscreen.
The In Game Advertisement Platform is a platform that meant to delivers fully integrated ads into games. Using this platform, an ad can be fully embedded into a game, as its assets. Players will engage with ads as they engage with other game’s assets or properties.
Playscreen is a new breed of arcade. It’s an Android PC with a 42 inch touchscreen TV, now placed in Shopping Malls, where people can be introduced, play and download registered games for free.
1. The challenges
There are 4 systems running businesses of Poing: Advertisements, Reward, Management and CDN systems on DigitalOcean infrastructure.
- Each system contained a single linux server for webserver and an installed MariaDB inside those servers, which was too risky.
- No Virtual Private Cloud (VPC), which was difficult to manage subnets and security
- Using HA proxy server for Load balancing, which can be overload and limited on numbers of served requests and bandwidth
- Using Linux server for CDN system, which was not fully CDN. It was only a webserver that returned static files.
- Unable to scale up when system must serve too much requests from end-users.
2. Our solution
The architecture we applied for Poing includes:
- VPC: to manage Private Network likes traditional VPN
- MariaDB: Using RDS MariaDB – Multi AZ
- Webservers: Using EC2s for Java Tomcat
- HA proxy: Using ELB instead of HA proxy
- Auto Scale setup
- Storage: S3, using SDK for Java
- Hazelcast: autodiscovery feature to auto dicover EC2 member instances.
- CDN: replace original CDN with CloudFront Distribution
3. The outcome
- Database: no failover problems by using RDS Multi-AZ and automatically backup snapshots daily
- No record any system outage status.
- Servers: 2 instances running in normal traffic, scale up to 4 or 5 instances when increases spikes
- Scalability & High availabilty: setup succesfully high availibity and scalability system on AWS infrastructure
- Cost optimization: reduce infrastructure cost by 30%
- ELB: work properly, serving unlimited requests, never die endpoint
- Storage: no data loss incident reported so far
- CDN: work properly