Firstly, I’m not going to start off asking what is better, ASP.NET MVC or Ruby On Rails. I already know that both are very good MVC solutions even though I’ll admit at present I only have experience using ASP.NET MVC 3.
I really enjoy using VS 2010 for development work and what with a few additional plugins, I’m blown away by it. Looking at NetBeans & RadRails really looks like going back a few years? I also really like Microsoft’s take on MVC and the new Razor engine, and enjoy developing websites with it.
So, my concern is this, if I were to be creating a website which ‘snow-balled’ in size towards something as big as Amazon, Ebay, Facebook etc. would I eventually have regrets? Is IIS and Windows Server really upto it compared with linux and say Apache? I know a few years ago when big sites first came into being ASP.NET MVC wasn’t in existance, so in say 5 years time will there be a bigger share of the market powered by Microsoft or is Linux & Apache the more secure and stable workhorse that I’m led to believe?
I’m also concerned when I came across this url for sites using ASP.NET MVC and many of them don’t appear to be up and running?
http://weblogs.asp.net/mikebosch/archive/2008/05/05/gallery-of-live-asp-net-mvc-sites.aspx
I’m also led to believe that this website uses ASP.NET MVC, but then it doesn’t have loads of images etc.
Sorry it’s such an open ended question, but I would love to hear the opions of anyone who has experience of very large websites.
Thank you.
3
Answers
The Stackoverflow site is built using Asp.Net MVC. So, You will not regret using Asp.Net MVC
Trust me, everyone wants to believe that their next project will be the next amazon or ebay or facebook. Those systems have hundreds of developers, with more hardware than you can imagine. You can’t design a site today for that kind of workload because you will have no way to test it, or know how anything you do will affect scalability until you actually have the hardware and bandwidth to deal with those issues.
The best you can do is design the site for your needs now, and evolve it over time. You can always move to different technology during redesigns. But at that point, you will have a large budget and lots of people to work on the problems.
Do what works best now, and worry about the future IF it happens. Certainly, IIS and asp.net mvc are great technologies, and a lot of very busy sites run on them (microsoft.com is a very busy site, as is msn.com, etc..)
Stackoverflow is written in asp.net mvc, and it has millions of visitors, and is a very busy site. No, it’s not very image heavy, but in general images are about bandwidth, and any technology can handle sending images. If you need to do a lot of image processing, that might be different.. but all it does is change how you process the images.
Your list of sites is 2 years old, lots of sites go up and down in two years, so it’s not surprising that many of them aren’t still running. That’s a business issue, not a technology one.
EDIT:
Regarding Ruby On Rails… I know of no site the size of Amazon, Ebay, or Facebook that’s written in RoR (or Asp.net MVC either). Twitter is probably the largest, but let’s just say Twitter has pretty limited functionality. Penny Arcade, Github, and Hulu are probably no slouches either. Certainly Hulu is very media intensive, but i don’t know if they use Ruby for the actual video serving portion (i kind of doubt it, but one never knows).
All you can do is develop in the technology you are most comfortable with. Otherwise, it won’t be fun and you will never finish it.
You can build efficient site on any of existing technologies.
If you go for linux-based server software, you just save some cash on licenses.
If license cost isn’t an issue- take what’s more convenient for you.