1 什么是DevOps
1.1 软件的生命周期
一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。

最初,程序比较简单,工作量不大,程序员一个人可以完成所有阶段的工作。

随着软件项目的规模变得庞大。软件的复杂度不断攀升。一个人已经hold不住了,就开始出现了精细化分工。
除了软件开发工程师之外,又有了软件测试工程师,运维实施工程师。

1.2 敏捷开发的优势
过去普遍采用的软件交付基础模型,就是“瀑布(Waterfall)模型”。瀑布模型,基本特征,就是等一个阶段所有工作完成之后,再进入下一个阶段。适合条件比较理想化(用户需求非常明确、开发时间非常充足)的项目。大家按部就班,轮流执行自己的职责即可。

但是互联网软件项目,甲方客户的需求往往并不是固定且明确,会根据实际情况调整部分开发内容。同时用户给的开发时间周期却越来越少。在这个情况下,大家发现,笨重迟缓的瀑布式开发模型已经不合时宜了。
于是,软件开发团队引入了国外一个新的概念,那就是大名鼎鼎的——“敏捷开发”有两个词经常会伴随着DevOps出现,那就是CI和CD。CI是Continuous Integration(持续集成),而CD对应两个英文,Continuous Delivery(持续交付)或Continuous Deployment(持续部署)。
画个图说明可能更明白一点:

DevOps 是一种促进开发、运维和技术运营部门之间沟通、协作与整合的方法论,旨在提高软件开发效率和稳定性。它源于敏捷开发,通过持续集成(CI)、持续交付(CD)提升迭代速度,但面临思维转变、流程重构和技术选型等落地难题。在国内,DevOps 在大企业中受到广泛欢迎,但在实践过程中,需警惕对 DevOps 不切实际的预期和工具链选择的困扰。
最低0.47元/天 解锁文章
1153

被折叠的 条评论
为什么被折叠?



