Worker Role第三方软件

时间:2014-10-06 13:03:22

标签: azure cloud azure-storage azure-web-roles azure-storage-blobs

我们在Azure虚拟机中托管了第三方软件。该软件托管由我们的某个Cloud Service Web角色使用的服务。

问题是VM和Web角色之间的网络延迟严重影响了我们的应用程序的性能。

解决方案是在同一个Cloud Service(工作者角色)中发布此第三方软件

虚拟机角色听起来像good implementation for the above problem。不幸的是,这是一项弃用的服务!

一个想法是将相关的安装脚本和文件打包到Visual Studio项目中,并配置ServiceDefinition以相应地设置软件。这里的问题是安装文件超过1Gb。

目前是否有任何Azure服务可以支持我的问题?是否有VM角色的替代品?

2 个答案:

答案 0 :(得分:1)

虽然有点旧,但你可能想看看CodePlex上的Azure Bootstraper。从项目描述页面:

  

Windows Azure Bootstrapper是一个旨在使用的命令行工具   通过在Windows Azure中运行Web和Worker角色。这个工具   允许您轻松下载资源(公共资源或   你的blob存储中的那些,必要时提取它们,然后启动   他们。因为您不希望总是在下载和运行期间   重新启动,它还将帮助跟踪这些依赖项,并仅启动   安装者一次!另外,还有一些非常有用的   这些功能使其成为与您的角色打包的绝佳工具。

另一个想法(虽然我没有尝试过)会使用Azure File Service。您可以做的是将安装程序上载到Azure文件服务共享中,然后将共享安装在Cloud Service VM中,并将其用作VM上的驱动器。你应该能够以这种方式安装软件。

答案 1 :(得分:1)

你是对的,将cspkg中的第三方软件捆绑在一起可能会出现大小问题。

从启动命令文件(.cmd)或OnStart()下载所需软件的常见做法。这些下载可以来自您有权访问的任何地方:Azure blob存储,实际供应商本身(例如从公共下载链接下载)等。在您的启动脚本中,您需要处理下载(和潜在解压缩到本地文件夹,然后根据需要进行安装。