Most App MVP’s have a target user base anywhere from 1000 users to 50,000 initial users. The number of concurrent users in the app can increase or decrease depending on the type of app.
“Concurrent users are using the app together at any given moment”
Highly engaging apps like games may have a large number of concurrent users even with a small user base.
For startups with small hosting budgets in the beginning, it is very important that they choose a hosting backend for their app which they can scale very easily and is not very expensive when they decide to scale up.
There are two popular options for hosting app backend and both are free to start with. We will look at what you get with their free tiers and how easy is scaling once you move past that point.
Option #1 Heroku Hosting
Heroku is the easiest option to setup. No need to have any advance knowledge of load balancers, security setup, backup snapshots e.t.c. Just signup and you will get a free dyno (don’t worry its just a processor) with 512 MB of RAM and a shared database to store your data.
This is good enough for you if you are looking at around 200 concurrent users. If you want to scale up beyond 200 concurrent users, you will need more DYNO’s. Scaling up is very easy, you can simply issue a command to increase dyno’s. Each dyno costs 30$/dyno.
For handling up to 1000 concurrent users, you will need 5 Dyno’s (1x Dyno’s) which will cost you 150$/month. For database, you will need to move from shared database to dedicated database. This will cost you at minimum 180$/month.
Heroku is a very good option in the beginning as you don’t need to worry about infrastructure and everything is taken care for you. However, once you move past a certain point, it becomes very expensive.
Option #2 Amazon AWS Hosting
Most of the startups choose amazon as their hosting provider like dropbox, pinterest, instagram and netflix. Even heroku uses aws as its backend. The amazon free tier is also very good for most startups.
The only problem is that it requires advanced knowledge to setup a proper backend for an app with amazon and this keep most of the startups away. With heroku you just need to understand the concept of Dyno’s. However, with amazon you need to know what is ec2, rds, elastic load balancers, s3 and dynamo db.
Its overwhelming for most users. However, it is the best option and the cheapest one out there. Amazon provides a starter package which includes
- 750 hours of its micro instances.. in other words, you can run one instance with 1 core and 0.6 GiB ram for an entire month
- 20 GB of dedicated RDS (relational database storage)
Computing power is almost similar to heroku. However, the dedicated database is very powerful. There is also amazon s3 storage of 5 GB. In case you are wondering what’s S3. Just assume that its a very low cost and fast storage option from amazon which companies mostly use to store images, video files that are accessed a lot.
For scaling up, lets say you need 4 more instances, it will cost you 60$/month for 4 more instances. Assuming you can take care of 200 concurrent users per instance, this is 70% cost saving as compared to heroku.
We consider heroku to be the best option for those who don’t want to worry about operational issues of hosting at the critical initial time. However, if you have amazon expertise and are looking to scale very fast and cheaply. Amazon is the best choice.