将单独的层部署到Azure

时间:2012-02-14 21:06:05

标签: azure deployment

假设我在Azure中有3个实例。每个都运行应用程序的单独层,正如我在此问题Independent deployment of separate layers to Azure中所述。对于每个层的独立部署(读取角色),将创建单独的Azure部署项目。问题是,当我将部署时,例如业务层,将替换什么实例?我可以确定具有UI和数据访问的实例将保持不变吗?如何根据角色的名称找到要替换的实例?

2 个答案:

答案 0 :(得分:1)

为了澄清,你有3层,每层都托管在不同的windows azure角色(不是实例)。如果您在单独部署中使用每个角色(单独的托管服务),那么在部署时,您将只升级该层。其他层不会受到影响。

但是,如果存在任何签名差异,则依赖层可能会在其尝试调用的服务发生更改时中断。因此,您希望确保任何服务支持版本控制,并且始终向后兼容至少一个版本。

我创建了a quick blog post with some screen shots of doing a single role upgrade。请注意,Silverlight门户网站在执行此操作时为我发出了一个例外情况,我已经报告了该错误,并且如果我们发现它的内容,则会更新博客文章。

已更新: Silverlight管理门户中存在一个当前阻止单个角色升级性能的错误。 Windows Azure团队了解这一点,并将在未来的更新中解决它。目前没有针对该更新的ETA。但是,您仍然可以通过管理API执行单一角色更新/升级。

答案 1 :(得分:0)

正如布伦特所说,绝对可以进行单一角色升级。过去,如果您在升级该角色时对ServiceDefinition进行了任何更改(更改VM大小,添加了新的Config设置,更新了角色名称或更改了当前部署的服务定义中的实例计数),Azure Fabric Controller将会不允许你进行就地升级。现在,这也是可能的。因此,您可以对Role进行就地升级并提高VM大小。与往常一样,您至少希望有2个实例,以确保您不会遇到任何停机时间。

Ranjith
http://www.opstera.com