DevOps是敏捷开发的延续,它将敏捷的精神延伸至IT运营(IT Operation)阶段。敏捷开发的主要目的是响应变化,快速交付价值。以2001年的敏捷宣言发布这个里程碑为起点,开始几年内企业主要在软件的开发阶段推行敏捷,并没有覆盖到软件的运营阶段。随着互联网的不断发展,市场变化越来越快,2007年之后软件工程领域出现了新的变化,DevOps星星之火便开始出现。
萌芽阶段(2007-2008)
2007年,比利时的独立IT咨询师Patrick Debois开始注意开发团队(Dev)和运维团队(Ops)之间的问题。当时,他参与了比利时一个政府下属部门的大型数据中心迁移的项目,在这个项目中,他负责测试和验证工作,所以他不光要和Dev一起工作,也要和Ops一起工作。他第一天在开发团队跟随敏捷的节奏,第二天又要以传统的方式像消防队员那样维护这些系统,这种在两种工作氛围的切换令他十分沮丧。他意识到开发团队和运维团队的工作方式和思维方式有巨大的差异:开发团队和运维团队生活在两个不同的世界,而彼此又坚守着各自的利益,所以在这两者之间工作到处都是冲突。作为一个敏捷的拥趸,他渐渐的明白如何在这种状况下改进自己的工作。
2008年6月,在美国加州旧金山,O'Reilly出版公司举办了首届Velocity技术大会,这个大会的话题范围主要围绕Web应用程序的性能和运维展开,分享和交换构建和运维Web应用的性能、稳定性和可用性上的最佳实践。大会吸引了来自Austin的几个系统管理员和开发人员,他们对大会中分享的内容十分激动,于是记录下了所有的演讲内容,并决定新开一个博客分享这些内容和自己的经验,他们同样也意识到敏捷在系统管理工作中的重要性,于是,一个名为 theagileadmin.com博客诞生了。
同年8月,机缘巧合,Patrick也在加拿大多伦多的Agile Conference 2008 上遇到了知音Andrew Shafer,两人后来建立了一个叫Agile System Administration的Google 讨论组。
社区确立阶段(2009-2010)
2009年6月,第二届 Velocity大会在美国圣荷西召开,当时的Flickr技术运维资深副总裁John Allspaw和工程总监Paul Hammond一起在大会上做了一个题目为“10+ Deploys per Day: Dev and OpsCooperation at Flickr”的演讲,演讲后来轰动了业界,也有力地证明了Dev和Ops可以有效工作在一起提高软件部署的可能性。
Patrick在网上也看到这个演讲,非常激动,受此大会的启发,他在比利时也发起了名为DevOpsDays的自己的会议,最后大会出奇地成功, 以至于大家在twitter上的讨论热情不减,受限于twitter上字符的限制为了精简,大家就把twitter上的话题#DevOpsdays简写成 #DevOps了,于是,DevOps一词便在社区中慢慢确立了。
产业关注阶段(2011-2012)
在2010年之前,DevOps运动还主要停留在技术社区中讨论,探讨的一些开源工具上也很少受厂商和分析师们的关注。直到2011年,DevOps突然受到Gartner分析师CameronHaight和451 Research公司Jay Lyman等人的注意,他们便开始正式研究这个市场,同时,一些大厂商也开始进入DevOps领域。
DevOps的发展也离不开另外一个领袖人物的推动,那就是知名公司tripwire的创始人Gene Kim先生。2012年8月,Gene在他的博客上发表了“the three way”的DevOps实践原则,分别是:1)思考系统的端到端流程 2)增加了反馈回路 3)培养一种不断实验以及通过反复实践达到精通的文化,Gene为DevOps领域贡献了一个重要的理论基础。是年后(即2013年初),Gene与KevinBehr和 George Spafford三人合著的《凤凰项目》一书出版,一度被誉称为DevOps的圣经。
相关技术基础协同发展的阶段(2013- )
DevOps被业界快速接受离不开相关技术的同步发展,特别是云计算技术和基础设施的成熟,以及新的架构范式的出现。
2013 年,dotCloud公司(后更名为 Docker )推出 Docker 项目,在容器技术的基础上,引⼊分层式容器镜像模型、全局及本地容器注册表、精简化 REST。
同年,Google推出开源项目 Kubernetes ,提供了以容器为中⼼的部署、伸缩和运维平台。Kubernetes支持 Docker 、 rkt 以及 OCI 等容器标准,能够实现在各种云环境中快速部署kubernetes 集群。
2015年,基于Cloud-Native(云原生)概念的逐步成熟,Google联合其他20家公司宣布成立了开源组织CloudNative Computing Foundation(CNCF)。同年,O’REILLY出版了pivotal公司产品经理Matt Stine写的《Migratingto Cloud-Native Application Architecture》一书,其中,MattStine对Cloud-Native关键架构特征进行补充,也融入早在2012年由Heroku创始人AdamWiggins发布的“十二要素(The Twelve-Factor)”应用宣言等重要理念。此书较为完整地描述了Cloud-Native的落地方法和实践。
至2016年,随着DevOps应用的逐步深入,行业开始关注系统的安全和合规性,出现了DevSecOps等细分探讨领域,开始倡导Security as Code、Compliance as Code等新理念。
参考文献:
-
https://www.versionone.com/devops-101/what-is-devops/ 《what is devops》,Dennis Ehle
-
http://www.jianshu.com/p/f40209023006 《DevOps编年史》,顾宇
-
《云计算开源产业发展白皮书第二部分:容器》
原文地址:《重新梳理 | DevOps发展的四个重要阶段》