我只是在考虑平台选择如何影响SaaS类型业务的成本。
如果您要在 Linux 和 Windows 之间进行选择,成本似乎确实会增加。
请告诉我我是否正确看待事物。
许可证方面,如果您使用 Windows,您最终将支付:
- 1000 美元的 Windows 2008 Server 许可证
- SQL Server 标准许可证 10,000 美元。
现在为了争论,假设一台服务器可以处理 1,000 个用户。
这意味着,您一年的每位用户费用为 11 美元。或者您可以将其分解为 2-3 年,直到您必须升级为止。因此,每位用户每月 3-4 美元的成本。
在 Linux 方面,如果您使用 Java/PHP 和 MySQL,您的许可成本开销为 0 美元。
看起来这是一种非常简单的看待事物的方式,我错过了什么吗?
(忽略事物的生产力方面,因为那是特定于开发人员的。)
首先,你不应该那样做。经验表明,之前在平台上成功构建过类似产品是成功的首要预测因素。首先选择你的团队,根据他们的优点。除非您的团队建议一个疯狂的古怪平台,否则请使用他们熟悉和推荐的任何平台。
我认为这是你的主要错误。服务器可以处理多少用户当然完全完全取决于应用程序。但是对于大多数网络应用程序,>98% 的用户在任何给定时间都没有登录。一个基本的 Web 应用程序服务器通常每秒可以处理 200 - 800 个请求。算一算,您会发现许多应用程序可以在每台服务器上拥有数万用户。
举一个你熟悉的例子,Stack Overflow 系列网站(本网站就是其中之一)每月处理超过 600 万的独立访问者,并且页面浏览量比这多得多。这是它的完整服务器场。
商业开源也需要花钱。仔细看看 MySQL、Ubuntu、Red Hat Linux、JBoss 和所有其他软件——您通常希望始终拥有一名专家,或者从支持公司购买支持订阅。
最后但并非最不重要的一点是,最终,人工成本往往会在 <200 台服务器安装中占主导地位。如果您构建自己的基础架构——而不是使用云计算或全方位服务提供商——花在系统管理员身上的工资和时间通常会超过您的软件成本。对于拥有 250,000 多台服务器的 Google 来说,情况完全不同,但对于较小的安装来说,这通常是正确的。
一个主要警告:某些类型的网站,例如社交网络和视频转码网站,与我上面描述的硬件需求有很大不同。对您的特定应用程序进行适当的分析。
这不是真正的系统管理员问题。我认为这个前提存在一些商业问题。
首先,我不知道有一家SaaS企业(包括我目前工作的企业)想要运行不受支持的 Linux 副本——尤其是当客户询问什么平台正在运行他们的应用程序时,因此您需要获得许可的 Linux 副本。
其次,Microsoft 堆栈下 SaaS 的许可模式是每月按用户或按 CPU 计算的 - 因此没有启动成本,而且大约(取决于产品)每位用户 2 至 4 美元(最终你会为每个 CPU 付费,如果你得到很多的用户,每位用户的成本下降)。
然而,让我们假设 Linux 是免费的。Microsoft 堆栈和 Linux 堆栈之间的最大区别在于两个平台的生态系统。如果您的 SaaS 应用程序很简单(假设您想运行在线帮助台),那么 Linux/PostgreSQL 可能就可以了。如果您在 Linux 方面需要更多的灵活性/可扩展性,您将升级到 Oracle ($$) 以及如何迁移。
在 Microsoft 方面,您已经开始使用 Web 版和SQL Server Express 版(没有额外费用),当您想要扩大规模时,您只需向上移动 - 不需要“迁移”,因为您是已经在 SQL Server 上。假设您想升级功能以与另一个在线帮助台供应商竞争 - 所以您想添加报告,在 Linux 端您可能会选择Pentaho,在 Microsoft 端您已经拥有可用的报告服务。
与 Office 集成什么?你认为哪个堆栈更容易做。需要明确的是,我并不是说 Linux 堆栈使任何事情都无法完成,但微软带来的是巨大的单体平台,它使适应性和可扩展性更容易实现,恕我直言。
您尝试做的事情是非法的;)
那些不允许第三方托管。
在 SPLA 下注册 MS - 并获取他们的 SPLA 价目表。每月租金,包括所有升级。您可以摆脱“未经身份验证”的 Windows(您的客户没有 Windows 帐户,只有软件有)。
Windows 的 1000 美元变成了 Web 服务器每个处理器每月大约 15 美元。数据中心服务器,完全虚拟化,每个处理器每月大约 75 SD。包括维护和更新。SQL Server 与此类似 - 取决于您需要哪一个。
纯备份系统(冷备用)无需付费。
没有更新费用 - MS 可能每年调整一次每月价格,但基本上当新版本到来时,您从特定月份开始租用新版本。例如,我的 SPLA 刚刚从 SQL Server 2008 升级到 SQL Server 2008 R2,价格相同。
整个成本在“不相关”部分中消失了很多。
这更像是一个 ICT 业务问题,而不是与系统管理员相关的问题 - 但我的想法通常是,它是您选择在其上开发的平台的一个因素,而且根据我的经验,这通常取决于您所在地区和相关资源的可用性成本。
虽然这是一种狭隘的看待事物的方式(而且我非常支持开源),但如果能够以更低的平均成本和更高的平均可用性(来自招聘人员的输入应该给出指示)提供有能力的 .NET 开发人员,那么长期尽管初始成本较高,但在基于 Windows 的平台上业务的可持续性更好。(话虽如此,这是非常短暂的,因为开发人员的月份风味会随着时间的推移而变化)
如果您所在的地区 Java/php 和 Linux SA 技能很容易获得并且成本与上述设置相当,那么我认为该平台具有性能优势以及明显的规模和成本优势。
简而言之:这是关于尽可能地与技术无关,并不仅根据技能可用性的技术要求为工作选择最佳平台。一个的初始成本可能比另一个高,但根据我的经验,它们会在一两年后趋于平稳,尤其是构建成本应该考虑到您的定价/成本计算模型中。
如果您正在部署可扩展的解决方案,那么从操作的角度需要考虑的事项:
我主要是开源倡导者,但在 Windows/SQL Server 环境中签订了合同。我对 SQL Server 的体验主要是令人沮丧的——GUI 是令人愉快的,但配置是由费力的右键单击和随处单击的单击组成的;Windows 操作系统是一样的。我已经浪费了一整天的时间在 SQL Server 和 Microsoft Windows 中寻找深奥的权限问题。
最终,您必须选择对您最有利的东西。任何人都可以驱动 GUI,如果您只能访问标准级别的操作员,那么 GUI 环境可能是最适合您的环境。但是,如果您想利用才华横溢的管理员,那么纯 GUI 的环境会让他们非常沮丧,并最终期待继续前进。
致微软崇拜者:阅读 BOFH。醒来。