为什么Azure部署需要这么长时间?


143

我试图理解为什么将一个小型应用程序部署到Azure可能需要20-60分钟(使用配置/程序包上传方法,而不是从VS内部)。

我已经通过阅读这种情况这一个,但我还是有点不清楚-有,虽然实例分配,就像有人在微软点燃蜡烛或做一个舞蹈出现一个奇怪的非技术仪式?


12
这就是我仍然喜欢使用EC2的原因,即使我不喜欢Azure提供的OS管理提供的抽象。
stepanian'3

12
同时,我们距离将近3年,仍然非常缓慢。
staccata 2014年

@staccata网站的部署速度更快,因此请尽可能使用它们。
Casey 2014年

很难想像已经过去了5年,但启动时间仍然不变。
rks

4
现在是2017年底,而且仍然非常缓慢。有时候,我考虑将计算机拆箱然后安装os,然后手动部署应用程序比这快。
hoangpx

Answers:


58

作为Azure的资深用户,我会分享您的痛苦-部署不是“快速” /“无痛”的,这尤其在您处于开发周期并且想要在Azure上测试开发迭代时会很痛苦。但是,在一般情况下,部署应花费少于60分钟的时间-少于20分钟。

史蒂夫·马克思(Steve Marx)简要介绍了部署所涉及的步骤:http : //blog.smarx.com/posts/what-happens-when-you-deploy-on-windows-azure

他在以下网址引用了更深层次的解释:http : //channel9.msdn.com/blogs/pdc2008/es19


9
这个答案仍然适用于2018吗?我正在尝试在Azure上部署Redis缓存。我的天蓝色服务-等待了25分钟,无法相信这是正常/可以接受的。
肉汁

1
@Gravy我已经使用很多年了,是的,部署(尤其是VM)有时可能会非常缓慢。通常,您需要等待10至60分钟。
Cocowalla

26

当您将应用程序部署到Azure云时,幕后发生了很多事情。对于幕后发生的事情,我没有任何特别的了解,但是在使用VS工具将项目上传到Azure云时,这些是我对局外人的印象:

除其他事项外:

  1. 必须从可用的服务器池中分配硬件
  2. 核心操作系统的VHD必须上传到计算机
  3. VM实例必须初始化并从该VHD映像启动
  4. 您的应用程序包必须复制到VM并安装
  5. VM监视器必须等待您的服务启动,否则将失败
  6. 必须使数据中心负载平衡器和防火墙了解您的应用程序的服务端点
  7. 一旦所有这些同步,就可以从网络上访问您的应用程序。

VHD映像的大小可能为千兆字节,比您的应用程序上载要大得多。即使在超快速的数据中心网络上,也需要花费一些时间才能将这么多东西移入VM,对其进行解压缩并从中启动。同样,负载平衡器和防火墙可能已进行了优化,以使路由请求具有最高优先级。重新配置防火墙和负载平衡器的优先级较低,必须在不中断流量的情况下进行。

还要注意,所有这些工作仅需要针对新的部署完成。更新现有部署的速度更快-2至3分钟,而不是20至30分钟。


2
有趣的是,但考虑到我们这些天在所有可用选项中速度最快。如果不是毫秒,这是否可以让我们在几秒钟内完成所有这些工作?
2016年

“这些日子”距我最初的评论发表已经过去了5年。我敢肯定,自2011年以来,Azure的配置性能有所提高。:>
dthorpe

7
还没有在几秒钟内,我可以确认
afr0

当然不。
philippeback

4
是的,新部署仍需要10分钟左右。老实说,我感到有些惊讶,Azure没有让某些VM在此列表中的第4步等待改善他们的客户体验。
Fls'Zen

18

观看Mark Russinovich的PDC10视频。他详细介绍了Azure内部的情况,并深入了解了(缓慢的)部署过程。

原始链接不再有效。这是相同演示文稿版本的另一个链接:https : //channel9.msdn.com/events/Build/BUILD2011/SAC-853T


5
很棒的链接,但还没有+1:该视频超过一个小时,因此如果您对要点进行了简要概述,那将非常方便。如果您这样做:请向我+1。
Jeroen Wiert Pluimers 2011年

3
公平地说,BrentDaCodeMonkey确实说过他“非常详细”。
Jamie Keeling

32
哇。这个视频是Windows Azure的长期部署。
安德烈·佩纳

1
不可否认,这是一个相当古老的记录(以云计算)。我已经更新了Russinovich从另一个事件到同一个会话的新链接。
BrentDaCodeMonkey '16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.