你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
App 服务登陆区域加速器的平台自动化和 DevOps
本文提供有关平台自动化和 DevOps 的设计注意事项和建议,可在使用 Azure 应用服务 登陆区域加速器时应用这些注意事项和建议。 平台自动化和 DevOps 提供了使用基础结构即代码实现部署方法现代化的机会。
详细了解平台自动化和 DevOps 设计领域。
设计注意事项
自动化和 DevOps 是新式软件开发中的重要做法,App 服务 是用于生成和部署 Web 应用程序的强大平台。 通过使用自动化和 DevOps 技术,可以简化工作流并提高应用程序的质量和可靠性。
在为任何App 服务部署做准备时,请考虑到以下注意事项。
了解项目的要求和目标,以便确定最适合自动化的工具和方法。 此步骤涉及确定要自动执行的任务,例如基础结构预配、代码部署和测试。 它还涉及确定将用于实现自动化的工具和技术。
在 App 服务 中设计自动化和 CI/CD 管道时,将安全性作为重中之重。 安全任务可能包括实现身份验证和授权措施,以帮助保护对管道及其组件的访问。 它们还可以包括实现加密和其他安全措施,以帮助保护敏感数据。
请考虑持续集成和部署。 App 服务支持从各种源代码管理系统(包括 Azure Repos、GitHub 和 Bitbucket)进行持续集成和部署。 可以使用这些工具自动执行生成和部署过程,确保应用始终是最新且可用的。
请考虑自动化脚本。 App 服务提供了许多自动化脚本,包括 PowerShell、Azure CLI、Bicep 和 Azure 资源管理器 (ARM) 模板。 可以使用这些脚本自动执行预配和缩放资源等常见任务。
评估是否需要使用自承载代理。 根据网络配置,应用服务可能无法从公共 Internet 获取。 如果不是,公共托管代理将无法用于部署。 计划在这些方案中使用 自承载代理 。
采用有助于协作的分支策略,同时提供灵活性。 保持策略简单,使用生存期较短的功能隔离,并允许通过手动和自动代码分析的拉取请求修改回main分支。
确保业务逻辑由生成管道中的单元测试进行检查。 使用发布管道中的集成测试检查新版本后,所有服务和资源协同工作。 使用自动化 UI 测试检查最关键的 UI 元素。 通过在过渡环境中通过 k6 和 JMeter 等工具使用负载测试来检查非功能性性能要求。
监视和维护自动化和 CI/CD 管道。 此过程可能涉及实现日志记录和监视工具来跟踪管道的性能和运行状况。 它还可能涉及实现定期查看和更新管道的过程,以确保管道保持有效和高效。
在 App 服务 中成功实现平台自动化和 CI/CD 管道的关键是仔细规划和设计解决方案,同时考虑到要部署的应用程序的特定需求和要求。 通过使用正确的方法,可以创建一个可缩放、安全且高效的平台,用于在云中部署和管理应用程序。
设计建议
部署App 服务时,请记住以下最佳做法。
将 Azure DevOps 用于 CI/CD 管道。 Azure DevOps 提供了一个完整的解决方案,用于自动生成、测试和部署应用程序。
使用管道或操作执行以下操作:
- 最大程度地提高整个团队应用实践的优势。
- 消除重新创建流程的大部分负担。
- 获取有关整体质量和敏捷性的可预测性和见解。
通过使用基于触发器的管道和计划的管道,尽早且经常进行部署。 基于触发器的管道可确保更改经过正确的验证。 计划的管道管理不断变化的环境中的行为。
将基础结构部署与应用程序部署分开。 与应用程序相比,核心基础结构的更改频率更低。 将每种类型的部署视为一个单独的流和管道。
使用基础结构即代码工具(如 ARM 或 Bicep 模板)自动预配和管理 Azure 资源。 可以使用 ARM 和 Bicep 模板将基础结构定义为代码,从而轻松进行版本控制、协作和自动部署资源。
将机密和其他敏感项目存储在相关机密存储中, (例如 Azure 密钥保管库 或 GitHub 机密) 。 允许操作和其他工作流部件根据需要读取它们。
通过避免硬编码配置和设置,尽量实现部署并发性最大化。
通过在管道的早期包括漏洞和机密扫描工具(如容器扫描程序),实现 左移 安全性。
设置实现蓝/绿或金丝雀部署原则的部署策略,以最大程度地减少停机时间并降低部署失败的风险。 这样,就可以在向整个用户群推出应用程序之前,逐步向一小部分用户推出新版本的应用程序。
使用App 服务部署槽位来实现蓝/绿部署策略。 这样,便可以在过渡环境中验证和测试部署,然后再将其部署到生产环境。 此策略有助于确保顺利且成功的部署、验证应用程序更改并最大程度地减少停机时间。
使用 Application Insights 监视和跟踪应用程序的性能和可用性。 Application Insights 提供应用程序的运行状况和使用情况的实时见解。 它还可以帮助你快速诊断和解决出现的问题。
实施促进通信和协作的工具和流程,例如用于跟踪和管理任务和依赖项的敏捷开发方法和工具。 成功的平台自动化、DevOps 和 CI/CD 流程依赖于团队成员之间的有效协作和沟通。
使用 App 服务 成功实现平台自动化、DevOps 和 CI/CD 的关键是设计和实现可缩放、安全、监视良好且具有协作性的流程和系统。 这些建议可帮助 IT 和云工程师确保他们的应用和 API 提供最佳性能和用户体验。