这个想法很简单。在传统的托管模式下,人们可以租用单独的服务器,然后在上面运行十几个小型的 Web 站点。而在 Azure 下,他们期望你为每个站点租用一个工作者(worker)角色,这会极大地提高你的托管成本。一个工作者角色一年最少的费用大约是 1051.20 美元,还要加上存储、带宽和事务费用。这是为什么人们请求有一种方式来使得 Azure 对于很小的服务和 Web 站点要更便宜的原因。
这个观点的反对意见是 Azure 其实不是针对小型站点的。在这个理念之下,如果你不需要多个站点角色来托管给定的站点,那么你就不是 Azure 目标受众的一部分。当然这使得小型站点将来在某种程度上也很难成长为大型的站点。
这个讨论给了 Jouni Heikniemi 一些提示,他建议创建“精简版的Windows Azure ”以及Windows Azure Compute 中小企业版。这个概念很简单,为什么一个编写得很好、只需要一部分处理器能力的站点需要为整个处理器核心支付费用呢?所以,他希望Microsoft 支持这样的计划,允许开发者租用计算实例的一部分,费用是每月十美元。
接下来是继续为开发者提供免费的访问。没有昂贵的MSDN 订阅,想要试验Azure 的独立开发者没有其他选择,只能是自己来支付费用。在这个主题上没有太多的争论,但是很难保证开发者不将其作为取得免费的生产实例方式。可能提供某些像Jouni Heikniem 的想法中的东西也能够解决这个问题。
第三个是很让人惊奇的。 Azure 不支持发送邮件,这是大多数站点中很重要的组件。这个想法包括为每封 Email 付费、对发出的邮件设置很大的限制,或者与其他邮件服务器集成,像在线版的Exchange 或者Gmail。
我们接下来要讨论的两个问题,大部分是用来处理工作者角色的需求的。工作者角色有两个基本的问题。首先,Azure 架构是围绕这样的想法设计的,每个工作者角色做一项指定的任务。如果你将多个功能捆绑在一起,那么更新角色就会有问题,因为你需要分别更新每个角色。Azure 的定价模型完全相反。由于你是为每个使用的实例付钱,因此你最好尽可能地组合多个进程,特别是在进程总是空闲的时候。由于这个原因,有人建议多个角色应该可以共享相同的计算实例。
第二个问题是无法从 Azure 的内部来安排工作者角色,从而他们只在需要的时候才运行。一个项目很容易会需要很多工作者角色,他们只在指定的时间运行,并且,一旦完成就应该自动关闭。由于 Azure 的定价模型是基于角色被占用的时间有多长,而不是它实际运行的时间有多长的,使用内部的定时器是不行的。也可以使用托管在 Azure 之外的外部定时器,但是这会导致可靠性的问题。
查看英文原文: Azure Feature Voting Results
评论