了解 DevOps

已完成

DevOps 是人员、过程和产品的集合体,它让我们可以向最终用户持续交付价值。

通常,“开发”的目标是更快交付更多的功能,“运维”的目标是实现更好的系统稳定性。 DevOps 使用一套最佳做法来协调各学科,这些最佳做法被证明可以提高面市速度,同时改善系统稳定性。

对于 Microsoft 而言,DevOps 涵盖了整个软件交付生命周期,从构思到应用程序在生产环境中运行。

Diagram shows the DevOps cycle of Plan - Build - Continuous Integration - Deploy - Operate - Continuous Feedback

Microsoft 服务的一个整体 DevOps 观点

在经过大量的讨论、协作和优化后,我们一致达成了 Microsoft 服务的以下 DevOps 观点:

  • 首先,我们确定了支撑由“人员/过程/产品”演化而来的 DevOps 的四大支柱:文化、精益产品、体系结构和技术。
  • 随后我们确定了八项功能,其中包括每个功能内部或跨各项功能的各种做法
    • 持续规划
    • 持续集成
    • 持续交付
    • 持续运维
    • 持续质量
    • 持续安全
    • 持续协作
    • 持续改进

有哪些新内容? 持续执行所有任务。 这一过程是一段旅程,需要成长型思维模式才能不断发展和完善。

注意

请注意,每项功能都列出了示例做法,但并未详尽列出。

DevOps 功能和做法

下面是 DevOps 功能和做法的分类,这些做法可归为世界一流的 DevOps 做法。

Diagram lists example practices for Continuous Planning: Strategy & portfolio planning, Lean product planning, Release planning, Sprint planning, Agile requirement management, Security requirement, Architecture design, Capacity planning, UX architecture design, Threat modeling, and Value stream mapping.

Diagram lists example practices for Continuous Integration: Behavior-driven development, Test-driven development, Shift-left testing, Microservices & container development, SAST, Secrets scanning, Unit test/code coverage, GIT pull request, Gated check-in, Build pipeline - parallel/serial.

Diagram lists example practices for Continuous Delivery: Release pipeline, Secure infra deployment, IaaS deployment, PaaS deployment, SaaS deployment, Shared services, Infrastructure-as-code, Change management, Configuration management, Release management, On-premises or cloud deployment, Security/quality end-to-end check with automation.

Diagram lists example practices for Continuous Operations: Site Reliability Engineering (SRE), Telemetry/monitoring, Application performance monitoring, Auto failover & scaling & DR, Modern Service Management, Secure access/app/data, High availability/security/cost and performance advisory, Secure Dev/Ops ChatOps, Shift-right testing, Secrets management, Governance.

Diagram lists example practices for Continuous Quality: Quality Requirements, Shift-lest testing, Governance and standards, Test automation, Compliance and Audits, and Shift-right testing.

Diagram lists example practices for Continuous Security: Security architecture, Identity and access management, Application security, Secure infrastructure, Secure data and Secure Operations, Governance and Compliance.

Diagram lists example practices for Continuous Collaboration: Culture collaboration, alignment and autonomy, Kanban collaboration, Wiki and Teams collaboration, ChatOps collaboration, and Feature team and SRE.

Diagram lists example practices for Continuous Improvement: Lead time and cycle time, Deployment frequency, Mean time to restore, Change fail percentage, Continuous feedback, Value stream mapping.

注意

请注意,每项功能都列出了示例做法,但并未详尽列出。

DevOps 的优势

《2019 年 DevOps 状态报告》立足于研究,从最全面的角度介绍了正在发展中的 DevOps 行业。

根据此报告,精英执行者:

  • 部署代码的频率比低水平执行者高 208 倍
  • 从提交到部署的更改提前期比低水平执行者快了 106 倍
  • 更改失败率比低水平执行者低 7 倍
  • 还原服务的速度比低水平执行者快 2,604 倍

Diagram shows how elite performers compare to low performers.

这些结果表明,通过关注 DevOps 的价值,团队不会牺牲面市速度来换取稳定性。 他们可以同时实现这两者。