问题
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?
回答1:
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.
回答2:
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.
回答3:
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.
回答4:
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.
回答5:
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.
回答6:
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.
回答7:
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.
回答8:
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.
来源:https://stackoverflow.com/questions/1370834/why-is-microsoft-stack-said-to-be-costly