views:

573

answers:

8

Many people suggest to develop web applications in open source technologies. And one of the reason is the cost involved in hosting and the licensing of software.

How costly can it be to build and deploy an application in asp.net mvc compared to any other open source technology?

+16  A: 

I don't think they're talking about the time required to develop on the Microsoft stack. They're talking about the cost of:

  • tools (Visual Studio, Resharper);
  • operating systems (Windows Vista, Windows Server); and
  • databases (SQL Server 2005/2008).

And yes you could use Mono + Linux but that's a feature-incomplete implementation (at this point) and presents greater risk than the Microsoft-certified solution. Plus MonoDevelop isn't as good as Visual Studio. I think Mono is still fairly limited as a production option.

Microsoft has a program for startups (called BizSpark) that can effectively eliminate those costs for startups (less than $1m annual revenue iirc) but get beyond that and it can get real expensive. Based on some of Jeff's comments I have to wonder if Stackoverflow is deliberately staying below this level (by only accepting a certain amount of ad placements) to avoid this. Note: he hasn't said that. That's just a question that occurred to me.

But compare that to say a PHP or Java development stack:

  • Dev machine: Windows, Linux (free), Mac or whatever;
  • MySQL (Free) running on Linux;
  • Apache or nginx (both free);
  • etc.

That being said, the concept of using really cheap boxes, while popular, isn't universally better. You'll use a lot more power that way (compared to higher spec servers). And higher spec severs will tend to work out cheaper in commercial licensing costs than buying software for lots of cheap boxes. So you have to be careful in comparing commercial vs non-commercial solutions.

Take a look at Scaling Up vs. Scaling Out: Hidden Costs.

I don't want to get into the issue of the cost of development because there are too many factors to make any unqualified statements. Like any other stack, there are probably things it's good at and things it could be better at.

cletus
IIS is free once you own windows
Steve
As far as I know the 1M limit is limited to when you join the program.
Andy Gaskell
IIS is free for enterprise too ???
Luc M
+1 You type quickly than me. And your response is more elaborated :-)
Luc M
@Luc M: It's just part of Windows Server
John Saunders
Don't forget that there are free versions of MS developer tools - which are more than capable of producing quality software. That said, for small businesses, BizSpark is a great (yet small) investment.
Brad Leach
+1 but I believe the statement "I have to wonder if Stackoverflow is deliberately staying below this level" is an incorrect speculation. Think about it, if you are making over $mill, are you really going to cap it to save $50k in licence costs? ($50k is my wild speculation)
John MacIntyre
I've heard speculation the licensing costs for SQL Server would run over $100k for SO but that's not anything I can confirm.
cletus
@Steve, not exactly. In terms of deployment, if you really stayed within the legal guidelines, you would end up spending thousands and thousands of dollars for even relatively simple situations.
BobbyShaftoe
SQL Server Express is free.
stimpy77
+2  A: 

Unless you qualify for BizSpark or maybe the Empower program, you will need to buy licenses for Windows Server, SQL Server, Visual Studio, Windows 7 (or Vista, XP). For a startup that can be cost prohibitive.

