竹笋

首页 » 问答 » 灌水 » DevOps到底是什么意思雷锋网
TUhjnbcbe - 2023/8/18 23:24:00
临沂白癜风医院 http://m.39.net/news/a_5837457.html
临沂白癜风医院 http://m.39.net/news/a_5837457.html

转自丨鲜枣课堂

作者丨小枣君

提到DevOps这个词,我相信很多人一定不会陌生。

作为一个热门的概念,DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观。

那么,DevOps是什么呢?有人说它是一种方法,也有人说它是一种工具,还有人说它是一种思想。更有甚者,说它是一种哲学。

越说越玄乎,感觉都要封神啦!DevOps这玩意真的有那么夸张吗?它到底是干嘛用的?为什么行业里都会对它趋之如骛呢?

今天这篇文章,小枣君就和大家好好聊一聊这个DevOps。

DevOps的起源

这个故事有点长,从头开始讲起吧。

上个世纪40年代,世界上第一台计算机诞生。从诞生之日起,它就离不开程序(Program)的驱动。而负责编写程序的人,就被称为“程序员”(Programmer)。

程序员是计算机的驾驭者,也是极其稀缺的人才。那个时候,只有高学历、名校出身的人,才有资格成为程序员,操控计算机。

随着人类科技的不断发展,PC和Internet陆续问世,我们进入了全民拥抱信息化的时代。越来越多的企业开始将计算机作为办公用的工具,用以提升生产力。而普通个人用户也开始将计算机作为娱乐工具,用以改善生活品质。

于是,计算机的程序,开始变成了一门生意。程序,逐步演进为“软件(software)”,变成了最赚钱的产品之一。

在软件产业里,程序员有了更专业的称谓,叫做“软件开发工程师(SoftwareDevelopmentEngineer)”,也就是我们常说的“码农”。

我们知道,一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。

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

随着软件产业的日益发展壮大,软件的规模也在逐渐变得庞大。软件的复杂度不断攀升。一个人已经hold不住了,就开始出现了精细化分工。

码农的队伍扩大,工种增加。除了软件开发工程师之外,又有了软件测试工程师,软件运维工程师。

分工之后,传统的软件开发流程是这样的:

软件开发人员花费数周和数月编写代码,然后将代码交给QA(质量保障)团队进行测试,然后将最终的发布版交给运维团队去布署。所有的这三个阶段,即开发,测试,布署。

早期所采用的软件交付模型,称之为“瀑布(Waterfall)模型”。

瀑布模型,简而言之,就是等一个阶段所有工作完成之后,再进入下一个阶段。

这种模型适合条件比较理想化(用户需求非常明确、开发时间非常充足)的项目。大家按部就班,轮流执行自己的职责即可。

但是,项目不可能是单向运作的。客户也是有需求的。产品也是会有问题的,需要改进的。

随着时间推移,用户对系统的需求不断增加,与此同时,用户给的时间周期却越来越少。在这个情况下,大家发现,笨重迟缓的瀑布式开发已经不合时宜了。

于是,软件开发团队引入了一个新的概念,那就是大名鼎鼎的——“敏捷开发(AgileDevelopment)”。敏捷开发在年左右开始被世人所

1
查看完整版本: DevOps到底是什么意思雷锋网