你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
应用程序开发和部署
检查应用程序开发的模式和实践,配置 Azure Pipelines,并实施站点可靠性工程 (SRE) 最佳做法。 SRE 是应用程序开发和部署、变更管理、监视和应急响应的软件工程方法。
计划、训练和证明
使用以下检查列表和应用程序开发资源来规划应用程序开发和部署。 你应该能够回答以下问题:
- 你是否已准备好应用程序开发环境和设置工作流?
- 如何构建项目文件夹以支持 Kubernetes 应用程序开发?
- 是否已确定应用程序的状态、配置和存储要求?
SRE 检查list
准备开发环境。 使用工具配置环境以创建容器并设置开发工作流。
有关详细信息,请参阅:
容器化应用程序。 熟悉端到端 Kubernetes 开发体验,包括应用程序基架、内部循环工作流、应用程序管理框架、CI/CD 管道、日志聚合、监视和应用程序指标。
若要了解更多信息,请参阅以下文章:
查看常见的 Kubernetes 场景。 Kubernetes 通常被视为用于交付微服务的平台,但它正在成为更广泛的平台。 有关常见 Kubernetes 方案(如批处理分析和工作流)的详细信息,请参阅常见 Kubernetes 方案概述(视频)。
让应用程序针对 Kubernetes 做好准备。 针对 Kubernetes 准备好应用程序文件系统布局,并针对每周或每日发布进行组织。 了解 Kubernetes 部署过程如何实现可靠的零停机时间升级。
有关详细信息,请参阅:
管理应用程序存储。 了解 pod 的性能需求和访问方法,这样才能提供适当的存储选项。 请规划附加存储的还原过程的备份和测试方式。
若要了解更多信息,请参阅以下文章:
管理应用程序机密。 使用密钥保管库存储和检索密钥和凭据。 请勿在应用程序代码中存储凭据。
有关详细信息,请参阅:
部署到生产环境并应用最佳做法
针对生产环境准备应用程序时,请使用以下清单。 你应该能够回答以下问题:
- 能否监视应用程序的所有方面?
- 你是否为应用程序定义了资源要求? 你是否为应用程序定义了缩放要求?
- 能否在不影响生产系统的情况下部署新版本的应用程序?
检查list 的 SRE 最佳做法
配置就绪性和运行情况检查。 Kubernetes 使用就绪性和运行情况检查来了解应用程序何时准备好接收流量以及何时需要重启。 如果未定义检查,Kubernetes 无法确定应用程序是否正在运行。 有关详细信息,请参阅运行情况和就绪情况检查。
配置日志记录、应用程序监视和警报。 监视容器至关重要,尤其是在使用多个应用程序大规模运行生产群集时。 容器化应用程序的建议日志记录方法是写入标准输出 (
stdout
) 和标准错误 (stderr
) 流。有关详细信息,请参阅:
定义应用程序的资源要求。 管理 Kubernetes 群集中的计算资源的主要方法是使用 pod 请求和限制。 这些请求和限制告诉 Kubernetes 计划程序要分配给 Pod 的计算资源。 有关详细信息,请参阅定义 Pod 资源请求和限制。
配置应用程序缩放要求。 Kubernetes 支持水平 Pod 自动缩放以根据 CPU 利用率或其他选择指标调整部署中的 Pod 数。 若要使用自动缩放程序,你的 Pod 中的所有容器必须定义了 CPU 请求和限制。 有关详细信息,请参阅配置水平 Pod 自动缩放。
使用自动化管道和 DevOps 部署应用程序。 完全自动化代码提交到生产部署之间的所有步骤,使团队能够专注于生成代码,并消除了手动步骤中的开销和潜在的人为错误。 部署新代码更快、风险更低,这可帮助团队更加敏捷、更高效,并且对正在运行的代码更有信心。
若要了解更多信息,请参阅以下文章:
优化和缩放
应用程序在生产环境中后,请使用应用程序部署检查列表优化工作流,并准备应用程序和团队进行缩放。 你应该能够回答以下问题:
- 跨领域应用程序问题是否从应用程序抽象化?
- 你能否在迭代新功能和版本的同时保持系统和应用程序的可靠性?
应用程序部署清单
部署 API 网关。 API 网关充当微服务的入口点、将客户端与微服务分离、增加其他的安全层,并通过消除处理横切关注点的负担来降低微服务的复杂性。 有关详细信息,请参阅将 Azure API 管理与 Azure Kubernetes 服务中部署的微服务结合使用。
部署服务网格。 服务网格为工作负荷提供功能,例如流量管理、复原能力、策略、安全性、强标识和可观测性。 应用程序与这些操作功能分离,服务网格将它们移出应用程序层并向下移动到基础结构层。
有关详细信息,请参阅:
实现 SRE 做法。 SRE 是一种经过验证的方法,可维护关键的系统和应用程序可靠性,并以市场需求的速度迭代。
若要了解更多信息,请参阅以下文章: