你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

什么是 Azure 部署环境?

Azure 部署环境使开发团队能够使用基于项目的模板快速轻松地启动应用基础结构,这些模板可建立一致性和最佳做法,同时最大程度地提高安全性。 这种对安全环境的按需访问以合规且经济高效的方式加速软件开发生命周期的阶段。

部署环境是在名为环境定义的模板中定义的 Azure 基础结构资源的集合。 开发人员可以在自己有权访问的订阅中部署这些模板中定义的基础结构,并在基础结构上生成其应用程序。 例如,你可以定义一个包含 Web 应用、数据库和存储帐户的部署环境。 Web 开发人员可以开始对该 Web 应用进行编码,而无需担心底层基础结构。

平台工程师可以创建和管理环境定义。 若要指定哪些环境定义可供开发人员使用,平台工程师可以将环境定义与项目相关联,并向开发人员分配权限。

Azure 部署环境可帮助平台工程师在各种类型的环境中应用适当的一组策略和设置,控制开发人员可以创建的资源配置,并跨项目跟踪环境。 他们可以根据环境类型(例如沙盒、测试、过渡或生产)应用 Azure 治理。

下图显示了 Azure 部署环境功能的概况。 平台工程师将定义基础结构模板并配置订阅、标识和权限。 开发人员将基于模板创建环境,并在基础结构上生成和部署应用程序。 环境可以支持不同的场景,例如按需环境、用于测试的沙盒环境,以及用于持续集成和持续部署的 CI/CD 管道。

显示 Azure 部署环境方案流的示意图。

可以详细了解 Azure 部署环境的关键概念

使用方案

Azure 部署环境的常见使用场景包括:

作为 CI/CD 管道一部分的环境

在整个企业中创建和管理环境可能需要做大量工作。 使用 Azure 部署环境,开发者可以将不同类型的产品生命周期环境(例如开发、测试、过渡、预生产、生产)纳入持续集成和持续交付 (CI/CD) 管道。

在本方案中:

  • 开发团队可以将其环境连接到 CI/CD 管道,以支持 DevOps 方案。
  • 中心开发 IT 团队可以跨项目和开发人员中心集中跟踪成本、跟踪安全警报和管理环境。

用于调查的沙盒环境

开发人员经常调查不同的技术或基础结构设计。 默认情况下,使用 Azure 部署环境创建的所有环境都在其自己的资源组中。 默认情况下,项目成员获得对这些资源的参与者访问权限。

在本方案中:

  • 开发人员可以根据其开发或测试环境的需要添加和更改 Azure 资源。
  • 中心开发 IT 团队可以轻松跟踪用于调查的所有环境的成本。

按需测试环境

开发人员可以创建模拟其正式开发或测试环境的临时环境,用于在签入代码和执行管道之前测试新功能。

在本方案中:

  • 开发人员可以使用可重用模板快速创建新的临时环境,从而测试最新版应用程序。

培训、动手实验室和编程马拉松

Azure 部署环境中的项目可作为容纳暂时性活动(例如研讨会、动手实验室、训练或编程马拉松)的容器。 可以创建一个项目来向每个用户提供自定义模板。

在此方案中,Azure 部署环境提供以下优势:

  • 每个用户都可以创建相同且独立的训练环境。
  • 在训练结束后,你可以轻松删除项目和所有相关的资源。

好处

Azure 部署环境为在云中创建、配置和管理环境提供了以下优点:

  • 标准化和协作:在团队或组织的源代码管理中捕获和共享 IaC 模板,轻松创建按需环境。 通过源代码管理存储库的内部模板溯源,促进协作。

  • 合规性和治理:平台工程团队可以策展环境定义来强制实施企业安全策略,并按环境类型将项目映射到 Azure 订阅、标识和权限。

  • 基于项目的配置:按开发团队正在处理的应用程序类型来组织环境定义,而不是使用未组织的模板列表或传统的 IaC 设置。

  • 无需担心的自助服务:使开发团队能够使用一组预配置的模板快速轻松地创建应用基础结构(PaaS、无服务器等)资源。 还可以跟踪这些资源的成本,使其保持在预算范围内。

  • 与现有工具链集成:使用 API 直接从首选 CI 工具、集成开发环境 (IDE) 或自动发布管道预配环境。 还可以使用综合命令行工具。

与 Microsoft Dev Box 共享组件

Microsoft Dev Box 和 Azure 部署环境是互补的服务,共享某些体系结构组件。 Dev Box 为开发人员提供了基于云的开发工作站,称为开发箱,其配置了他们工作所需的工具。 开发人员中心和项目对两种服务都是通用的,它们有助于组织企业中的资源。

配置 Azure 部署环境时,你可能会看到 Dev Box 资源和组件。 甚至还可能看到有关 Dev Box 功能的信息性消息。 如果未配置任何 Dev Box 功能,可以安全地忽略这些消息。