使用ASP.NET的成本

时间:2009-03-14 15:14:22

标签: asp.net mono open-source

我一直听到的关于ASP.NET和MSFT技术的一件事是它们需要花钱才能使用。通常,当他们与开源语言进行比较时,有人会提到支持开源的一个因素是它是免费的(在某种程度上)。我的问题是,ASP.NET何时在使用专有技术方面实际上需要花钱?

可以理解的是有托管费,但我对这些托管费之外的费用感到好奇。我对此特别好奇,因为它涉及一人小型网站开发(非团队/大型企业)。任何帮助表示赞赏。

(编辑)

一些优秀的答案。非常感谢 我正在寻求使用这些技术的项目将是个人网站和非常小的商业网站(1或2)。当然,这意味着这些项目会变得更大。似乎对于商业生产,费用将适用。那些提供信息的基本动态“共享主机”网站呢?

7 个答案:

答案 0 :(得分:20)

确定成本时,您必须测量很多东西。我们最近对外部供应商的平台选择进行了评估,建议我们继续使用Microsoft.NET平台。为什么?对我们而言,原因在于,一旦进入企业级产品套件,差异就不会像人们想要的那么大。

购买微软产品是一个不错的选择。初始成本可能看起来很高,但请记住,如果您在购买时获得软件保障(例如,Visual Studio),只要您保持SA最新状态,您就有权免费升级 - 而且成本只是其中的一小部分回购。许多人认为你每次都需要购买完整的零售版本,但事实并非如此。与CDW等大型供应商合作,帮助解决许可问题。他们通过电话与我们的微软许可部门的某个人联系,并帮助我们选择了正确的选择。根本没有压力。他们实际上是在谈论我们认为需要的一些事情。

MSDN订阅非常棒。我有一个通过我的雇主,但也习惯维持一个人。如果您是承包商/自营职业者,则需要支付运营费用。就像购买完整产品一样,续订MSDN订阅与购买相比非常便宜,特别是考虑到你得到的东西。 MSDN中的许可是相当慷慨的,因为你是一个人的商店,如果我读得正确,一个MSDN就足以满足你的非生产需求。此外,捆绑的支持事件也是一个不错的选择。

Visual Studio有很多版本,从Express Editions一直到Team Editions。例如,我们现在正在推出Team Foundation Server,因此我们的成本明显更高。对于初创公司或小型商店,有TFS托管合作伙伴,您可以免费获得团队资源管理器。或者你可以混合搭配,使用Visual Studio进行开发,以及VSS,SVN或其他无数版本控制产品。

仅仅因为有人“开源”,这并不意味着它是免费的。是的,平台选择可能是免费的,工具可能是免费的,但有一天您肯定需要商业图书馆或组件。此外,没有什么能阻止您使用Microsoft的开源产品。有许多用.NET编写的开源项目可以与您的解决方案一起使用,而且Microsoft变得更加透明。我们正在研究一个非常大的企业解决方案,我们只使用一种“商业”产品,而不是我们的开发工具。有很多开源用法,很多实现都是从社区的思考和例子中汲取的。

经常未提及的一件事是这些决策中的人力成本。微软受到许多人的憎恨,他们的解决方案可能不是最快或最强大的(虽然我会在任何其他网络服务器配置上使用W7K8上的IIS7)他们专注于让人们在他们能做的事情上更有效率。你不只是用它们购买产品,你实际上是在购买生产力。作为一个曾在一些开源商店工作的人,我非常感谢他们所做的所有事情并理解免费并不总是意味着更好。

我有一个“一人”的业务,我真的建议您查看MSDN订阅。它将为您提供工具和技术,如果不在零售路线上点菜,您将无法获得这些工具和技术。与某人(如CDW)交谈,以帮助您了解您的许可需求。如果它成功了,一定要尝试那条路线。您可以在一个拥有MSDN订阅的单人商店中满足您的所有内部需求(例如,许多产品可供您(作为用户)安装,最多可达机器的十倍他们安装的是“你的”和非生产。有例外,但不是很多。)

如果不起作用,请尝试免费路线。您绝对可以使用Mono for .NET Development以及Express Editions。我认识一些C#开发人员,他们对Mono发誓并且感到高兴。

祝你好运!

答案 1 :(得分:13)

  

