Does your mobile app developer know how to scale systems?
An app is a visual manifestation of a functioning business behind it. It’s also the critical part of the business, without which there is no reason for the business to exist.
When you build an app with a third party app developer, be sure about their ability to support you through scale as much as their ability to write code. So how do you assess of a developer can help you through the scaling process of your mobile app business?
1. Check out the apps he/she has built ground up (assuming you are building an app) – Look for active users, downloads, longevity etc.
2. Ask specific questions about storage, processing, handling spikes (if you’d have) – In fact just ask about their experience with scaling and see if they ask the right questions to you about your app’s utility and how it impacts storage and if there is a possibility of distributed processing (scaling only certain components of your architecture smartly) etc. If they ask the right questions, your almost there with the right team.
3. Another crude but effective way is to find someone who has worked in companies that handle things at scale. A freelancer who has never worked for enterprises would not appreciate what it means to run four EC2 instances just for managing image resizing. On the other hand, if he/she has worked with a Google or a Zynga type of company, they would know performance tuning. Unlike writing code, scaling is an experience game and one has to have been there and done that.
Remember that scale is a function of your business and user expectations and if you can manage that very well without having to engineer, you’d reduce scalability needs at least in some cases.
Here’s an example from Quora user Sean Hull:
“…However radius calculations and searches are computationally expensive and therefore don’t scale well. We want scalability, we’ll need to get creative!
One option is using the radius search indexing functionality in a database like MySQL, however this continues along the same track and still not scale as well as we would like. What about creatively looking at the business requirements? It turns out that many end users don’t necessarily have a scientific view of what “around me” or “nearby me” means. So for example a box or rectangular region might work just as well. Consider returning venues or locations within your current zipcode or adjacent zipcodes. If you’re in a more dense and populous metropolitan area like New York City, consider city blocks or similar. These types of searches will lend well to exact matches with standard btree indexes. The lookups can be 10x or 100x faster alternative solutions, and will scale very well indeed!”