DevOps的前世、今生和未来

文章来源:WorkMap技术博客-DevOps理论

说到devops,要从盘古开天辟地开始说起。软件工程这一学科的发展开始说起。

软件工程

软件工程,顾名思义,是一门研究用工程化方法,快速、高质量的生产软件的学科。这一学科出现于1968年,诞生的背景,是落后的软件生产方式无法满足迅速增长的计算机软件需求,导致软件开发与维护过程中出现一系列严重问题。人们试图借鉴建筑领域的工程方法论来解决这一问题。

瀑布模型

最早提出来的解决方案,是瀑布软件开发方法。Dr. Winston W. Rovce于1970年发表了文章“Managing the development of large software systems”,文中首次提出了瀑布软件开发模型。瀑布模型将软件开发过程拆分成多个阶段,需求分析,原型设计,开发,测试,部署运行,这些概念模型现在也还在使用。区别只是,当时的软件通常都是大型商业软件,交付周期长,通常以年为单位。并且是一次交付,长期使用。

敏捷开发

到了20世纪80年代,微型计算机开始普及。人们对轻量级软件的需求迎来爆发,瀑布模型的开始暴露出各种问题。为了应对问题,这个时期涌现了大量的新软件开发方法,比如scrum,极限编程。2001年,17位软件大师在美国犹他州的“雪鸟镇”,总结了这些轻量级软件的开发方法,发表了“敏捷宣言”,提出了敏捷开发应该遵守的十二原则,凡是符合这些原则的开发方法,都是敏捷开发。所以,敏捷开发是一簇软件开发方法。

敏捷开发提出了迭代的概念,一个软件交付计划,划分成多个迭代,每次迭代都是一个可以运行的软件产品。此时软件发布的时间间隔仍旧较长,通常是数月,甚至是一年。主要矛盾是业务人员和研发团队之间,需求变更和研发效率的矛盾。构建和发布工作,在整个发布周期中占用的时间和成本较小,部署和运维工作还不是突出的矛盾。

持续交付

随着软件商业环境的进一步变化,人们开始提高软件的迭代速率。这时,测试和部署成为软件开发过程中困难且耗时的阶段。2006年,Jez Humble,Chris Read和Dan North共同发表了文章”The Deployment Production Line“。文中首次提出”部署生产线“模式:……通过多阶段的自动化工作流程,测试和部署过程可以完全自动化。利用这种”部署生产线“,可以将已验证的代码快速部署到生成环境中,并且一旦发生问题,可以轻松的回退到以前的版本。

这就对自动化测试和自动化运维提出了更高的要求。于是人们考虑将敏捷应用于测试和运维领域。

DevOps起源

2008年8月的敏捷大会上,提出了一个临时话题“敏捷基础设施”,比利时的IT咨询师Patric Debois开始思考“将敏捷应用于运维领域”。2009年,他在比利时组织了“DevOpsDays"社区,正式启用了DevOps这个术语。它的原始定义是,DevOps是运维工程师和开发工程师参与整个服务生命周期(从设计开发到生产支持)的一组实践。

DevOps的发展

2011年出版的《精益创业》,核心思想是,开发新产品时,先做出一个简单的原型——最小化可行产品(MVP),得到用户真实反馈后,从反馈中学习,再快速迭代,持续修正,使价值流动起来。Flickr网站将其应用到互联网产品研发管理中,形成双环模型:

该模型强调业务与IT间的快速闭环,以”精益思想“为指导,识别和消除一切浪费,帮助企业以可持续方式,高质量、低成本、无风险的快速交付客户价值。

在这种研发管理模式的转变下,DevOps的含义越来越广泛。从涉及的角色来看,DevOps将敏捷开发涉及的范围扩大到产品需求方,软件研发团队(开发和测试),运维工程师。DevOps工具也变得越来越多。目前,业界对DevOps并没有统一的标准定义。每一位从业者、每一个企业都有自己理解的DevOps。

DevOps并不是一个标准,一种模式或一套固定方法,而是一种IT组织管理的发展趋势。目的是打破IT部门的隔阂,改变IT组织内部的原有合作模式,从而促进业务迭代速度。

DevOps的未来

2022年7月,软件工程师兼 DevOps 评论员 Sid Palas 在推特上写道,“DevOps 已死,平台工程才是未来。”他的核心观点是:开发者不想跟基础设施打交道,企业在发展过程中又需要控制自己的基础设施。只有平台工程,能将这两个相互矛盾的命题统一起来。

按照“平台工程”社区主要贡献者和 Humanitec 的产品负责人 Luca Galante 的说法,平台工程是一门设计和构建工具链与工作流的学科。这些工具链和工作流可以为云原生时代的软件工程组织提供自助服务功能。平台工程师提供集成化产品,通常称为“内部开发平台(Internal Developer Platform)”,可以涵盖应用程序整个生命周期的所有操作需求。

与其说DevOps已死,不如说是”涅槃重生“,新的DevOps形态,就是能够快速集成各种DevOps工具链,使价值流动起来,促进企业快速持续交付的DevOps平台。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值