你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
环境
使用持续交付过程快速安全地将新价值交付到生产环境。 可以频繁交付少量更改,从而降低出现问题的风险。
其他因素会影响“部署到生产的痛苦”,包括采用多个交付/部署环境。 借助多环境方法,可以更快速、更频繁地生成、测试和发布代码,使部署尽可能简单。 可以免除手动开销并消除手动发布的风险,并改为使用面向不同环境的多阶段过程自动进行开发。
常见的多环境体系结构包括四个层:
- 开发
- 测试
- 过渡
- 生产
在此体系结构中,产品按顺序从开发环境(开发软件更改的环境)过渡到生产环境(用户直接与之交互的环境)。 还可以引入用户验收测试 (UAT) 环境来验证端到端业务流。
Environment | 说明 |
---|---|
开发 | 开发环境 (dev) 是开发软件更改的位置。 |
测试 | 测试环境允许人工测试人员或自动化测试尝试新的和更新的代码。 开发人员必须在开发环境中通过单元测试验收新代码和配置,然后才能让这些项目进入一个或多个测试环境。 |
过渡 | 过渡环境是在即将部署到生产环境之前执行最终测试的环境。 每个过渡环境应尽可能准确地镜像实际生产环境。 |
UAT | 最终用户或客户端通过用户验收测试 (UAT) 执行测试,以验证/验收软件系统,然后软件应用程序才能移动到生产环境。 |
生产 | 生产环境(有时称为实时环境)是用户直接与之交互的环境。 |
设计注意事项
将以下注意事项应用于 Azure 登陆区域和 Azure 工作负载开发:
- 测试环境很重要,因为它们让平台开发人员可以在部署到生产之前测试更改,从而降低与生产交付相关的风险。
- 使环境尽可能类似,可以在测试的第一阶段轻松找到与环境相关的错误,从而提高开发和测试速度和可靠性。
- 如果环境配置存在差异,则会发生“配置偏移”,这可能会导致数据丢失、部署速度变慢和失败。
- 通过采用基础结构即代码 (IaC),可以加快部署速度、提高环境一致性并减少环境之间的“配置偏移”。
- 考虑采用 Canary 或蓝绿部署等方法,使新功能仅适用于生产环境中的一组有限的测试用户,并帮助缩短发布到生产环境的时间。
- 检查测试结果以控制代码从开发环境过渡到生产环境。 可以自动化这些控制,以便失败的测试可阻止更改自动部署到下一个环境。
- 在将代码部署到生产环境之前,让指定的用户查看拉取请求。 考虑将存储库与分支策略配合使用来管理评审过程。
- 允许所有开发人员访问所有环境,从而避免出现孤岛。
工作负载
要了解如何管理工作负载环境,请参阅企业规模常见问题解答。
Azure 登陆区域
当客户想要测试新 Azure Policy 分配、Azure RBAC 角色分配、Microsoft Entra 组成员身份、Azure 资源创建等的效果和结果时,为 Azure 登陆区域部署采用多个环境很常见。
企业规模的测试方法描述了两种不同的采用方法:
- 复制 Canary 和生产环境中的管理组层次结构
- 沙盒订阅
无论遵循哪种方法,都应始终:
- 至少采用一个环境进行测试。
- 使用单独的服务主体进行测试和生产,以保护环境。
- 在将任何更改部署到特定环境之前,实现自动检查和批准以验证和批准更改