为什么说微软堆栈成本高?
许多人建议使用开源技术开发 Web 应用程序。 原因之一是软件托管和许可所涉及的成本。
与任何其他开源技术相比,在 ASP.NET MVC 中构建和部署应用程序的成本有多高?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
我认为他们并不是在谈论在 Microsoft 堆栈上进行开发所需的时间。他们谈论的是以下成本:
是的,您可以使用 Mono + Linux,但这是一个功能不完整的实现(目前),并且比 Microsoft 认证的解决方案带来更大的风险。另外,MonoDevelop 不如 Visual Studio。我认为 Mono 作为一种生产选择仍然相当有限。
微软有一个针对初创公司的计划(称为 BizSpark),可以有效地消除初创公司的这些成本(年收入低于 100 万美元iirc),但超过这个成本可能会变得非常昂贵。根据 Jeff 的一些评论,我不得不怀疑 Stackoverflow 是否故意保持在这个水平以下(通过只接受一定数量的广告展示位置)来避免这种情况。 注意:他没有这么说过。这只是我想到的一个问题。
但与 PHP 或 Java 开发堆栈相比:
虽这么说,使用真正便宜的盒子的概念虽然很流行,但并不是普遍更好。这样您将使用更多的电量(与更高规格的服务器相比)。更高规格的服务器往往会比为大量廉价设备购买软件更便宜的商业许可成本。因此,在比较商业解决方案与非商业解决方案时必须小心。
查看扩展与扩展:隐藏成本。
我不想讨论开发成本的问题,因为因素太多,无法做出任何不合格的陈述。与任何其他堆栈一样,它可能有一些擅长的事情,也有它可以做得更好的事情。
I don't think they're talking about the time required to develop on the Microsoft stack. They're talking about the cost of:
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:
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.
这里所有关于成本的讨论都假设您要购买自己的服务器(这对于世界上 99% 的人来说几乎是疯狂的)。第三方托管服务通常相当便宜,无论您选择 Microsoft 还是 Linux 或其他什么都没关系。让托管服务处理所有这些废话,并选择最容易使用的堆栈。
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.
除非您有资格获得 BizSpark 或 Empower 计划,否则您将需要购买 Windows Server、SQL 的许可证服务器、Visual Studio、Windows 7(或 Vista、XP)。对于一家初创公司来说,成本可能过高。
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.
这完全取决于您为项目授权的 Microsoft 产品。例如,仅 SQL Server 2008 Enterprise 的成本就为 24,000 美元。不过,如果您可以使用 Express 添加功能,那么它是免费的。
http://www.microsoft.com/sqlserver/2008/en/ us/pricing.aspx
然后你需要操作系统(又是几个选择)和开发工具(又是不同价格的更多选择)。
摘要: 如果您正在构建一个小型应用程序,那么它并不是很昂贵。除操作系统外,堆栈的大部分部分都有免费版本。如果您使用托管解决方案,操作系统成本甚至是隐藏的。如果您规模较大并全部由您自己完成,则可能会非常昂贵。
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.
如果您想了解完全不同的一面,请查看 的价格GoDaddy.com 用于共享托管(可能还有其他主机)。在每月 7 美元的计划中,您可以获得 ASP.NET v1.0/2.0/3.0/3.5 和两个 MS SQL 数据库。认真的开发人员会说,“谁会使用共享托管?”但说真的,放一些托管在那里并大力打击。您会发现响应时间很好,应用程序部署很容易(但您无法完全控制,因此您必须使用中等信任的安全性和其他东西),并且您可以获得 1,500 GB 的每月传输量和 150 GB 的磁盘空间空间。
这就是完整的 MS 堆栈,每月 7 美元。当然,一切都是共享的(甚至是 MSSql 实例),但对于许多应用程序来说,这是一个完美的解决方案。在某些情况下,共享托管是一个笑话,但托管服务器和所有这些东西对于许多没有特别有趣的技术需求的初创公司来说是一个笑话。
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.
对于基本的网络应用程序,他们严格谈论 Windows 本身。 Linux 是免费的,因此基于 Linux 的托管比基于 Windows 的托管便宜。然而,除了最初的 Windows 许可证之外,整个 Microsoft 堆栈都是完全免费的,只要您坚持使用所有部分的“Express”风格即可。与 SQL Server 2008 标准版相比,SQL Server 2008 Express 更类似于直接的 mySQL 部署。
下载:MS Web Platform(免费工具)
对于企业应用程序,它们是谈论企业级工具集。 SQL Server 2008 标准版或企业版售价数千美元。 Visual Studio 2008 Pro 花费数百美元。然而,如果你与 Linux 进行比较,你真的不需要这些;无论如何,任何需要这些东西的人都已经在使用微软堆栈了。 Express 堆栈将使大多数人走得很远。
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.
我不知道微软的具体许可政策(我可以假设它们相当合理),但我可以告诉您,当您开始为您的公司提供许可时,开发人员工具通常比您想象的要贵。
通常,当您开始为 20-50 人的团队购买开发人员许可证时,您就会开始谈论数百万美元的前期成本。每个开发人员 100,000 美元并非闻所未闻(不包括通常强制性的年度支持费,该费用很容易使该数字翻倍)。
我不认为微软会发生这种情况,因为微软开发人员是一个如此广阔的市场,但如果特定的微软开发人员为你所有的各种工具——数据库、MSDN订阅、企业服务器(这可能是数据库或其他东西所要求的),...一旦你开始将它们乘以 20 - 50 个席位,价格就会相当昂贵。
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.
如果您想使用 ASP.NET,您需要
如果您想使用 PHP、Perl、Mono、Ruby...您需要
因此,如果您选择使用开放技术,您就可以选择使用您想要的技术。
如果您想使用 .NET,则必须使用 Windows。
If you want to use ASP.NET you need
If you want to use PHP, Perl, Mono, Ruby... you need
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.