【发布时间】:2017-04-06 10:43:54
【问题描述】:
如何在 azure 中自动缩放虚拟机(IaaS 方法),而不是在 azure 中自动缩放 web/worker 角色?
【问题讨论】:
-
你不能用 WASABI 做到这一点。坦率地说,我几乎总是建议客户他们并不真正需要 Auto Scale。 IaaS 中的自动扩展是可能的,但与 PaaS 相比,它需要更多的工作(和解释)。因此,如果您真的想要自动扩展 - 选择 PaaS!
如何在 azure 中自动缩放虚拟机(IaaS 方法),而不是在 azure 中自动缩放 web/worker 角色?
【问题讨论】:
您现在可以直接在 Azure 管理门户中自动缩放 Azure 中的虚拟机。 ScottGu 在his blog 上有一篇关于它的帖子。
自动缩放虚拟机的重要一点是,您必须主动配置您认为需要处理峰值容量的最大虚拟机数量,并将它们添加到相同的可用性集中。
例如,如果在一周中最繁忙的一天需要 6 台机器来处理您的所有流量,那么您需要创建 6 个实例并在其上安装您的应用程序,对其进行配置以处理流量等......以及然后将其添加到其他 5 台计算机的可用性集中。
完成此操作后,您可以导航到包含所有虚拟机的云服务,然后单击 Scale 选项卡。您应该看到一个可用性集列表,它应该告诉您可以扩展的机器数量。选择一个指标(现在可以选择 CPU 或 Queue),然后选择要在其中扩展的机器范围。您可以在 1 和机器总数之间进行缩放。
当负载低时 - Azure 将关闭机器(因此您不必为它们付费),当负载高时,Azure 将重新打开这些机器。
【讨论】:
IaaS 级别的自动扩展实际上没有意义。即使 azure 可以检测到高 CPU 使用率并基于它启动新的 VM,那又如何呢?您仍然需要以某种方式自动在该 VM 上安装您的应用程序。
您正在寻找的是在 azure 上运行您的应用程序,并在必要时在新虚拟机上安装新实例的东西。那个“东西”被称为 PaaS enabler。基本上它是您的应用程序和天蓝色 IaaS 之间的另一个抽象级别。
那里有几个: Cloudify、CloudFoundary、Juju
据我所知,支持 Azure 的只有 Cloudify。您可以在此处查看如何使用 Cloudify 配置 azure:Configuring Azure
您也可以查看社区 - Cloudify Forum,或在此处发布问题以寻求帮助。
免责声明:我在 Gigaspaces 工作,开发 Cloudify 产品线。
【讨论】:
据此,可以通过预先配置框的数量来扩展具有可用性集的 IaaS:https://blogs.msdn.microsoft.com/kaevans/2015/02/20/autoscaling-azurevirtual-machines/
【讨论】: