Windows Azure和动态弹性

时间:2010-05-19 23:03:24

标签: azure autoscaling utilization elasticity

Windows Azure中是否有办法实现动态弹性?如果我的工作人员开始变得过载,或者队列开始变得太满,或者太多的工作人员没有工作要做,有没有办法通过代码动态添加或删除工作人员,或者只是手动完成(需要人工干预)现在?有没有人知道有任何计划添加,如果它目前不可用?

5 个答案:

答案 0 :(得分:5)

Microsoft shipped Autoscaling Application Block (Wasabi)提供动态扩展。一些支持的方案:

  1. 通过动态更改实例计数或执行应用程序限制,在Windows Azure中自动调整Web角色和辅助角色。
  2. 根据时间表自动调整Windows Azure角色。
  3. 根据从应用程序和/或Windows Azure收集的指标自动调整Windows Azure角色,但受每个角色的实例计数的上限和下限约束。
  4. 使用稳定器防止角色实例的数量快速振荡。稳定器还可以通过将扩展操作限制到小时开始并将操作缩减到小时结束来帮助优化成本。
  5. 监控和记录自动缩放活动。
  6. 发送通知以预览任何扩展操作。
  7. 加密Windows Azure blob存储或本地文件存储中的规则和其他配置。
  8. 使用Windows PowerShell管理自动缩放器配置。
  9. 提供了一个展示所有这些功能的综合示例应用程序(Tailspin Surveys)(安装说明可用here)。另外,请查看Developer's Guide和频道9 video walkthrough

    该块可作为binariessourceNuGet的独立下载提供。

    以下是几个演示Wasabi的演讲/演示:

答案 1 :(得分:3)

有一个Service Management API,您可以使用它来扩展您的应用程序(从在Windows Azure中运行的代码或在Windows Azure外部运行的代码)。

http://msdn.microsoft.com/en-us/library/ee460799.aspxhttp://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=windowsazuresamples&ReleaseId=3233

答案 2 :(得分:3)

Windows Azure刚刚添加了平台内置的自动缩放功能。现在,在管理门户中配置自动缩放规则非常简单: Configuring autoscaling based on CPU utilization in Windows Azure

请参阅announcementdemo。我还写了一个post比较Windows Azure Autoscale和Wasabi,并概述了前进的道路。

答案 3 :(得分:0)

  1. 创建名为autoscale.[your_role_name].instance_count
  2. 的队列
  3. 在管理门户中,将自动缩放设置为Queue
  4. 将目标计数字段设置为1
  5. 现在,您可以对该队列使用标准入队和出列操作来控制辅助角色实例的数量。您有7天的时间来处理邮件过期,因此您可能希望创建一个辅助角色,以确保队列中的邮件数量跟踪您的目标实例数。

    如果您处于动态弹性之后,您可能已经考虑过基于工作者角色的控制器了,所以这可能不是问题。

答案 4 :(得分:-1)

用于Windows Azure的

Lokad.Cloud开源项目包含分布式执行程序框架。除此之外,它提供了auto-scaling with VM provisioning feature