DevOps 采用以下基础实践,这些实践协同应用时,可在整个开发生命周期中推动可靠、可重复的工作流:
持续集成/持续交付 (CI/CD)
持续集成会自动将代码更改合并到共享存储库,并触发自动化构建和测试。持续交付在此基础上进一步自动将已验证的代码部署到测试和生产环境。这种做法可降低部署风险,同时支持每天多次发布。
自动化
通过工作流自动化简化测试、部署和监视等重复性任务,可以提高生产力,减少错误,并让 DevOps 团队有更多时间专注于战略性活动。此外,对安全相关流程进行自动化有助于团队高效保护软件免受漏洞影响。
跨团队协作
DevOps 从根本上改变了跨学科团队开展软件开发和运营的方式。DevOps 不再将它们视为目标相互冲突的独立实体,而是围绕共同目标和对客户成功的共同责任来培养文化。通过重视团队合作和开放沟通,DevOps 让团队能够更快地响应变化和问题。
版本控制
集中式版本控制系统会自动跟踪每一次代码更改、配置更新和基础结构修改。团队可以完全了解谁在何时更改了什么,以及为什么更改 - 这对于调试、合规和协作开发至关重要。
情境意识
Teams 会持续观察、理解并预测 DevOps 管道中正在发生的情况。这种做法超越了简单的监视,使团队能够实时识别问题并主动解决。
基础结构即代码(IaC)
IaC 将基础结构预配视为软件开发,使用代码来定义服务器、网络和云资源。这种做法支持 CI/CD 流水线,并可在开发、测试和生产环境中实现一致、可重复的基础结构部署。它还支持快速扩展和灾难恢复。
微服务
微服务架构支持高效开发、部署和扩展创新的云服务。团队可以先独立开发小型、特定的服务,然后通过 API 将它们连接成更大的解决方案。微服务通常使用
容器进行打包,因此在 DevOps 工作流中具有更高的灵活性、创新性和弹性。
DevSecOps
DevSecOps - 即开发、安全和运营 - 已成为一种标准的 DevOps 实践。自动化安全工具可识别贯穿整个开发生命周期的漏洞。此外,零信任架构和持续合规监视可帮助组织在保持开发速度的同时,维持强大的安全态势。
配置管理
自动化配置管理可在所有环境中保持一致的系统状态。团队不再手动设置服务器,而是使用代码驱动的工具可靠地部署、配置和维护基础设施组件。
持续监视
实时监视和可观测性可提供有关应用性能、用户体验和系统运行状况的见解。主动监视使团队能够在问题影响客户之前识别并解决它们,从而支持定义成功 DevOps 实施的高速部署周期。
DevOps 中的 AI
DevOps 使用机器学习、生成式 AI 和其他 AI 技术,帮助团队在生命周期的每个阶段发挥作用。例如,
DevOps 中的 AI 通过更明智的决策简化规划,通过 AI 驱动的建议加快代码开发,并通过预测分析增强 CI/CD。Agentic DevOps 中,自主智能体与人类并肩工作或代表人类执行一系列任务,标志着 DevOps 演进的新篇章。