您好,欢迎访问专业IT管理知识分享平台

上传文档

当前位置:首页 > 文章列表 > DevOps创始导师首次访华内容全曝光,传播最正统的理念和方法 ... ...

「流程管理」DevOps创始导师首次访华内容全曝光,传播最正统的理念和方法 ... ...

本文由DevOps专家@景韵等人,根据3月18日DevOpsDays·Beijing大会上全球公认的 DevOps 之父 Patrick Debois 的演讲整理而成。

这也是 Patrick Debois 首度在中国传递他的 DevOps 的理念和经验,独乐乐不如众乐乐,欢迎大家传播扩散。

本文内容包括:

1. DevOps 起源

2. DevOps 切入点

3. DevOps 四大改进方向

4. DevOps 八个实践场景

5. DevOps 实施五大级别

6. DevOps 五个常见问题

7. DevOps 20个实践点



Patrick Debois

CTO of Small Town Heroes

Patrick Debois 是著名的 DevOpsDays 和 DevOps 运动的创始人,因此被称为“DevOps 之父”。此外,他还是互动视频公司 Small Town Heroes 的CTO。

序:听教父讲DevOps起源的故事

你们记不记得这个游戏,这是一款很老的电子游戏,将这个球会从左边扔到右边,这是我当初想到 DevOpsDays 的时候,我可能需要Dev一点东西,Ops 一点东西。

下边这个图给我的感觉,就是我最初做 DevOpsDays 的时候,开发人员和运维人员之间总是相互不满意,相互指责,在一个公司里有很多矛盾。

然后我们开始做敏捷,敏捷给人的感觉很好,变得更加有生产力,我们工作更加的出色,大家都非常高兴。

ITIL 我们也在用,ITIL 在运维里给了我们很多的条条框框,很多的规则来遵循。

我之前是做运维的,大家看到有很多烟在冒(如下图所示),有很多的问题:Agile 大家觉得很高兴,ITIL 给我们很多原则、条款,但是,

我们在运维这块还面临很多问题。

在2008年的时候我写了一篇论文,当时我们说到在一个运维团队当中用看板,我开始在这些东西上面进行一些试验。

与此同时,Flickr 也有人做了一个演讲,当时2008、2009年的时候他们说每天做10次部署,然后有人说这个想法很疯狂,然后问他们怎么做得到,下图就是他们的秘密所在。

Flickr 把开发和运维人员放在一起,让他们相亲相爱,他们不再对彼此指手划脚、指责对方,他们一起工作。

当我把这件事解释给我的孩子们听,他们说这个有什么可奇怪的,大人教导我们小孩子在教室里面要跟小朋友玩在一起,但是你们工作却不在一起,本来就应该大家坐在一起工作嘛。

之后我们在一些活动当中引入精益理念和端到端流程,我们用敏捷来让我们的进程变得更快。你可以看到这里有很多的原则和实践,但是都没有运维什么事儿。

所以我们最终决定发起这个 DevOpsDays 的运动。

1、Patrick 亲述 DevOps 切入点

我们有开发、测试和QA,然后是生产环境,从终端用户那边获取反馈,之后反馈流转到项目中,这就形成了一个循环。

这中间有一道高墙(部门墙)。我们需要让信息流动的更快来打破这道墙,获得更多的反馈。

1.1 怎么落地DevOps?

我们不仅仅是来优化开发这部分,也不仅仅优化生产部分,我们要怎么做?在整个系统当中找到瓶颈所在,找到方法来解决它,而不仅仅做一个局部的优化。

图中上边是技术问题,下边则是人的问题,比如说人们之间不合作,有人不喜欢他的工作,这是人方面的问题。通常会分为这两方面的瓶颈。

1.2 DevOps从什么地方开始?

从任何一个地方开始都可以。我没有办法说你的公司的瓶颈是什么样的,你只有自己去找到瓶颈所在。

2、DevOps四大改进方向

当你的公司刚开始走上DevOps道路的时候,你可以找到四个部分进行改进。

1)端到端交付

第一部分更多谈论流水线,持续集成,持续交付,更快投入生产。

2)持续反馈

第二部分强调更多的反馈,让生产环境中的信息以及终端用户的信息反馈到项目组当中,也就是一个反馈回路。

3)开发向运维

第三部分关注将项目研发知识传递到运维领域,在第一个部分中我们需要很多的技术,比如说自动化工具等等,当这部分变得成熟的时候,我们就开始将更多的知识、更多的流程放在里面。

比如说有一个人他发布了一个新的软件,他自然成为第一个月的运维人员,通过这一个月的时间,他可以更好地了解到运维人员的痛点,能够感同身受的知道他们的痛苦所在。

4)运维向开发

第四部分关于将运维知识传递到项目开发环节,一旦我们部署到了生产环境中,我们就是知道终端用户的反馈,知道下一步应该做什么新的特性。

3、DevOps实践场景

3.1 配置管理

我看到有很多运维人员首先开始做配置管理,他们有很多的工具,能够让服务交付更快,加快工作的进度。

做配置管理的时候,我们在开发和测试方面也要用同样的方式,这不仅仅涉及到我们的服务器,而且涉及到我们是否可以实现一个跨环境的运作。开发人员可以以代码的方式定义基础设施。

