繁体   English   中英

如何将具有多个组件的应用程序部署到Azure?

[英]How do I deploy an app with multiple components to Azure?

因此,我的应用程序由几个单独的.NET组件组成,所有这些组件都在Azure中运行。 让您了解其中涉及的内容:

  • 作为Azure网站运行的主要ASP.NET MVC5 / Web API 2 REST服务(我认为他们将其重命名为Web应用程序?)。
  • 主要REST服务使用的SQL数据库。
  • 主REST服务与之通信的另一个内部Web API REST服务作为Azure网站运行。
  • 内部Web API REST服务使用的Azure存储表。
  • 3个计划的作业(仅是.NET exe),它们在后台运行并且还与主SQL数据库通信。

现在,所有这些在Azure中运行得都很好。 我的问题是自动化部署和配置。

现在,一切都是手动的。 我右键单击并从Visual Studio发布两个Web应用程序。 我建立并通过FTP上传网络作业。 数据库和Azure存储已经存在,因此我不必重新设置它们。

但是,请说发生了一些不好的事情-数据中心发生故障或其他情况。 我希望能够以最小的努力启动我的应用程序的新版本(包含所有这些组件)。

我对Azure领域很陌生,所以我不确定从哪里开始。 我有什么选择?

您正在寻求自动化Azure中的部署。 我建议使用ElasticBox解决它。

为了实现自动化,您需要为需要部署的每个不同服务或组件创建一个框(框是用于定义任何云中服务或应用程序部署的安装和配置的抽象单元)。

还可以根据VM实例,VM角色或辅助角色创建框,并自动执行Microsoft SQL Server的部署。 比方说Azure提供的每个选项。

然后,完成这些框(可以对其进行自定义,并重复使用以前的手动安装中的旧代码),您可以在几乎没有手动干预的情况下部署多个虚拟机,只需单击一下或使用带有某些参数的命令即可。

一个框包含部署所需的变量(您可以为这些变量设置默认值)和旧脚本(在这种情况下可能是PowerShell,但它们可以是bash,python,perl,java或任何其他语言)

部署盒子时:

  • 在您选择的位置并使用预先配置的Azure配置创建Cloud Service或VM。 它负责在您的Azure提供程序中或在市场上其他任何云提供程序附近配置虚拟机。

  • 安装,使用指定的变量配置文件并执行您定义的SQL或Web服务。

与服务交互的其他方式:

  • Jenkins的插件可用于构建CI环境,以将更新的代码或请求请求与Azure或任何其他公共云中的自动部署连接起来。

  • 使用命令行工具可以对机器进行VM部署,还可以使用它来管理已部署的vm实例。

Azure资源管理器 (ARM)旨在解决您所描述的问题。

基本思想是使用JSON模板描述所有服务。 然后可以将该模板提供给ARM,它将按模板中的定义创建服务。 如果要进行更改,而不必强制性地进行更改(通过Powershell或在门户中手动进行),只需将模板更新,然后将其传递给ARM,它将进行必要的更改以使服务与您的模板匹配。

一些资源:

我认为您正在寻找可以帮助您将其部署到Windows Azure服务器的东西。 如果是这种情况,我建议您查看Jenkins CI 关于让Jenkins和Azure一起工作,您可以在线研究许多可用资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM