4

When creating a new startup related to a web application, how to choose a hosting provider ?

Assuming the code of the web application is oriented DDDD (Distributed Domain Driven Development) to handle large deployment scenario, the idea is to avoid too much cost for hosting.

Basically, the launch of the web app, with its very users will be able to fit on a "single" box (DB + APP), maybe two for redundancy. Eventually the apps will grows progressively to more and more users (I hope:)). How can I choose wisely the hosting ?

Today, I see three options :

  • hosting ourself : not actually an option today as it requires a lot of administrative skills and related task
  • hosting on virtual/dedicated servers : maybe a good options as virtual dedicated hosting is quite cheap, but I fear this will quickly limit us in term of scalability
  • hosting on cloud (amazon or azure) : probably the best option in the long term, but with a higher cost to start (having to adapt a bit the application, cost of instances)

Does anybody have feedback/advise about such requirements ?

PS: FYI, the web apps will probably be written with ASP.NET MVC as web framework, and Ncqrs+NServiceBus to target the DDDD pattern in a CQRS style

Edit: as a backend, MongoDB is today our probable choice, as NoSQL is marrying well with event-sourcing + CQRS (no need for joins, etc.). However, finding VPS with asp.net AND mongodb can be challenging. I may have to use some traditional RDBMS found on all providers (MS SQL SErver or MySQL)

Steve B
  • 353

3 Answers3

4

Accoring to this report , the number 1 reason why startups' fail is premature scaling.

Its not a wise solution to spend a lot on scalibility until you have not reached a point where you need it. Scale your application on a 'as per needed' bases. Start small (VPS), keep costs low, monitor your growth and expand as and when you need. Its not difficult to move from a VPS to a dedicated server or into a cloud. Hosting companies help you with this. Also look at my answer here for some added tips on startups.

P.S. Read more about the report online

3

This is just my opinion but.... How many users are you expecting? Do you expect to get 100 users hitting the site at the same moment? How about 1000users? or 10k?

nginx can handle 1k-10kusers depending on your machine with very little cpu/ram until it gets up to 10k per user at the same moment. Then cpu will be a bottleneck. Also how complex is your application? Do most pages need lots of processing power? Are you going to convert videos or sound?

I seen a person go viral and got millions of hits on his site. It was on simple VPS. He solved his problem by throwing ONE file (a rather large swf) onto amazon aws and his site coped with it.

If you have 10k users regularly then your site or app will need to be rewritten or changed which is a different ballgame. But thats IF you get that many on a regular basis... I'm pretty sure you'll be fine with a plain VPS if you have someone to set it up (the server, backups and anything you need)

3

Here is how you can prevent most dramatic situations:

  • Don't choose one, but at least two.
  • Use the DNS manager of your domain registry (that should be a different company than your hosters).
  • Backup from one to another.
  • If you can afford it, load-balance, fail-over, early
  • Test support early. Don't hesitate to simulate a problem. Support is probably the most important things after reliability.