【问题标题】:Application deployment for cloud云应用部署
【发布时间】:2017-06-01 07:10:03
【问题描述】:

我是云平台新手。

我知道各种云供应商都有一种机制,如果虚拟机崩溃并且无法启动,它可以启动一个新的虚拟机 在这种情况下,如何将代码部署在云提供商旋转的新 VM 上?

在这种情况下,应用程序所有者必须处理部署还是由提供者负责

【问题讨论】:

  • 您说的是独立虚拟机还是 PaaS(平台即服务)?
  • 我主要对 PaaS 感兴趣。但也希望 IaaS 中的建议。

标签: azure cloud


【解决方案1】:

对于 PaaS,您将包和配置(来自您的构建的 cspkg 和 cscfg)上传到云服务,这是由 Azure 自动部署的,您可以指定要部署应用程序的机器数量(和大小) ,如果您愿意,它可以通过门户(以及外部使用 PowerShell/REST)进行配置。

在您的解决方案中,您在 csdef 中指定大小:

<ServiceDefinition name="MyWebRole.CloudService" <WebRole name="MyWebRole" vmsize="Small">

以及cscfg中的实例数:

<Role name="MyWebRole" vmName="WebRole"> <Instances count="2" />

您应该确保至少有 2 个实例正在为您的应用运行,如果一个实例出现故障,那么您的应用不会立即失败。 Microsoft 可能需要在不告诉您的情况下将其拆除或更新(除了任何日志等之外,您不应该注意到),如果您的应用无法处理单个实例,请确保您有 3 (因此,如果服务器出现故障,您仍然至少有 2)。

通过 Azure 门户,您可以重新启动和重新映像(将包/配置部署到全新的机器上),包/配置保留在 Azure 中,因此您无需再次部署它们,同样的事情发生在您向上/向下扩展您的服务,包/配置已经存在于 Azure 中,所以它“只是这样做”(期待忙碌的一天?将一些机器添加到您的服务,或将其设置为基于指标自动扩展)。

IaaS 与您通常的 VM 场景非常相似,您可以启动它们、远程访问它们并执行任何必要的操作!您可以通过门户打开和关闭它们。安装、操作系统问题/配置、修补都是您自己的问题(可能加入域,因此如果您熟悉,可以使用策略/DSC),所以如果您有需要通过 exe 等安装或使用的东西使用 GUI,然后 VM 为这种情况工作。附带说明一下,我只在 Azure 中看到过一个问题,即 VM 出现问题(蓝屏 -> 插入 cd 错误),如果您认为平台有问题,您可以执行诸如删除 VM 之类的操作(但保留磁盘!)并使用相同的磁盘创建一个新磁盘。

另一个需要研究的是 WebApps/AppServices,它们有点像云服务,只是它们消除了一些问题,例如拥有实际的底层 VM。

【讨论】:

  • 谢谢丹尼尔。 IaaS 呢?
  • 在 PaaS 的情况下,我们有 cspkg 用于部署我们的应用程序。所以我知道 cspkg 存储在 Azure 中,并且在重新映像的情况下,相同的 pkg 部署在新的 VM 上。但对于 IaaS,我想我们必须通过登录虚拟机或通过一些自动化来安装软件/应用程序。现在,如果 Azure 由于某种原因必须重新创建 VM,它如何知道必须在 VM 上部署什么应用程序?
  • Azure 不应该在 IaaS 的情况下重新创建 VM,如果它崩溃,则由您来修复它。磁盘本质上存储在 blob 存储中,这意味着您可以取消分配机器并在需要时重新配置它。
猜你喜欢
  • 2017-05-14
  • 2019-02-22
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
相关资源
最近更新 更多