3.2 环境管理

另外一个例子,要可以重复创建各种环境,我们现在有相关的技术,开发组可以重新创建出相关的一套设施。

3.3 监控与度量

接下来是监测,通常是由运维人员来做,但是他们不会和开发人员来交流观察到的信息,或者说通常也很难能够让这些开发人员拿到相关评测的信息。

如果我们能够让开发和运维的人员在一起工作,不仅可以让这个数据对运维人员了然于心,所有人都可以拿到这个数据,它会变得更有价值。

3.4 On-Call

让开发人员和运维人员都实时值班,可以让他们更好的感受痛点。

3.5 Chaos-Monkey

“创造混乱的猴子”的概念里,我们假设事情会出问题,用这样一个假设的情景是为了让我们改变思维,我们总是假设一切都是完美的,不会出现任何问题。现在用这个工具,我们假设事情一定会出现必然的某种问题,那么我们怎么样可以来解决它。

这个猴子可以用随机的方式来让某一个环节彻底崩溃,这个时候我们就需要知道我们用什么方法能够进行补救和修正。

如果我们进行更多的相关练习,系统会变得更加可靠。如果我们缺乏这种练习,一旦现实的工作当中出现崩溃,我们将很难加以应付。

3.6 ChatOps

你们听说过ChatOps吗?好像不是很多。大家都用手机聊天,原理就是你和人们聊天,但是在这个概念当中,在聊天室里面,所有技术的信息都包含进来,当我们进行了一次部署这里面会出现相关的信息,如果有人提交了一段代码,聊天室里的人也都会知道。

我们在部署服务器的时候会说我们要发布一个新的版本,我们把它都放到聊天室里面,这里面很好的一个部分是所有东西都有一个聊天记录,它不是一个把任何人排除在外的过程,所有人都是局内人,我们可以通过对话的方式在团队里形成一个很好的氛围。

3.7 事故分析

接下来是做事故分析,我们在发生某一个问题之后研究为什么会出现这样的问题,做一个分析,我跟我的同事说,有的时候出现一个问题我会不高兴,但我绝对不会指责你。

我实际真想知道的是如何来改进,这点更重要,这点也是我们能够更好服务客户的根本。我们做一个产品,没有办法保证产品不会出现任何问题,我们能够做成的是可以尽我们最大的努力在最短时间内解决出现的问题。

然后我们发现我们的客户也非常乐于接受这样的方式,他们能够看到我们真正是在努力,能够为他们提供更好的产品,能够提供更好及时的服务,这点也是我们一个可以考虑的方式。

3.8 游戏日

还有游戏日,有的时候我们会和整个公司进行沟通,大家可以共同总结一下整个系统之内出现哪些问题,我们可以对这些出现的问题状况来进行记录,


《也许对你有帮助的小广告》

看静态文档不过瘾?来高效运维社区参加DevOps深度系列课程,从理论、实践,到全流程工具链落地这儿都有!

广告插播完毕,多谢理解:)

4、DevOps实施的五级精进

我们来看自己的系统如何能够通过 DevOps 得到更好的提升,DevOps 其实是让整个生产流程变得更加流畅,形成一个闭环,逐步为我们提升企业的实力。

4.1 个人级别——一马当先

大家可能玩过这个游戏,DevOps 可以是个人,比如说像我这样。但是个人可能还没有办法做到完全自动化的方式,可能要找其他人加入,找一些有共同想法的人加入,将各自的技能放在一起。

我会问他你怎么样使用你的技能,你怎么样与别人分享你的信息。这就是我们作为个人级别来实施 DevOps。

4.2 团队级别——人多力量大

作为一个团队,比如说我们有一个发展的策略,我们的团队可以和其他的机构来进行合作,这是一个团队层面的 DevOps 的案例。

4.3 IT组织级别——化敌共存

其实现在已经看到了运维人和开发人他们之间其实以前是有堵部门墙的,有一个筒仓的概念,但是现在通过 DevOps,跨越筒仓,我们能够更好的让他们合作在一起。

4.4 业务组织级别——众人拾柴火焰高

我们要有非常好的技术,但是一定要有一个业务的视角来看待这些事情,不仅仅是局限于技术层面。

4.5 跨越组织级别——达者兼善天下

之前我们听过很多 DevOps 可以用到的工具和技术,非常包容。但是我们指的并不仅仅是这些工具,工具可以让我们工作更快,但是更好的思维方式可以让我们更好的工作,这是一定的。

5、DevOps实施常见问题

1)我该如何开始?

第一个问题,大家经常问的是我怎么开始的,我会给大家讲我是做了这件、那件或者是另外的事情,就做到了现在这样。

1. 和其他的转型没有太大的区别

2. 不要花费太多的时间在反对者身上,专注于寻找志同道合的盟友

3. 不要过于自负,要寻求管理支持,个人影响力有限,我们要与管理层进行非常好的合作

4. 选一个小的项目并达成目标,成功最建立信心和信任的最佳方式。

暂时没有评论,评论一个吧?

您需要登录后才能评论 , 去登录

Powered by DS文库

Copyright © 专业IT管理知识分享平台 All Rights Reserved. 鄂ICP备19005274号-1
×
保存成功