25、深入解析 DevOps:原理、实践与未来展望

深入解析 DevOps:原理、实践与未来展望

1. DevOps 与信息安全融合

将 DevOps 原则应用于信息安全可助力达成目标,确保安全成为日常工作的一部分。良好的安全保障能够使我们在数据处理上更具防御性和合理性,在安全问题演变成灾难之前进行恢复,并且显著提升系统和数据的安全性。

以下是一些可深入了解 DevOps 和审计相关内容的额外资源:
- 2019 年 DevOps 企业峰会的审计专家小组讨论,其中四大审计公司的代表探讨了 DevOps 与审计的协同工作方式,链接为: https://videolibrary.doesvirtual.com/?video=485153001
- 《Sooner Safer Happier: Antipatterns and Patterns for Business Agility》中有关于构建智能控制的精彩章节,为应对高度监管行业提供了清晰的模式和反模式。
- Sidney Dekker 所著的《Safety Differently: Human Factors for a New Era》探讨了如何将安全从官僚问责转变为道德责任,强调利用人为因素而非将其视为控制问题。还可观看 Dekker 关于此主题的讲座: https://www.youtube.com/watch?v=oMtLS0FNDZs

2. DevOps 带来的变革与挑战

在当今时代,技术人员和技术领导者面临着保障安全、可靠性和敏捷性的挑战,同时还要应对安全漏洞、上市时间和大规模技术转型等问题,DevOps 提供了有效的解决方案。

传统上,开发和运维之间若缺乏管理,会存在固有冲突,导致新产品和功能上市时间变慢、质量下降、故障增多、技术债务增加、工程生产力降低以及员工满意度和倦怠感上升等问题。而 DevOps 原则和模式能够打破这种核心的长期冲突,实现快速流动、世界级的可靠性和安全性,提升竞争力和员工满意度。

DevOps 需要新的文化和管理规范,以及技术实践和架构的变革。这需要一个涵盖业务领导、产品管理、开发、QA、IT 运维、信息安全甚至营销等多团队的联盟。当这些团队协同工作时,能够创建一个安全的工作系统,使小团队能够快速独立地开发和验证代码,并安全地部署给客户,从而实现开发者生产力最大化、组织学习能力提升、员工高满意度和市场竞争力增强。

以下是 DevOps 实施的关键流程:

graph LR
    A[组建跨职能团队] --> B[制定 DevOps 战略和目标]
    B --> C[优化技术实践和架构]
    C --> D[建立安全工作系统]
    D --> E[提升团队协作和沟通]
    E --> F[实现快速交付和持续改进]
3. 行动呼吁

无论在组织中担任何种角色,都应积极寻找志同道合的人,共同改变工作方式。可以向他人展示相关资料,组建一个有共同理念的联盟,以打破困境。还可以请求组织领导者支持这些努力,甚至自己发起并领导这些变革。

同时,在一些案例中,变革取得突破成果后,可能会因领导层变动导致相关人员离职和组织变革的倒退。但不应因此而消极对待,创新必然伴随着风险,如果没有让管理层中的一些人感到不满,可能说明努力还不够。要坚持愿景,正如 Jesse Robbins 所说:“别与愚蠢对抗,创造更多精彩。”

DevOps 对技术价值流中的各方都有益,包括开发、运维、QA、信息安全、产品所有者和客户。它能让开发伟大产品的过程更愉悦,减少加班,改善工作条件,使团队能够共同生存、学习、成长、取悦客户并帮助组织取得成功。

4. 生产力与绩效考量

开发者和领导者常关注的问题包括如何提高团队软件开发和交付的效率、提升开发者生产力、确保绩效改进的可持续性以及如何衡量和跟踪这些改进。

数据和经验表明,采用良好的自动化、战略流程以及注重信任和信息流动的文化,有助于团队实现高软件交付绩效。例如,在 COVID - 19 大流行期间,具备智能自动化、灵活流程和良好沟通的团队和组织不仅能够生存,还能实现增长和扩张。

GitHub 的 2020 年 Octoverse 报告显示,开发者工作时间增加,工作日提交的代码量也更多。同时,周末开源活动增多,自 2020 年 4 月以来,开源项目创建数量同比增长 25%。

然而,仅仅追求高生产力可能掩盖了潜在问题,微软的一项研究指出“高生产力掩盖了疲惫的员工队伍”。真正的改进和转型需要平衡发展,避免重复过去长时间工作、强力推动交付计划的模式。

活动指标(如工作时长或提交次数)不能全面反映生产力情况,团队和组织应采用更全面的衡量方法。基于多年研究,SPACE 框架应运而生,它包含五个维度:满意度和幸福感、绩效、活动、沟通与协作以及效率和流动。

