如何计算或估算Azure应用程序(SaaS)上的每个用户的成本?

时间:2012-07-21 19:23:15

标签: azure azure-configuration

我相信没有神奇的公式可以达到一个精确的数字,而且可能取决于应用程序和用户的一系列不同方面。

但事情就是这样:

我正在构建一个允许教会管理其成员,员工和捐赠的软件。将其视为CRM(或任何接近于此的东西)。此外,我们必须记住,一些教堂有200名成员,其他有6000名成员。一些教会每个月可以收到几十个捐款,其他数千个月捐款。

它将是Azure上托管的SaaS。每个教会都会为一个帐户支付月费,这是我被困的地方。我如何知道成本,以便我可以决定最终价格?

我想知道是否有人可以分享一些有助于我估算的数据:

1)保持此应用程序运行的最低每月费用(比方说,只有一个教会)。

2)每个教会的预计/估计成本,以便我们计算最终价格。

2 个答案:

答案 0 :(得分:2)

这是一个非常开放的问题,您可以选择您的架构来针对不同的事情进行优化(例如成本,可用性,速度)。您需要决定是建立单租户还是多租户应用。前者可能更简单,更容易按每个客户计量,因为每个部署实际上有一个客户(或教会);但是,这可能会导致运行成本高昂,因为在非高峰时段您可能会有闲置的Web /辅助角色。多租户应用程序可让您获得更好的整体计算利用率,但您需要计算每个租户的方式。即使使用多租户应用程序,如果需要,您仍然可以使用单租户数据库。

您可能需要考虑基于某个操作单元(或每个教会的一些用户数)的分层定价模型。为了帮助您进行测光,您可以:

  • 查看存储分析(这样可以详细记录访问的blob /表/队列,包括在何时访问的确切资源)。
  • 创建自定义性能计数器并使用Windows Azure诊断程序发出这些计数器
  • 查看Windows Azure SQL消耗(including the dynamic management views

对于基线成本:考虑以下几点:

  • 对于SLA和一般正常运行时间可靠性,您至少需要2个实例
  • 始终使用可以操作的最小实例大小,并在负载增加时扩展到更多实例
  • 假设您正在优化成本,因此您在Web角色实例中运行所有后台/队列处理/调度/等,而不需要任何辅助角色实例
  • 在本练习中,假设多租户计算和单租户数据库(网络版,每个租户平均<100MB)。这导致每个租户每月5美元的数据库。
  • 假设有5个教堂。假设2个最小的小实例,并假设它在白天突发到4个实例12小时。这是3个实例的平均运行率,或每月260美元。
  • 假设一些带宽费用为每月10美元。
  • 假设队列,blob,诊断费用为每月25美元。

有了上述假设(完全是为了给你一个稻草人开始):

  • DB:5美元x 5个租户:每月25美元。
  • 计算:每月260美元
  • 带宽:每月10美元
  • 存储:每月25美元
  • Ballpark总计:每月$ 300-400。

现在:这完全弥补了,我不知道您的应用将存储/生成多少数据或带宽。但希望这能让您大致了解如何开始预测成本。请注意,我在 中包含了估算中的存储事务。我认为这只是背景噪音。

答案 1 :(得分:1)

  1. 运行一台服务器(/ database /无论你在测量什么)。
  2. 生成负载,直到一台服务器不再足够。
  3. 外推。
  4. 由于我正在回答精辟的步骤,这是另一件需要考虑的事情。如何确定价格:

    1. 确定您的费用。
    2. 确定您的客户将支付多少费用。
    3. 在两者之间充电。
    4. 请注意,#1 可能结果确实无关紧要。假设成本是