现在很多人都在困惑持续交付和 DevOps 到底是什么关系,有什么区别,或许你也感觉傻傻分不清楚。那么今天,我就来和你聊聊持续交付和 DevOps,以及它们到底是什么关系。
持续交付是什么?
我在专栏的第一篇文章中,已经跟你很详细地分享了持续交付是什么,为了加深你的印象,并与 DevOps 形成对比,我在这里再从另外一个角度给你总结一下:
持续交付是,提升软件交付速率的一套工程方法和一系列最佳实践的集合。
它的关注点可以概括为:持续集成构建、测试自动化和部署流水线。
那么,DevOps 又是什么呢?其实一直以来,学术界、工业界都对 DevOps 没有明确的定义,所以造成了大家对它的看法也是众说纷纭,也难免片面。
在我给出我个人的认识之前,我先给你讲讲 DevOps 是怎么被发明的吧。
DevOps 的诞生
DevOps 的故事,要从一个叫帕特里克 · 德博伊斯(Patrick Debois)的 IT 咨询师讲起。2007 年,帕特里克参与了一个政府下属部门的大型数据中心迁移的项目。
在这个项目中,帕特里克发现开发团队(Dev)和运维团队(Ops)的工作方式和思维方式有巨大的差异:
Dev 的工作是,为软件增加新功能和修复缺陷,这要通过频繁的变更来达到;
Ops 的工作是,保证系统的高稳定性和高性能,这代表着变更越少越不容易出错。