|
此文章由 heroxk 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 heroxk 所有!转贴必须注明作者、出处和本声明,并保持内容完整
本帖最后由 heroxk 于 2021-3-14 13:49 编辑
身边和论坛里的不少朋友都向我咨询什么是DevOps?DevOps是做什么的?成为一名DevOps需要什么背景和技术知识?我觉得是时候开个贴了,在这里系统谈谈自己个人的理解和看法,希望对有志成为DevOps的朋友一些帮助。
1. DevOps是什么?
DevOps是一种文化,定义随著可见,Wiki上的定义还是非常经典的:
“DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.[1][2] It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.”
过去的很多大型软件开发项目,Dev(开发)和Op(运维)基本上是完全分离的。Developer在一些相对封闭的开发环境里完成了开发(比如自己的电脑),所有的代码都编译打包好,写好部署文档,交给Ops,之后Devs的任务就完成了。然后Ops按照这些步骤把app在企业的服务器环境中部署好。
当Ops尝试着把App部署到服务器上,这时,问题出现了,App起不来。这时,
Ops说:我们按照你们提供的步骤丝毫不差的进行部署,环境也没变,东西起不来,我管不了也不想管。我们只负责环境的运行维护和部署,功能方面的东西不是我的职责范围。Devs,肯定是你们的程序有问题,不够robust。
Devs说:我们的code在本机和测试环境上全部编译通过,各种也没有问题。Ops,肯定是你们搭的production环境有问题,或者部署上面漏掉什么,没完全按照我们的部署说明来。我们只管APP功能上的实现,prod环境起不来不是我们的责任,对不起我们不管。
皮球踢上了。。。。

好家伙,一个都不愿意管,但头头们可不干了。所以,一种常见的场景就是在大半夜,Devs和Ops肩并肩,红着眼,怒气冲冲地坐在一起解决问题,搞不定觉不要睡了,家也不用回了。。。。
这种情况,应该不少参与过大型企业级开发项目同学应该都经历过。如果放到15年前,那时候一个项目几个月才release一次,可能还不是太大的问题。但是到了今天,系统越来越复杂,项目release的频率越来越高,有的甚至是每天都在做release,环境、部署、运行不够迅速往往会对公司的主营业务造成很大的影响。
2. 再谈谈Agile
既然谈到DevOps,就不能不谈到Agile。有Dev背景的同学应该多少都晓得Agile。什么是Agile,简单的说就是将一个庞大的需求变成特别小颗粒的需求,在非常短的开发周期(一般是2周左右的sprint)里完成。
颗粒化的任务有助于快速的完成,更短的反馈周期、更频繁的反馈,使得在implementation偏离requirement/business value时候能够快速的修正。在10年前的瀑布模式SDLC中,经常出现项目的严重delay,或者一个三个月的开发周期开发完了后,突然发现开发出的东西并不是stakeholder所需要的。而Agile,主要解决的就是这方面的问题。
3. 回到DevOps的问题
Agile项目意味着什么,意味着可能每天Dev team都有开发任务完成。也许这个task很小,但是无论task多么小,都需要做完整的test和deploy,至少是在Dev/Test环境中。如果Devs和Ops还是处于一个严重分离的状态,各自为阵,各顾各,出了问题互相踢皮球,项目就无法Agile化。
这时,DevOps的文化和理念就诞生了。DevOps意味着什么,四个词概括的很好,CAMS- Culture, Automation, Measurement, Sharing。
----------------------------------------------------------------------------------------------------------------------------------------------
一转眼,2021年了,离第一次发这个帖子都快5年了。
DevOps的理念已经渗透到很多领域,比如DevSecOps,DataOps,MLOps
这几年,看到越来越多的华人同胞都陆续转行到DevOps和Cloud领域,而且薪资也是芝麻开花节节高,甚是欣慰,大家加油。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|