Tell me more ×
Answers OnStartups is a question and answer site for entrepreneurs looking to start or run a new business. It's 100% free, no registration required.

Is there a good resource for estimating the cost of app hosting? I am bidding on a project that will likely receive a large amount of traffic (100,000 uniques/mo is reasonable). The app is fairly simple, read from db and print to screen. How do I accurately bid on hosting and bandwidth?

share|improve this question

1 Answer

To the best of my knowledge, there are no resources that can spit out a number for you. There are too many variables, not the least of which is the speed of your code.

The canonical answer is:

  • Model how your user visits will be spread out in time, i.e. "100 k users per month, with 10 pages/session, evenly distributed across US business hours". Then figure out how many requests per second you need to handle. Add 25% to this for safety.
  • Figure out how many requests per second each type of server can handle, from actual measurement on the application, or at least a very similar application that you have built in the past.
  • Do the math.

Be sure that your data store (database server, file server) can handle the load. Web app servers can be made stateless, and can fairly easily be scaled via a HTTP load balancer. Data stores (databases) are inherently statefull, and therefore much harder to scale beyond a single server.

This older post on the Stack Overflow architecture shows how few servers can often handle a big load. But keep in mind, this is for a site written in (fast, well optimized) C# / ASP.NET MVC.

Regarding the contract, be sure to put reasonably provisions in there to limit the scope of the hosting agreement, and allow you to renegotiate if/when the usage exceeds a certain threshold.

receive a large amount of traffic (100,000 uniques/mo is reasonable)

That's not much, but it all depends on how the user visits are spread out, how fast your application logic is, and if there are other considerations such as search engines to take into account. Just as an example, your load could be as low as 0.51 pages per second on average; assuming (100,000 users/month * 10 pages/visit) / (18 hours/day * 30 days/month * 3600 seconds/hour).

You might want to ask the same question on Serverfault, with more technical detail than you included here.

share|improve this answer
+1 - 100.000 per month is stupidly low. 100.000 visits PER DAY is seriously low. – NetTecture Jul 13 '10 at 20:29
As an example of what Jesper is saying, my blog gets a few connections per minute during off-hours, but during the peak times of the week where I post and it gets on the front page of HackerNews it can go up to 15-20 hits per second. Big range! You have to plan for the peak time for capacity like RAM and CPU, and you have to plan for monthly run-rates for bandwidth. – Jason Jul 14 '10 at 3:52
I think the problem for those without experience, is the difficulty in obtaining information about the spec of server and bandwidth costs running a popular website.The question is always met with the same answer about all the variables in the performance of the code. If people responded with a quick breakdown of hardware, technologies used, any optimisations that could be helping, and number of uniques that their platform is comfortably supporting at peak, then the reader can get an idea and draw their own conclusions about the variables when it comes to their own system/architecture. – Luke Puplett Apr 13 '12 at 15:56

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.