通常,当他们与开源语言进行比较时,有人会提到支持开源的一个因素是它是免费的(在某种程度上)。我的问题是,ASP.NET何时使用专有技术实际上需要花钱?

通常,当人们以您描述的方式提及“成本”时,他们会隐含地提及TCO或total cost of ownership。成本不是明确的成本,因为你直接支付了某些东西,而是在其生命周期内使用某些东西的的长期价格

例如,即使特定的专有技术是免费的,也可能更难以雇佣和找到了解它的人来处理您的项目。因此,如果它不如某些开源同等资源那么受欢迎,那么你可能会为同等数量的劳动力支付更多的费用,因为适当的人才将更难以找到并且需求更高。

相反,如果一个开源产品是免费的,但心智低落或表现不佳,那么支付昂贵的闭源专有解决方案可能是值得的,而不是必须学习开源的特性。版本

当然,围绕如何衡量TCO存在一些争议,两个阵营都有一些有效点。

答案 2 :(得分:11)

  • .NET是免费的
  • C#编译器是免费的
  • Visual Studio的某些版本是免费的,你实际上并不需要它为.NET编写(尽管它确实非常有帮助!)
  • 有许多免费的在线资源可供学习.NET,例如http://asp.net

简而言之,除了网站的托管费或您可能购买的选项以使事情变得更容易(使用Visual Studio的更好版本)之外,使用ASP.NET没有任何实际成本。

更多的是意识形态上的分歧,开源人员一方面都是相当反微软的,所以声称它的使用成本很高。我不担心他们。 ;)

答案 3 :(得分:5)

已经有几个好的答案,但我想补充一下“它取决于”。

joseph.ferris显然适用于大型组织,其中交换平台的成本将非常非常昂贵,因此支付许可成本的成本远低于转换成本。请看看3月11日Jonathan Schwartz的blog entry,特别是标题为“免费太贵”的部分,这是另一个完全支持基础设施的原因。

但请考虑其他两种情况。

首先,有一个业余爱好者,这就是你似乎要解决的问题 - 你想要玩这个技术,或者建立一个或三个网站。隐私或可扩展性没有任何问题,因此您可以在廉价的共享托管解决方案上部署应用程序。在这种情况下,成本几乎无关紧要 - 无论您选择什么平台,您都可以获得免费工具来帮助您入门。 记住孩子们,第一次点击总是免费的。

对于初创公司来说,事情有点不同。如果我们的目标是建立一个大型网站,那么潜在的许可成本可能会令人望而生畏 - 使用开源可能要便宜得多。除了生产环境之外,您还需要为开发环境,测试等付费。即使对于小型公司,许可证可能比预算中的更多 - 单个Windows 2003服务器企业许可证列表为4,000美元。如果你试图打入竞争环境并在价格上竞争,那么这一点可能会让你失去竞争力。我见过基于Windows的解决方案(服务器,数据库和自定义开发与内容管理系统相结合)的价格是开源解决方案价格的两到三倍。

答案 4 :(得分:3)

我知道它已被回答,但我会把我的2美分。你为什么想知道ASP.net的成本?在我看来,您的案例中的技术选择(1-2个人发展自由职业者团队)应该受技术熟悉程度的支配。如果您是ASP.net专家,购买产品和MSDN订阅的费用是值得的,因为它是您熟悉的首选语言,因此您实施的项目将更好,更快,所以坚持下去是有意义的。

然而,如果你碰巧知道另一种技术,并且你很自然能够随时随地提供强大的产品,那么降低成本可能是值得的。作为承包商,主要目标是不要浪费时间/金钱,因此您选择的技术可以平衡您的开支和学习时间。换句话说,如果您是Java专家,那么无需为asp.net付费。如果你已经熟悉了asp,那么肯定,坚持下去吧。

客户很少关心您是使用Ruby,PHP,Python,Java还是ASP.net。他们关心时间线,成本和质量。

答案 5 :(得分:1)

我发现使用它并不需要花费太多钱。它实际上花费了相当多的钱来获得基于Windows的托管。 Visual Studio也很贵。但是,在这些之后,遇到的费用并不多。

答案 6 :(得分:1)

如果您想使用更专业的Visual Studio版本来开发您的应用程序:您需要为此付费。 此外,市场上有许多商业组件。这些将节省您的时间或改进您的产品,但需要付出代价。

对于开源,还有很多组件,但在这个场景中大多数是免费/开放的。