Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I intend to build a type of online social network in ASP.NET. I am going to host it under IIS server. The database that I am going to use is SQL Server.

The site will accept a maximum 500,000 users. It will be in one language and it's targeted to people who live in countries which its main language is the language that this site will be built in.

I expect the number of users who will use the application every day will be between 30,000 and 34,000. so in average it may be 2000 online users per hour.

I can afford to buy Visual Studio Professional but I do not know If I will be able to afford the cost of IIS/ SQL server, etc (any other MS fees).

I do not know how to calculate the cost and, with these estimates, determine how many servers I need. Waiting help from experts.

share|improve this question
4  
Are you asking about the cost for development or the cost for production? –  Dan Diplo Jun 20 '11 at 10:35
    
@Dan: about production of course. –  Goma Jun 20 '11 at 11:40
    
youtube.com/watch?v=NWHfY_lvKIQ 25:00 Joel says that Microsoft stack is paying for itself. Actually, I'd love to se some hard data. –  lukas Jun 20 '11 at 12:48
    
Well, what is "a lot"? In any case, with MS Products it will be a lot more than if you were to use OSS software (LAMP). –  wolfgangsz Jun 20 '11 at 13:51
    
Specifically, what will be the cost of servers and bandwidth for that user load? It isn't going to be insignificant, and it may make the license cost unimportant. You're going to have to pay that, and if you make money off it it may well cover the licenses easily. Commercial software requires different financial analysis than personal projects. –  David Thornley Jun 20 '11 at 17:12

4 Answers 4

There is a BizSpark program which allows you to license a set of Microsoft tools for the first few years of your new startup at a price of a few hundred dollars per bulk. The only condition if I remember correctly is to have a yearly income under 1 million.

After a few years if you will be seeing lot of traffic and resource usage but still won't be able to monetize it somehow (to pay for the license) it may be a sign you did something not particularly useful.

Anyway I would put forth that even exceeding the 4 GB limitation of an SQL Server Express database by storing user contributions is a certain sign of a success. Try to get there first.

Tip: If you will be using SQL Server 2008 then store uploaded files (images etc.) on the local disk via the FILESTREAM database technique and not directly in database tables. It will allow you to benefit from the transactional integrity and at the same time avoid explosive growth of the database.

Update: It would seem the the SQL Server 2008 Express database size limitation was increased to 10 GB. That's going to take a while to consume.

share|improve this answer
    
Speaking from personal experience, it helps to have at least back-of-the-envelope calculations of your profit model before building something. –  red-dirt Jun 20 '11 at 12:18
    
@Developer Art - This may be a good idea for when the idea gains traction, but I hardly think that it is a good idea to invest in the hardware needed to run the site without any idea if the site will take off. It is still a good answer, but I think the first step would be shared hosting and if the site takes off, then this would be an ideal way to handle the load. –  Jetti Jun 20 '11 at 13:25
    
@Jetti: By all means. First start on a sharing hosting ($5 like my blog), then if it grows switch to a VPS ($40) and only when the projects exceeds those capacities try a dedicated plan. But it may well be years before you'll come to that. –  user8685 Jun 20 '11 at 13:28
    
@Developer Art - agreed. I really like the tip about the database. If I ever decide to create a website I'll definitely try it! What hosting do you use for your blog? –  Jetti Jun 20 '11 at 13:41
    
@Jetti: I'm currently with softsyshosting. They have been mostly okay though I've been seeing long lasting disruptions lately. Sadly a quality service seems to only exist at the spin-off then it goes down. I suppose like with most of the hosters out there. –  user8685 Jun 20 '11 at 13:53

In the beginning it will not cost that much. I pay about $8 (USD) a month for my ASP.Net hosting (shared). Let's be honest, if it was as easy to get 30K to 34K users a day, then there would be no need for shared hosting because it wouldn't be able to handle the load of any site. I would say start off with one of the many viable (and cheaper) shared hosting hosts and then move to VPS if need be and if you really need it then to a dedicated host (or even a cloud based host where you only pay for usage). This will be able to give you time to figure out how to scale your site and also, how to make money from it. You should have that in mind from day one!

Bottom line: it doesn't have to cost a lot if you don't go all out in the beginning. Give your site time to grow and it will save you money and it can help you build a better site.

share|improve this answer

It depends on what your throughput is...

If those 2000 users are sending 140 char messages to each other, then a single license of Windows 2008 Web server and SQL Web would be enough to handle it, running on a server from someone like PEER1 for 100 USD/month.

If those 2000 users are swapping multiple full length movies, then you're going to need considerably more...

So, first things first, estimate the amount of traffic you're going to have to handle, in terms of requests and average size of the request.

share|improve this answer

If you are concerned about the long running production costs of Microsoft technology, there are viable alternatives to ASP.NET that are very similar and open source.

Look at JSF.

If you are already familiar with standard Java web applications and have experience in ASP.NET as well you will find the learning curve very low. Some similarities between the two:

  • Both have the View State concept for a page.
  • Custom components and server side controls can be created in both
  • Server side controls have both server ID and client ID.
  • Built in Ajax support supported by both.
  • Server side events supported by both.
  • Event lifecycle supported by both.
  • Partial page updates supported by both.
  • Session level persistence, page level persistence and stateless requests are supported by both.

Some advantages of JSF over ASP.NET.

  • Client ID naming is superior in JSF fixing a the cryptic nature of clientID in ASP.NET
  • JSF is XHTML compliant
  • JSF has several free open source rich component libraries to choose from, making the options limitless.
share|improve this answer
    
JSF is a holy mess. A fuzzy standard with incompatible implementations. Tried that. Takes months to implement things which would take just a couple of weeks with ASP.NET. –  user8685 Jun 20 '11 at 12:08
    
@Developer, I had quite the opposite experience. I struggled with ASP.NET and wrote terrible code in the process while I was able to crank out a JSF application of similar complexity in just 3 or 4 weeks. It certainly isn't perfect but then what is? –  maple_shaft Jun 20 '11 at 13:07
    
You may disagree with the technology but I challenge close minded fan boys to evaluate my answer on the merits of me providing a unique suggestion to legitimate architectural concern, and not on personal opinions of the content in the answer. This particular stackexchange site has been getting worse for this type of behavior and it is leaving a bad taste in my mouth. –  maple_shaft Jun 20 '11 at 13:11
3  
You in fact didn't answer the question. The OP was asking about the extra costs of the ASP.NET platform. You told him a story about technical advantages of JSF over ASP.NET. You clearly got downvotes for largely missing the point of the question. –  user8685 Jun 20 '11 at 13:21
1  
Quoting the OP, "I do not know If I will be able to afford the cost of IIS/ SQL server, etc (any other MS fees)." That sounds to me like he might be open to suggestions about how he CAN afford to host his soon to be product. Good posts on here mentioned the discounts provided to startups but a site with over half a million users may not apply. The bottom line is that the PRICE IS THE PRICE and I don't believe staying in the Microsoft stack can help him with that concern. I feel my answer is a perfectly legitimate demonstration how he can achieve something similar with familiarity and low cost. –  maple_shaft Jun 20 '11 at 13:30

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.