AWS Summer Startups: ShowNearby
ShowNearby is a leading location-based service in Singapore and an early adopter of the Android platform. Unlike many mobile apps out there, ShowNearby started with deployment on Android and then moved on to the iPhone by mid 2010 and Blackberry by fall of 2010. Today, the ShowNearby flagship app is available on Android, iPhone and Blackberry and reports approximately 100 Million mobile searches conducted across all its platforms.
Due to the success of our application, we had a very big growth in a short period of time. When we launched on the popular platforms of iOS and subsequently BlackBerry, we were blown away by the huge surge of users that started using ShowNearby. In fact in December of 2010, ShowNearby became the top downloaded app in the App store, edging out thousands of other popular free apps in Singapore! It was then that we realized we needed a scalable solution to handle the increasing load and strain on our servers that our existing provider was unable to provide.
Our infrastructure at the time was hosted with a local service provider, but was unable to cope with the high traffic peaks we were facing.We analyzed a few vendors and decided to go ahead with Amazon because of it’s reliability, high availability, range of services and pricing, but mostly because of its solid customer support.
As part of our deployment, we added AWS services incrementally. Currently we use extensively Amazon EC2 instances with auto scaling, Relational Database Service (RDS), Simple Queue Service (SQS), Cloudwatch and Simple Storage Service (S3).
Next item on our list is to focus on automating the deployment of infrastructure environments with cloud formations, as well as optimizing content delivery globally with Cloudfront.
Choosing the Tech Stack That Makes Business Sense
ShowNearby currently leverages on the LAMP stack for most our web services. Delivery of accurate, always available, location based data is ShowNearbys top priority.That is why we chose AWS.
Other important things why to choose cloud/AWS: Speed and agility to create and tear down infrastructure as and when it is needed. Good and fast network accessibility for our app. Ability to scale up and out when needed. Ability to duplicate infrastructure into new regions.
Reaching Automation Nirvana with AWS
We chose to use AWSs Linux based AMI and dynamically build on top of it using well defined, automatic configuration. Now, every time an instance is started, we are sure the infrastructure is always in a known state. Admittedly, a lot of hard work is involved to achieve Automation Nirvana, but knowing precisely what works at the end of the day helps us sleep at night.
- We use Amazon S3 to store infrastructure configuration and user provided content/images. ShowNearbys business is currently in, and marching into new, regions, so S3 is a natural precursor to AWSs CloudFront content distribution service.
- We use SQS to help process user behaviour and to determine usage patterns.
- We use this to provide our dear users with a better, and hopefully, more personalised experience.We use spot instances for early development & testing servers.
- We use CloudWatch extensively – how could we do without it?
- We use RDS, for our hosted mySQL databased needs, of course
- We use the command-line and PHP AWS API tools to a large extent, which provides us increased business agility.
Words of Wisdom for Mobile Startups
We would tell them to find partners who can be good friends at the same time. The race is long and tough, so better do it enjoying every step of the way. There is a window of opportunity in Asia now open to unleash your full potential, show what you are capable of and you’ll be rewarded.
Today, if we need to refresh or update a web application, we restart new instances and flush out the old. Moving forward, we are looking into reducing the time between releases still further and so, we are working to improve on our already solid infrastructure and configuration management. Further automation in the form of Chef and/or Puppet or similar is being investigated.
Enter Your Startup in the AWS Start-up Challenge!
This year’s AWS Start-up Challenge is a worldwide competition with prizes at all levels, including up to $100,000 in cash, AWS credits, and more for the grand prize winner. 7 Finalists receive $10,000 in AWS credits and 5 regional semi-finalists receive $2,500 in AWS credits. All eligible entries receive $25 in AWS credits. Learn more and enter today!
You can also follow @AWSStartups on Twitter for updates.