Charles Teague, CEO of leading iPhone weight-loss app maker LoseIt!, shares his secrets for building and running high-volume applications in the cloud.
Consolidate this not to be a time, but to just summarize Include screen shot of android version Also need volume details 15,000 rpms 24x7 Load 1+m users of Loseit.com Small team (4 people)
2 extreme approaches to a quality web service Reduce the probability of a defect in production to nearly zero Reduce the cost of fixing a defect in production to nearly zero
- Keep in mind that if you choose a tailored black box, your application architecture will risk being bound up /designed for that type of black box, making portability challenging.
Your application architecture should be designed anticipating these needs. It will be much harder to ‘bail out’ a poorly architected application…
For MySQL, use big instances with huge RAM. Configure big caches to protect you from slow I/O You might think that this will only speed up reads, but it has a huge impact upon write performance Spend time doing standard app & query optimization Design application / data storage to support sharding There is a limit to scaling vertically so be prepared to go horizontal Make sure app server tier is cluster safe Our servers are extremely stateless, making round robin load balancing trivial Use queuing to decouple work from main application Allow you to scale work independently Make sure queue processing servers can be clustered too!
Other potential info to include: What does PaaS lets us do that we couldn’t do before What features of a PaaS are/were most important to us What do we wish we could do? Or what will we try to implement next? What is the true value of a PaaS? What benefits have we received from implementing one?