Founded in 2012, polljoy aims to improve star ratings for developers’ mobile applications in App Store, Android Marketplace, and other app markets. The company offers an in-application software development kit to enable developers to set up polls and ratings prompts for their mobile applications. The kit allows developers to obtain feedback from app users and encourages users that had a positive experience to give the app a high rating.
When polljoy’s founders started planning to establish the business, they realized that the upfront cost of purchasing servers and other data center equipment would be prohibitive. “We wanted the lowest cost possible from day one of the business,” says Antony Man, cofounder of polljoy . Keeping technology infrastructure costs low was not polljoy’s only challenge, though. To compete effectively with other application-ratings providers, the business needed its website, software development kit, and associated services to be as close to always available as possible. The company’s founders established a benchmark of 99.99 percent availability or better for its infrastructure to support this business requirement. The company’s products and services also needed to be easily accessible for users in Asia, Europe, the United States, and other markets.
The company also had to achieve the scalability to support activity from an increasing number of customers and end users of the developers’ applications–without incurring a steep increase in infrastructure costs. The infrastructure needed to have the elasticity to support peaks in demand without requiring the business to pay for the same level of capacity during periods of lower demand. Finally, the infrastructure needed to be secure in order to protect polljoy’s website and software development kit from malicious individuals looking to steal sensitive information or disrupt or compromise the service.
Why Amazon Web Services
The founders of polljoy turned to Amazon Web Services (AWS) because they were familiar with the cloud service. Man had enjoyed a positive experience with AWS, and had been able to set up polljoy's development environment in a few hours, when he used its services to develop a messaging app in his previous career. “We considered the AWS cloud because we knew AWS provides quality service. Because we didn't need to commit to a contract or a fixed usage period, we had the option of simply stopping our use of the service if the business failed. This was useful during our initial startup stage. Other cloud services, by contrast, would have required us to pay in advance for usage, even if it was only for a month,” says Man
The cofounder’s previous experience and the ease of use of AWS made deploying the web servers, database, and software development kit in AWS a simple task. “We simply read the documentation and implemented polljoy in AWS ourselves,” says Man. The polljoy team created an AWS architecture in one day and completed integration testing the following day. The business then started developing new products and services—database design and implementation, REST API, and console/dashboard—once testing was completed the day after.
The company is now using Amazon Elastic Compute Cloud (Amazon EC2) instances to run its Apache and PHP-based web servers, dashboard, and application programming interface, with application traffic distributed evenly using Elastic Load Balancing. Images are stored in Amazon Simple Storage Service (Amazon S3) while the core polljoy MySQL database operates in Amazon Relational Database Service (Amazon RDS) to provide the scalability needed to support its rapid growth. These images include poll border images, poll icons, button images and currency images, as well as custom sound files which match the theme of customers’ applications.
The polljoy environment runs across two Availability Zones to provide redundancy in the event of an outage affecting one zone. Amazon CloudFront is used to deliver content quickly and easily to users in markets worldwide.
The figure below illustrates polljoy's environment on AWS.
Figure 1: polljoy Architecture on AWS
Polljoy has now grown to provide in-app polling and ratings prompts for gaming developers including SocialPoint, Deep Sliver FISHLABS, Frenzoo and Monkeybin; online surgery simulation providers such as Touch Surgery; professional services consultancies such as Accenture; and entrepreneurship community and coworking space providers such as CoCoon. AWS tools and technologies provide stability, high availability, low cost, and scalability. AWS has also met the organization’s low-cost requirements while enabling polljoy to pay a single monthly bill.
“So far, we have not had any downtime caused by AWS, with any minor outages caused by our need to maintain and upgrade our services. Had we been forced to use physical equipment in an on-premises or collocated data center versus AWS, the cost of delivering the service would have rendered it unviable,” says Man.
Using AWS, polljoy has gained the agility to develop and deploy new features and bug fix into production in one or two days, while infrastructure changes can be completed within minutes. For example, a customer might deploy a new game version during the weekend, resulting in high traffic for a few hours. In order to minimize cost, polljoy would only upgrade its server to a larger instance just before a predefined timeframe set by the customer, and then can downsize when the window closes.
The business has achieved REST API response times of between 100 milliseconds and 300 milliseconds with AWS. The scalability and elasticity of AWS is supporting about 1,000 end-user requests per second during peak hours for its polling and ratings services. The business also has not experienced any data security or leakage incidents since its services started in AWS, reinforcing its credibility to maintain relationships and win business from high-profile customers such as SocialPoint, Deep Sliver FISLABS, and Accenture.