Andy Gaskell
You don't need to, if you run on a hosted service like ec2, or almost any other hosting provider. They'll own the licenses for you.
Noon Silk
@silky: You might still need Visual Studio and Windows to develop the software. Of course you can write it in Notepad or in vi, but I doubt someone will.
Cristian Ciupitu
Some hosts will charge extra for Windows (it usually isn't a whole lot extra) and *typically* Windows is second class - the hosting providers I've seen are in no rush to use Win2k8.
Andy Gaskell
@Cristian, guess you never heard of the express editions of visual studio, sql 2008, etc...
Chris Lively
I've heard of express editions. I've even downloaded some. I seem to remember a license condition about non-commercial use, although I may be wrong. I don't think the express editions are particularly good for commercial development in any case.
David Thornley
I highly recommend the Express editions of Visual Studio and of SQL Server, including for commercial development. The Express editions are VERY powerful, more so than many LAMP-oriented tools. You're 100% allowed to produce commercial software with the Express editions, there is ABSOLUTELY NO LICENSING LIMITATIONS so long as you don't try to extend the Express products themselves or redistribute them. You people need to stop making arguments with respect to the actual OP if you're ignorant and refuse to look things up. http://www.microsoft.com/express/support/faq/default.aspx
stimpy77
+1  A: 

I don't know Microsoft's specific licensing policies (I can assume they are pretty reasonable), but I can tell you that developer tools are often more pricey than you'd imagine when you start licensing for your company.

Often when you start buying developer licenses for teams of, say, 20-50 you are starting to talk about millions of dollars up front costs. $100,000 per developer wouldn't be unheard of (not counting the often mandatory annual support fees which can double that number easily).

I wouldn't think this would happen with Microsoft because Microsoft developers are such a wide market, but I wouldn't be surprised if specific MS developer licenses for all your assorted tools--database, MSDN subscription, enterprise servers (which will probably be required by the database or something), ... got to be rather pricey once you started multiplying them by 20 - 50 seats.

Bill K
where are you seeing a 100K?lets assume Team system ...5.5k with MSDN enterprise server 2.5k sql 13k various Resharper etc of like 5k 26k done
Hurricanepkt
I specifically said Microsoft tools shouldn't be that much, but I've worked on vertical systems where a single developer license on one piece of software was $100k. The high-end version of HP's network management suite used to be in that price range (In addition, the purchase price was round $1m). I'm just saying that licenses can get pricey.
Bill K
It's basically a free market with some monopoly conditions and serious barriers to entry. Areas where there is competition will be cheaper. Harder stuff will be more expensive. In some cases, there are good tools for free (C++ development, for example), and nobody can charge a lot without giving a lot of value. In other cases, there are no legal free tools (video console development), and so you get monopoly pricing.
David Thornley
Please, if you're concerned about development costs, just go Express editions of Visual Studio. The whole Express suite is free, including for producing commercial stuff, and including SQL Server Express edition. http://www.microsoft.com/express/support/faq/default.aspx
stimpy77
You know, price isn't actually that big a deal. As long as you have all the source code to your tools and can keep them if the company decides to stop supporting them, you're doing fine. You should also be able to create any number of archives of your entire toolset so you can restore and rebuild your product with the tools they were originally built with (In case the company stopped producing the tools). For instance, if you had a tool made with VB 3.x right now that wouldn't build on newer tools and had to modify it, could you? (Honestly I don't know, don't use MS tools for reasons stated)
Bill K
Bill K, the entire problem with software becoming obsolete is now, with the advent of the virtual machine, a non-issue. So if you built something in VisualStudio 2008, you will be able to use that software FOREVER with no problem. Windows might die, but getting a Windows virtual appliance is already a non-issue. VB 3... I think that you could get a copy somewhere... Now that I know Mame, anything seems possible, historically speaking...
Yar
A: 

If you want to use ASP.NET you need

  • IIS
  • A server with Windows (for IIS)
  • Visual Studio
  • A work station with Windows for Visual Studio

If you want to use PHP, Perl, Mono, Ruby... you need

  • A web server that supports the technology wanted. May be Apache, IIS...
  • An OS that supports your weberver
  • A workstation with any Linux, Window or mac

So if you chose to use an Open technology, you have the choice to work with what you want.

If you want to use .NET you have to work with Windows.

Luc M
All false. With linux (mac too I think), you can use Mono. There is monodevelop on linux that is the equivalent to visual studio. You have to know also that for developping asp.net pages you only need notepad minimum. To develop asp.net mvc I am pretty sure mono is the minimum requirement since you need to compile a few things.
Erick
Off course you can use notepad. Did you really try it for a month ?Nobody use notepad, vim or another text editor for that. Nobody.
Luc M
I wouldn't exactly say that MonoDevelop is equivalent to Visual Studio...
Erik Forbes
Not sure that mono has all features that .net framework have
Luc M
-1: IIS comes with Windows Server. Also, if you're really cheap, you can run Visual Studio on the server.
John Saunders
@Luc M it has enough to cover high-90s percentage of .NET apps.
Rex M
I don't think @Luc-M is off base here at all. Sure, you can use a Debian box with vim to develop ASP.NET apps but not many are doing that. But, I will say, plenty of people do all their development in vim (but maybe not ASP.NET) so it's not a crazy idea.
BobbyShaftoe
This answer is completely false. If you want to use ASP.NET you need Windows or Mono. Everything else i.e. Visual Studio is optional fluff, same as LAMP's extra tools. You don't even need IIS, you can use Cassini (or, again, Mono, with its XSP server). As for those optional tools, #develop ("Sharp-Develop") isn't bad and neither is Visual Studio Express. Database? You can still use MySQL. But SQL Server Express is just as good. All of these are free
stimpy77
I have one of my sites self hosted on my windows home server. 189 for the server and free sql express and IIS... can't go wrong (plus I get the great backup/remote tools for my other computers)
Matthew Whited
+2  A: 

That depends entirely on which Microsoft products you license for your project. For example, SQL Server 2008 Enterprise alone costs $24,000. If you can get by with the Express addition, however, it is free.

http://www.microsoft.com/sqlserver/2008/en/us/pricing.aspx

Then you need the OS (again several choices) and development tools (yet again more options at different prices).

Summary: If you are building a small app it is not very expensive. There are free versions of most parts of the stack except the OS. And if you are using a hosted solution, the OS cost is even hidden. If you are going large and doing it all yourself, it can be extremely expensive.

schickb
If you can't aford the 24k for the license... you probably don't need it.
Matthew Whited
+4  A: 

All the discussions here about cost assume that you're going to buy your own server (which is pretty much crazy for 99% of the world). Third-party hosting services are generally pretty cheap, and it doesn't matter whether you go for Microsoft or Linux or whatever. Let the hosting service deal with all that crap, and go with the stack that is easiest for you to use.

MusiGenesis
But still, Linux hosting is cheaper than Windows hosting at pretty much every level.
cletus
Thats what I use to think, have a Visual studio to build and have a third part hosting service. That should be pretty much cost effective
San
@cletus: I use DiscountASP and I pay something like $50/month, and that includes a SQL Server database and ASP.Net. Linux hosting is cheaper, but at the cost of a lot more work on my part (I know bupkiss about Linux). The price difference is trivial given all my other expenses, and I'm already thoroughly familiar with MS stuff.
MusiGenesis
I'm not saying Linux is better or that you shouldn't use Windows. Certainly you will nearly always be better off with something you know vs something you don't. I'm just pointing out that whether you run servers yourself or get hosting, there is a licensing component you can't escape, whether you go for shared, dedicated or VPS hosting or whatever. Is it significant? Well, that depends.
cletus
@cletus: your words ring true. I just can't get over your Simpsons avatar. :)
MusiGenesis
Well, hot damn! :P
cletus
Linux hosting is almost always cheaper for the simple reason that the MS stack costs the host more to license (which is the point of most posts). Also you don't get development tools with a hosting service. Let's not forget that you're also liking going to need a more expensive "Ultimate Developer, Don't Gimp It" version of Windows desktop to run the dev tools.
schickb
I don't think buying your own server is crazy. If you have a serious application, you may have several pieces that require more than what you can get from a place like DiscountASP.net or what have you.
BobbyShaftoe
@BobbyShaftoe: you're in the **1%** then. And even if you need an entire server, you can still *lease* a machine from DiscountASP (or whomever) instead of buying outright.
MusiGenesis
+2  A: 

On a totally different side of the spectrum, check out the prices at GoDaddy.com for shared hosting (and there are probably other hosts as well). On the 7-buck-a-month plan you get ASP.NET v1.0/2.0/3.0/3.5 and two MS SQL databases. Serious devs will say, "who would use shared hosting?" but seriously, put some hosting up there and hit it hard. You will see that the response times are nice, app deployment is easy (but you do not get full control, so you have to use medium-trust security and other stuff), and you get 1,500 GB of monthly transfer and 150 GB of disk space.

So that's the full MS stack for $7 a month. Of course, everything is shared (even the MSSql instances), but for MANY apps it is a perfect solution. Shared hosting is a joke in certain cases, but colocated servers and all that stuff is a joke for many startups that have no particularly interesting technology needs.

Yar
I went to godaddy hosting from self hosted (after trying getting pissed at cheap hosters) and I love Godaddy. their tools are easy to work with and yo ucan put up as many domains as you want in your virtual space. works great and no complaints... and $7 a month is awesome for IIS7 and .Net 3.5
Matthew Whited
+2  A: 

For basic web apps they're strictly talking about Windows itself. Linux is free, so hosting is cheaper for Linux-based hosting than for Windows-based hosting. However, the entire Microsoft stack beyond the initial Windows license is completely free, so long as you stick with the "Express" flavors of all parts. SQL Server 2008 Express is more akin to a straight mySQL deployment than SQL Server 2008 Standard Edition is.

Download: MS Web Platform (free tools)

For enterprise applications, they're talking about the enterprise-class toolsets. SQL Server 2008 Standard or Enterprise edition costs thousands of dollars. Visual Studio 2008 Pro costs hundreds. However, if you're comparing to Linux, you really don't need any of that; anyone who needs that stuff is already working with the Microsoft stack at a heavy level anyway. The Express stack will get most people very far.

stimpy77
No, that's not true. Call Microsoft Licensing. It is a pretty complicated mess even for simple scenarios. You need some kind of connector license and you need all this nonsense for every authenticated (and authenticated just means uniquely identified) connection. Also, I'm not sure I'd say SQL Server 2008 Express is like MySql. But most applications require a database and SQL Server licenses are costly as well.
BobbyShaftoe
Why don't you call Microsoft Licensing? The terms are explicitly detailed for all of us. The entire Microsoft stack is free if you stick with the Express stack. There are no licensing fees for SQL Server Express. Period. http://www.microsoft.com/express/support/faq/default.aspx
stimpy77
I was going to comment that SQL Server Express is extremely limited, but in fact it's not at all. I didn't know this: http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx.... So +1
Yar
Be sure you're comparing current version of SQL Server. http://www.microsoft.com/sqlserver/2008/en/us/editions-compare.aspx
stimpy77