部署到azure,角色在不同的配置中分割为不同的实例?

时间:2012-11-15 10:35:00

标签: azure azure-configuration

我们在Azure中有几个不同的角色。目前这些都被部署到单独的实例,因此它们可以单独扩展(在生产中这是我们想要的),但是对于测试,这似乎是浪费的,我们希望能够将所有角色部署到单个实例以最小化成本。

我们可以这样做吗?

2 个答案:

答案 0 :(得分:1)

角色本质上是在一组Windows Azure VM实例中运行的内容的定义。根据定义,它们有自己的实例,因此它们不能针对单个实例集。

那就是说:没有什么可以阻止你将来自不同角色的代码组合成一个角色。您需要确保OnStart()Run()处理所有需要的任务,以及合并启动脚本项。

优势(你已经猜测过):节省成本,特别是在低容量运行时(整个应用程序可以在两个实例中运行,而另外几个由角色分离的近乎空闲的实例)。 / p>

一个潜在的缺点:现在,所有组合成一个角色的东西都将一起扩展。这对您来说可能是也可能不是问题。

另外,考虑一下尺寸。让我们说你的网站非常高兴,你需要一个小的,但一些后台任务XL(也许它是一个需要10GB RAM或其他东西的渲染器)。我们假设您总是运行2个网站实例,以实现SLA目的。现在,即使是非常低的音量,您的应用程序也包含两个XL实例,而不是2个小(Web)和一个XL(背景)。现在,您的近乎空闲的系统可能会因为一个组合角色而不是单独的角色而花费更多。 这可能不适用于您 - 只是举例说明合并可能没有意义......

答案 1 :(得分:1)

再加上David的精彩解释,将各种东西放在一起并通过OnStart或Run overrides粘合它们会有效,但你真的在正确地测试它们吗?配置值合并在一起,可能存在内存使用问题,并发性等。您不会在部署到生产环境时测试相同的产品。

更好的方法是将超小型实例部署到您的QA环境中。它们的成本仅为中型或大型服务器的一小部分,并提供有意义的测试平台。