【问题标题】:How to design the environments hosting (dev, stage, prod) for my Azure API App?如何为我的 Azure API 应用程序设计托管环境(开发、阶段、产品)?
【发布时间】:2018-04-16 21:01:38
【问题描述】:

我正在编写一个 API,它基本上将提供读取和写入数据库的服务。

我的目标是拥有三个环境。开发、阶段和生产。

第一个想法是拥有三个不同的资源组,每个资源组都有三个不同的应用服务计划来托管每个环境。

然后我开始阅读,推荐的策略似乎是将所有环境托管在一个应用服务计划中。通过这种方式,您可以利用交换部署槽。而且我会支付三分之一的价格。

但我也读到,生产环境与其他环境隔离是件好事。因此,这样一来,我就需要一个用于 Prod 的应用服务计划,而另一个用于我的其他环境的应用服务计划。

所以我的第一个问题是,是否有建议/标准的方法来继续设置环境?

在单个应用服务计划内的环境中进行交换是专有的吗?

此外,我还在比较标准、高级和独立层的规格,但我找不到有关独立应用服务计划是否有“暂存槽”进行部署的信息。我知道标准层有 5 个插槽,而高级层有 20 个。独立应用服务计划不支持多个部署插槽吗?

提前感谢你们提供的任何见解。

【问题讨论】:

    标签: azure api azure-web-app-service azure-api-apps


    【解决方案1】:

    是否有建议/标准的方式来继续设置环境?

    据我所知,当应用运行在 StandardPremium 应用服务计划层时,我们可以方便地在 azure 门户中创建部署槽.

    1. 添加部署槽

      在 azure 门户中,打开应用的资源刀片-->部署槽-->添加槽-->为槽命名并选择配置源。如果您有多个插槽,您可以手动交换它们或设置自动交换。

    2. 部署槽的配置

      当您使用交换功能时,您应该知道settings that can be swapped or not。此外,您可以设置插槽设置,注意将配置元素标记为特定于插槽的效果是将该元素确定为不可在与应用关联的所有部署插槽之间交换。

    更多详情可以参考这个article

    在单个应用服务计划中的环境中进行交换是专有的吗?

    根据我的理解,应用服务计划就像一个虚拟机,它包含您的应用,部署槽就像您可以进行不同配置的 Web 应用的副本。它也与应用服务计划一起举行。如果应用服务计划具有不同的定价层,它们将具有不同的功能。所以我们不能交换不同服务计划中的插槽。

    独立应用服务计划不支持多个部署槽吗?

    其实Isolated App Service Plan支持部署槽位。你可以view full details for App Service Plans。Isolated tier是特殊的。在Isolated tier中,App Service Environment定义了运行你的应用程序的隔离worker的数量,每个worker都被收费每小时。此外,运行应用服务环境本身需要支付每小时的基本费用。 您可以在创建应用服务计划时选择层级,但无法在资源刀片的向上扩展选项中向上扩展至此层级。

    【讨论】:

      猜你喜欢
      • 2020-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      • 2020-10-10
      相关资源
      最近更新 更多