为什么只有DevOps还是不够的?

少于 1 分钟 阅读

这是codecentric的顾问Uwe Friedrichsen在五月的 Codemotion 大会上的演讲。对DevOps的深度解析。纯理论和思想讲解,完全没有提到任何技术工具。从业务驱动开始讲,把所有DevOps 相关的将近二十个关键概念全部有逻辑的串讲出来。这个演讲全面的告诉我们DevOps相关的所有角度。

演讲者

Uwe Friedrichsen 德国, Codecentric 公司。

  • uwe.friedrichsen@codecentric.de
  • http://slideshare.net/ufried
  • http://ufried.tumblr.com

演讲概要内容

Uwe Friedrichsen 花了一半的时间在讲解 IT 的变迁,从工业时代到后工业时代的背景讲起,为什么会有 DevOps 出现。时代背景的介绍让我们更清晰地认识到DevOps 的出现的场景。这让我联想到今天的一次客户拜访。我好奇的看到这个银行客户在自研发 DevOps 系统,说明企业都已经意识到它的存在和重要性,已经开始了自研发工具平台的建设。

当今IT的现状:更快、更便宜、数字化、行业颠覆、新技术的应用。有三条DevOps的必由之路:系统性思考、放大反馈环路、持续实验和学习的文化。

我们现处在后工业时代,商业对IT的要求是:迭代次数、适配性、弹性、适应性、效益和速度。IT是当今企业在后工业时代商业市场里生存的成功要素。传统IT的最佳实践,在当前局面是会事与愿违的,由于他们解决的是完全地不同的问题。我们需求重新思考IT,思考IT的新挑战:更快速、更弹性、更有效、更高效、更可靠、持续改进。我们新的目标如下图:

it-new-goal

那么达到以上目标我们需要的基础包括:流程、治理、组织、人员、变革、技术。DevOps会出现在流程、组织和变更的模块中。

building-block

如果不综合地考虑到以上所有的角度,我隐约地感到第一批DevOps项目的实施肯定是失败的;我说的是从整体的效果上看,实施效果肯定达不到预期。这和我们多年前的ITSM项目是一样的,企业首次实施ITSM项目往往收效甚微,甚至止步于无法实施所有流程到整个公司的所有团队。基于首次ITSM项目的失败和经验,第二次项目实施往往是重做,第二次往往是1~2年之后;甚至重新选择ITSM工具平台。DevOps的实施也会遇到相同的挑战,如果我们无法捋顺以上所有相关领域的话,失败是无法避免的。

DevOps实施的三个重要心法: 1)系统思考 2)扩大反馈回路 3)持续实验和学习的文化

如果把DevOps说的更加严肃的话:DevOps将最终把你的IT组织做90度的翻转。把以前垂直的烟筒式的专业团队布局变为,DevOps而优化的新组织架构布局,如下图所示:

new-devops-org

不仅架构需要为之做颠覆调整,而且它还会触发一系列的附加的变化。DevOps做的好不好,能不能做下去,不完全取决于DevOps本身,还和以下问题息息相关。这些问题是:

  • 可是我们的 IT 部门实在太大了。我们需要怎样的组织结构调整?
  • 我们如何让团队变得更快速?
  • 我们如何管理这些团队?
  • 我们如何控制这些团队在工作在正确的轨道上?
  • 我们需要去重新思考怎样的全局治理模型?
  • 我们如何在结构性的层面上支持自治团队?
  • 我们如何在技术的层面上让团队变得更快?
  • 我们如何基础架构层面能够支持到所需要的速度和弹性?
  • 我们如何同时保证高速度和高质量交付?
  • 我们如何保证在生产环境中的高可用性?
  • 我们如何管理生产环境中的各种变化模块/变更?
  • 我们如何确保不同团队的所有服务能够顺畅无缝地工作在一起?
  • 我们如何使所有工作成果能可持续地发展?
  • 我们如何获取足够的改进输入?
  • 我们如何建立这些快速反馈回路?
  • 我们如何让所有参与者能对以上所有达成共识?

以上问题全部覆盖了DevOps的所有侧面,如下图所示。如果这这些配合的方面不做实质性的变化的话,那么DevOps孤军奋战也是肯定会失败的。

devops-all-in-one

写在最后,我在很多讨论群里看到很多反对DevOps的意见,举例如下:

  • 银行不敢做DevOps,万一利息算错了,麻烦就大了。
  • 医院DevOps一下,万一CT机功率打了10倍,然后就发生闹医事件了。
  • DevOps就搞个那些不要紧的软件好了,如网页啊,app啥的。
  • 航天软件要找另外一组人,背靠背看懂代码和文档,在开发测试软件的。旅行者1、2好,飞行38年了。软件一直在运行。不许修改。
  • 民航电子软件的规定都是必须全过程瀑布式开发。DevOps根本不敢做这些生命攸关的软件吧?飞机上带个工程师,随时改代码、编译、安装飞机的软件,你敢做么?

我对提出以上见解的人的知识面之广折服了。其实说的也很在理,句句都是现实问题;只是觉得这些问题其实具有普遍性,在IT相关的其它变革当中也适用;DevOps不应该是唯一躺枪的。正因为IT在传统开发和构建的过程中确实存在以上风险和问题,DevOps的出现也给了我们另外一扇门和一个尝试和努力的方向。

PPT 下载

本文是根据以下这篇ppt编写的,编写的原因比较简单:它在Slideshare上的点赞多,搜索排名高。我被它的最后这幅复杂DevOps全景图彻底征服了,由于这幅图回答了为毛不能只做DevOps是不行的;可是只看这幅图,真的无法想象出他的思路。所以在google里面搜索到了他的视频。演讲者是德国人,这个视频我是一口气看完的,因为讲的非常好,前后逻辑衔接的很好,逐渐就讲到最后这张全景图了。建议入手DevOps的人能有机会学习一下这个ppt,建立全局观,系统性思考,文化变革的三个影响力支柱;才能在团队中、部门中甚至组织中达成DevOps实践的影响力。

点这里在线查看演讲 ppt

w-devops-c540

视频在这里

在线观看。