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

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

我已经通读了 这种情况这个,但我仍然有点不清楚-是否有一个奇怪的非技术仪式发生时,实例分发,像某人在微软点燃蜡烛或跳舞?

51198 次浏览

作为一个 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

当您将应用程序部署到 Azure 云时,在幕后会发生很多事情。我对幕后发生的事情没有什么特别的见解,但是在开发了 VS 工具将项目上传到 Azure 云之后,以下是我作为一个局外人的印象:

除此之外:

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

VHD 图像的大小可能是千兆字节,远远大于你的应用程序上传。即使在超高速的数据中心网络上,将这么多内容移入 VM、解压缩并从中引导也需要花费时间。此外,负载均衡器和防火墙可能进行了优化,以使路由请求具有最高的优先级。重新配置防火墙和负载平衡器的优先级较低,必须在不中断流量的情况下完成。

还要注意,所有这些工作只需要在新的部署中完成。更新现有部署的速度要快得多——2至3分钟,而不是20至30分钟。

看看 Mark Russinovich 的 PDC10视频。他详细介绍了 Azure 内部发生的事情,并对部署过程(公认的缓慢)提供了一些见解。

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