通过在框架中至少包含三个维度的指标,团队和组织能够更准确地衡量开发者生产力,更好地了解个人和团队的工作方式,为决策提供更优质的信息。例如,若已衡量提交次数(活动指标),可再添加工程系统满意度(满意度指标)和拉取请求合并时间(效率和流动指标),以更全面地评估生产力。

以下是 SPACE 框架维度及示例指标的表格:
| 维度 | 示例指标 |
| ---- | ---- |
| 满意度和幸福感 | 工程系统满意度 |
| 绩效 | 软件交付速度 |
| 活动 | 提交次数 |
| 沟通与协作 | 团队会议频率 |
| 效率和流动 | 拉取请求合并时间 |

5. 行业观察与未来趋势

不同行业的 DevOps 案例表明,其具有解决普遍问题的能力。越来越多的技术领导者和业务领导者联合展示经验报告,清晰阐述了通过打造世界级技术组织实现目标的过程。

有人认为 DevOps 是一场致力于构建大规模安全、快速变化、弹性分布式系统的运动。尽管过去几年取得了很多经验,但技术行业的一些问题仍在重复,持续的流程改进、架构演变、文化变革和团队合作并非易事,仅关注工具和组织结构是不够的。

高绩效组织的领导应注重营造一个让不同背景的人能感到心理安全的工作环境,为团队提供实验和学习的资源、能力和鼓励。

DevOps 的定义可以理解为克服部门间摩擦的所有努力,其核心在于解决摩擦点,且这个摩擦点会随改进而转移,因此持续评估瓶颈至关重要。如今,组织在优化管道/自动化的同时,也需关注其他导致瓶颈的摩擦点。随着发展,像 DevSecOps、FinOps、DesignOps、AIOps 等概念不断涌现,未来 DevOps 可能不再被提及,而是自然地融入组织的持续优化实践中。

传统组织面临着新旧习惯的冲突,但 Lean、Agile、DevOps 和 DevSecOps 等运动的发展趋势有利于新习惯的形成。近年来,技术上的简化方法减少了对旧有基础设施的依赖,更多采用原子式计算、集群和函数式计算以及事件驱动架构,这与新习惯的结合将加速大型传统组织的成功。

graph LR
    A[传统组织] --> B[新旧习惯冲突]
    B --> C[面临成功与挫折交替]
    C --> D[Lean、Agile等运动推动] --> E[新习惯形成]
    F[技术简化方法] --> G[减少基础设施依赖]
    E & G --> H[加速传统组织成功]

深入解析 DevOps:原理、实践与未来展望

6. 不同视角下的 DevOps 实践

不同的从业者从各自的经历出发,对 DevOps 有着独特的见解和实践经验。

Nicole Forsgren 专注于生产力和绩效的研究。她指出数据和经验强化了利用良好自动化、战略流程以及重视信任和信息流动的文化对团队实现高软件交付绩效的重要性。在疫情期间,具备智能自动化、灵活流程和良好沟通的团队和组织表现出色。同时,她强调仅依靠活动指标(如工作时长、提交次数)衡量生产力是片面的,为此和同事们提出了 SPACE 框架,该框架包含五个维度:
- 满意度和幸福感:例如工程系统满意度,反映开发者对工作环境和工具的感受。
- 绩效:像软件交付速度,体现团队完成项目的效率。
- 活动:如提交次数,记录开发者的工作产出频率。
- 沟通与协作:以团队会议频率为例,衡量团队成员之间交流的频繁程度。
- 效率和流动:比如拉取请求合并时间,展示代码集成的效率。

通过在框架中至少选取三个维度的指标,能更准确地衡量开发者生产力,为决策提供更全面的信息。

Jez Humble 认为 DevOps 是一场构建大规模安全、快速变化、弹性分布式系统的运动。它源于多年前开发者、测试人员和系统管理员播下的种子,随着数字平台的发展而兴起。尽管社区在这些年学到了很多,但技术行业的一些问题仍在重复。持续的流程改进、架构演变、文化变革和团队合作是困难的,仅关注工具和组织结构是不够的。他在不同规模和类型的组织(如美国联邦政府、四人初创公司和谷歌)中实践了 DevOps 方法,并参与了关于构建高绩效团队的世界领先研究。

