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

应用服务登陆区域加速器的平台自动化和 DevOps

本文提供有关使用 Azure 应用服务登陆区域加速器时可以应用的平台自动化和 DevOps 的设计注意事项和建议。 平台自动化和 DevOps 提供了使用基础结构即代码实现部署方法现代化的机会。

详细了解 平台自动化和 DevOps 设计区域。

设计注意事项

自动化和 DevOps 是新式软件开发中的重要做法,应用服务是构建和部署 Web 应用程序的强大平台。 通过使用自动化和 DevOps 技术,可以简化工作流并提高应用程序的质量和可靠性。

为应用服务的任何部署做准备时,请考虑到以下注意事项。

  • 了解项目的要求和目标,以便你可以确定最适合自动化的工具和方法。 此步骤涉及确定要自动执行的任务,例如基础结构预配、代码部署和测试。 它还涉及识别用于实现自动化的工具和技术。

  • 在应用服务中设计自动化和 CI/CD 管道时,使安全性成为重中之重。 安全任务可能包括实现身份验证和授权措施,以帮助保护对管道及其组件的访问。 它们还可以包括实施加密和其他安全措施来帮助保护敏感数据。

  • 考虑持续集成和部署。 应用服务支持从各种源代码管理系统进行持续集成和部署,包括 Azure Repos、GitHub 和 Bitbucket。 可以使用这些工具自动执行生成和部署过程,确保应用始终保持最新且可用。

  • 请考虑自动化脚本。 应用服务提供了许多自动化脚本,包括 PowerShell、Azure CLI、Bicep 和 Azure 资源管理器 (ARM) 模板。 可以使用这些脚本自动执行常见任务,例如预配和缩放资源。

  • 评估是否需要使用自托管代理。 根据网络配置,应用服务可能无法通过公共 Internet 使用。 如果不是,则公共托管代理不适合部署。 计划在这些方案中使用 自承载代理

  • 采用分支策略,帮助你进行协作,同时提供灵活性。 让策略尽量简单,使用短期功能隔离,并使用手动和自动代码分析通过拉取请求重新修改主分支。

  • 确保在构建管道中通过单元测试验证业务逻辑。 使用发布管道中的集成测试检查所有服务和资源在新版本后是否协同工作。 使用自动化 UI 测试检查最关键的 UI 元素。 通过在过渡环境中通过 k6 和 JMeter 等工具使用负载测试来检查非功能性性能要求。

  • 监视和维护自动化与 CI/CD 管道。 此过程可能涉及实现日志记录和监视工具来跟踪管道的性能和运行状况。 它还可能涉及实施定期评审和更新管道的过程,以确保管道保持有效且高效。

成功实现应用服务中的平台自动化和 CI/CD 管道实现的关键是仔细规划和设计解决方案,同时考虑到要部署的应用程序的特定需求和要求。 通过使用正确的方法,可以创建一个可缩放、安全且高效的平台,用于在云中部署和管理应用程序。

设计建议

部署应用服务时,请记住以下最佳做法。

  • 使用 Azure DevOps 构建您的 CI/CD 管道。 Azure DevOps 提供了一个完整的解决方案,用于自动生成、测试和部署应用程序。

  • 使用管道或操作来实现以下目的:

    • 最大程度地提高整个团队中应用实践的优势。
    • 减少重塑流程所带来的重担。
    • 获取有关整体质量和敏捷性的可预测性和见解。
  • 通过使用基于触发器的管道和计划的管道,尽早且经常进行部署。 基于触发器的管道可确保更改经过适当的验证。 定时管道管理变化环境中的行为。

  • 将基础结构部署与应用程序部署分开。 核心基础结构的更改频率低于应用程序。 将每种部署类型视为单独的流和管道。

  • 使用基础结构作为代码工具(如 ARM 或 Bicep 模板)来自动预配和管理 Azure 资源。 可以使用 ARM 和 Bicep 模板将基础结构定义为代码,从而轻松地对资源进行版本控制、协作和自动化部署。

  • 将机密和其他敏感项目存储在相关机密存储(如 Azure Key Vault 或 GitHub 机密)中。 允许操作和其他工作流部分根据需要读取这些信息。

  • 通过避免硬编码的配置和设置,努力实现最大化的部署并发性。

  • 尽早在管道中包含漏洞和机密扫描工具(例如容器扫描),以实现左移安全性。

  • 制定部署策略来实施蓝/绿或 Canary 部署原则,以最大程度地减少停机时间并降低部署失败的风险。 这样,便可以逐步将应用程序的新版本推出到一小部分用户,然后再将其推广到整个用户群。

  • 使用应用服务部署槽位实现蓝/绿部署策略。 这样,便可以在过渡环境中验证和测试部署,然后再将其部署到生产环境。 此策略可帮助你确保顺利且成功的部署、验证应用程序更改以及最大程度地减少停机时间。

  • 使用 Application Insights 监视和跟踪应用程序的性能和可用性。 Application Insights 提供对应用程序的运行状况和使用情况的实时见解。 它还可以帮助你快速诊断并解决出现的问题。

  • 实现有助于通信和协作的工具和流程,例如用于跟踪和管理任务和依赖项的敏捷开发方法和工具。 成功的平台自动化、DevOps 和 CI/CD 流程依赖于团队成员之间的有效协作和沟通。

使用应用服务成功实现平台自动化、DevOps 和 CI/CD 的关键是设计和实现可缩放、安全、监视良好且协作的流程和系统。 这些建议可以帮助 IT 和云工程师确保其应用和 API 提供最佳性能和用户体验。