Patrick Debois 最初将 DevOps 视为改善开发和运维之间瓶颈的方式。但在经营自己的企业后,他发现公司中很多其他部门也会影响这种关系,如营销和销售过度承诺、人力资源招聘不当或奖金设置不合理等。因此,他将 DevOps 定义为克服部门间摩擦的所有努力。他强调持续评估瓶颈的重要性,因为随着一个瓶颈的解决,新的瓶颈可能会出现。如今,各种以“Ops”结尾的概念(如 DevSecOps、FinOps、DesignOps 等)不断涌现,未来 DevOps 可能会自然地融入组织的持续优化实践中。

John Willis 回顾了自己与 DevOps 的渊源,他在十年前从 Gene 那里了解到相关理念。他认识到 DevOps 与运营管理、供应链和精益思想密切相关,并且看到了制造业和知识经济之间的相互影响,如 Industrial DevOps 就是这种循环的体现。传统组织面临着新旧习惯的冲突,旧习惯受历史、系统和资本市场力量的影响,而新习惯(如 DevOps)与之相悖。不过,Lean、Agile、DevOps 和 DevSecOps 等运动的发展趋势有利于新习惯的形成。同时,技术上的简化方法(如减少对旧有基础设施的依赖,采用原子式计算、集群和函数式计算以及事件驱动架构)也将加速大型传统组织的成功。

7. DevOps 实践的关键要点总结

为了更好地实施 DevOps,我们可以总结以下关键要点:
- 文化与团队协作
- 建立跨职能团队,涵盖业务领导、产品管理、开发、QA、IT 运维、信息安全和营销等多个领域,促进不同部门之间的沟通和协作。
- 营造信任和开放的文化氛围,鼓励团队成员分享知识和经验,共同解决问题。
- 培养团队成员的心理安全感,让他们敢于尝试新的方法和技术,勇于承担风险。
- 技术与流程优化
- 采用良好的自动化工具和战略流程,提高软件交付的效率和质量。
- 持续优化技术实践和架构,确保系统的安全性、可靠性和可扩展性。
- 建立安全的工作系统,使小团队能够快速独立地开发和验证代码,并安全地部署给客户。
- 绩效评估与持续改进
- 采用全面的绩效评估方法,如 SPACE 框架,综合考虑满意度和幸福感、绩效、活动、沟通与协作以及效率和流动等多个维度。
- 定期对团队的绩效进行评估和分析,根据评估结果调整策略和方法,实现持续改进。
- 关注行业的最新趋势和技术发展,及时引入新的理念和工具,保持团队的竞争力。

以下是一个简单的表格,总结 DevOps 实践的关键要点:
|类别|要点|
| ---- | ---- |
|文化与团队协作|跨职能团队、信任开放文化、心理安全感|
|技术与流程优化|自动化工具、架构优化、安全工作系统|
|绩效评估与持续改进|SPACE 框架、定期评估、关注行业趋势|

8. 未来 DevOps 的发展趋势预测

展望未来,DevOps 可能会呈现以下发展趋势:
- 融合更多领域 :随着技术的不断发展,DevOps 将与更多领域融合,如人工智能、机器学习、大数据等。例如,AIOps 利用人工智能技术实现运维自动化和智能决策,DataOps 专注于数据管理和处理的流程优化。
- 安全成为核心 :信息安全将在 DevOps 中占据更核心的地位,DevSecOps 的理念将得到更广泛的应用。安全将贯穿于软件开发的整个生命周期,从代码编写、测试到部署和运维,确保系统和数据的安全性。
- 自动化程度提高 :自动化工具和技术将不断发展,实现更高级别的自动化。例如,持续集成/持续部署(CI/CD)流程将更加智能化,能够自动处理更多的任务,减少人工干预,提高交付效率。
- 组织变革加速 :DevOps 的实施将推动组织进行更深入的变革,打破部门之间的壁垒,实现更高效的协作。组织将更加注重培养员工的跨职能能力,以适应不断变化的市场需求。

以下是未来 DevOps 发展趋势的流程图:

graph LR
    A[DevOps] --> B[融合更多领域]
    A --> C[安全成为核心]
    A --> D[自动化程度提高]
    A --> E[组织变革加速]
    B --> B1[AIOps]
    B --> B2[DataOps]
    C --> C1[DevSecOps]
    D --> D1[智能 CI/CD]
    E --> E1[跨职能团队]

总之,DevOps 为解决技术行业面临的诸多挑战提供了有效的解决方案。通过融合不同领域的知识和技术,注重文化和团队协作,以及持续优化技术和流程,组织能够实现快速交付、高可靠性和安全性,提升竞争力和员工满意度。未来,随着技术的不断进步和市场需求的变化,DevOps 将不断发展和演变,为组织带来更多的机遇和挑战。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值