写点什么

2011,DevOps 扎根的一年

  • 2012-01-21
  • 本文字数:2140 字

    阅读完需:约 7 分钟

在 IT 这个行业内,每时每刻都会有新的理论和实践涌现出来,致力于解决在这个领域内可能存在已久的问题。如果说要给在 2011 年内出现的新技术趋势投票, DevOps 无疑是位居前列者。下面这段是引用主编熊节在 2011 年 4 月《架构师》DevOps 专题中的篇首语:

经过几年的酝酿,敏捷和运维这两个领域终于各自受到了足够的重视,并顺理成章地有了交集。从 2009 年起,一阵被称为"DevOps"的风潮从欧洲 发端,迅速席卷了北美和澳洲──现在以 Flickr、Twitter 为代表的一干互联网公司竞相以快速发布、频繁发布为荣:这厢 Flickr 做个 PPT 叫"每天 10 次部署",那边 Twitter 就在演讲里有意无意地说"每天部署几十次"。一说起做互联网,你要是还在走俩月一个版本的发布周期呀,你都不好意思跟人打招呼──等你做出新版本,用户都跑竞争对手那儿去啦。

作为国内致力于促进软件开发领域知识与创新的传播的先锋媒体 InfoQ,对于新理念和新事物的推介从来不遗余力。如果我们现在回顾 2001 年 DevOps 专题的内容,会发现来自一线专家关于 DevOps 的精彩内容和分享俯拾皆是,琳琅满目。

第一篇是来自百度乔梁《 DevOps,不是一个传说》,作者从让数据说话、流程建模、发现浪费、应对措施四个方面,来指导团队的各个角色如何破除部门之间的壁垒,让合作方式发生巨大变化,从“碉堡防御”走向“战线统一”。

原来,各角色仅关注于自己本身的工作,虽然大家都同处于一个项目中,但各自划分了"领地",产品经理就应该将 MRD 写得清清楚楚,如果开发人员认为 不清楚,那就回去再改。开发人员只管按照 MRD 上的内容进行开发,很少考虑可测性和易测性问题。测试人员只管按照 MRD 中内容来测试,有问题通过内部工作 流平台提交问题单。运维人员只管根据开发人员提交的上线操作单进行操作。似乎各角色之间的沟通介质只有各自的"交付物"。 现在,各角色都能够共同合作,以项目的最终交付为目标,积极讨论需求,优化实现。因为角色之间的这种紧密合作让所有人对不同角色都有了深入的了解。 开发人员耐心为产品经理解释技术实现,说明计划安排,测试人员与开发人员共同讨论验收条件,避免遗漏需求。开发人员让运维人员了解架构设计, 细心听取运维人员的建议,进行技术改造,使部署工作更快捷有效。

对于 DevOps,不同的专家视角为读者呈现出 DevOps 不同的特质。James Turnbull 的《我眼中的 DevOps 》中谈到:

DevOps 就是想方设法的避免这种“终极失败”,同时让大家用更聪明更有效的方式去工作。它是一种框架,包含了很多优秀想法和原则,它鼓励开发部门和运维部门通力合 作。在 DevOps 环境中,开发人员和系统管理员会构建一些关系、流程和工具,从而更好的与客户互动,最终提供更好的服务。 DevOps 也不仅仅是一种软件的部署方法。它通过一种全新的方式,来思考如何让软件的作者(开发部门)和运营者(运营部门)进行合作与协同。使用了 DevOps 模型 之后,会使两个部门更好的交互,使两者的关系得到改善,从而让很多领域从中受益,例如:自动化、监视、能力规划和性能、备份与恢复、安全、网络以及服务提 供(provisioning)等等。

而 Damon Edwards 认为《 DevOps 不是个技术问题,而是个业务问题》:

但是如果抛开这一业务流程的上下文,看看我们还剩下什么?是的,我们有一伙人,还有一些部门,它们各自做着它们自己的分内事。但是我们失去了真正做事的动力,到处是效率低下的工作、浪费、冲突和部门间的孤立。从表面上看,每个人都在仅仅为自己工作。 如果没有业务流程这一上下文,还会发生什么事呢?我们的工作将失去意义并最终消失。实现业务目标是我们得到薪水和花时间做事的原因。如果没有业务目 标或者我们所做的事情根本对实现业务目标都没有助益又会怎样呢?糟糕,我们所做的一切都变成了一种爱好。想想吧,有谁会傻到给爱好付薪水呢。

而我们本土的技术专家在对 DevOps 的理解和运用上,丝毫落后于国外的专家。事实上,在 DevOps 所涉及的工作,先进的互联网企业已经在多多少少在尝试自己的实践,来印证 DevOps 的可能。

李小红的《不同技术团队的配合问题及DevOps 》一文,广受读者好评,被认为实用、干货很多。文章从团队和部门领导者的角度,对DevOps 涉及到的消除团队部门隔阂,给出了具体的操作办法,值得参考。

ThoughtWorks 的首席咨询师熊节对于如何采纳 DevOps 指明了方向:《建设 DevOps 能力,实现业务敏捷》。他阐述了 DevOps 试图解决的问题以及对策,并以 Flickr 案例说明可行性。同时,对于 DevOps 能力建设面面临的挑战也予以点明:

  • 跨部门协作。很多大型软件组织都将开发与运营划分为不同的部门,而 DevOps 需要开发人员与运营人员无缝融合、紧密协作,这必然涉及部门之间的协调。如果处理不当,部门墙有可能严重损害软件组织交付业务价值的能力。
  • 高层领导投入。相比传统的瀑布式发布,DevOps 是工作方式的变革,涉及到技术、流程乃至团队文化的改变。如果缺乏高层领导的关注,或者如果高层领导只把 DevOps 看作小范围、技术性的改善,DevOps 建设将很难收到预期的效果。
  • 团队稳定性。传统意义上的“运维”是技术含量较低的岗位,人员流动率也相对较高。DevOps 要求开发团队和运营团队(尤其是运营团队)掌握更全面的技能,尤其是项目自动化技能。如果不能保证团队相对稳定,学习投资就会被浪费。
2012-01-21 02:132065
用户头像

发布了 127 篇内容, 共 46.6 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

还重构?就你那代码只能铲了重写!

小傅哥

Java 小傅哥 代码优化 代码重构 开发标准

针对各种指标数据如何选择合适的算法?

云智慧AIOps社区

技术 算法 数据 智能运维 指标

hutool如何实现数据导出到Excel

卢卡多多

hutool 数据导出 9月日更

WEB全屏API简介及示例

devpoint

web api 9月日更

算法裁员,释放出了哪些“恶之花”?

脑极体

Supervisor 基础配置

耳东@Erdong

Supervisor 9月日更

【LeetCode】寻找峰值Java题解

Albert

算法 LeetCode 9月日更

【Flutter 专题】46 图解新的状态管理 Provider (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

linux系列之:告诉他,他根本不懂kill

程序那些事

Linux 命令 程序那些事 kill

Python——绑定与方法调用

在即

9月日更

图计算的应用

6979阿强

深入剖析 | XLSX海量数据复杂填充解决方案

九叔(高翔龙)

中间件 EasyExcel Apache POI java核心

雪花算法,什么情况下发生 ID 冲突?

马丁玩编程

Java lua redis 雪花算法

产品设计的几个原则

石云升

产品思维 产品思考 9月日更

怎样才能写好前端页面,css书写顺序和布局真的有那么重要吗

你好bk

CSS html 大前端 结构

在线JSON转sarcastic工具

入门小站

工具

枚举在 Golang 中的实现

baiyutang

Go 语言 9月日更

乘着汽车智能化的浪潮,“汽车人”的职业方向选择(二)

SOA开发者

程序员 软件 汽车 职业发展

MySQL事务学习笔记

风翱

MySQL 9月日更

架构实战营模块三作业

michael

#架构实战营

命令行如何执行jar包里面的方法

FunTester

性能测试 反射 接口测试 测试框架 FunTester

手撸二叉树之翻转二叉树

HelloWorld杰少

9月日更

聊一聊芯片上电复位和掉电检测

不脱发的程序猿

嵌入式 硬件开发 芯片上电 上电复位 掉电检测

Sentinel 常用流控算法

Z

sentinel 流控算法 服务监控 服务降级 流控

“妈我不想去上课!”“不行你是老师!”

梦想橡皮擦

9月日更

图遍历算法

6979阿强

图遍历 GraphScope

17. 关于超人工智能来临,霍金的忧虑

Databri_AI

人工智能

linux之iconv命令

入门小站

Linux

网络攻防学习笔记 Day136

穿过生命散发芬芳

vpn 9月日更 恶意代码

GaussDB(for MySQL)如何快速创建索引?华为云数据库资深架构师为您揭秘

华为云开发者联盟

数据库 算法 索引 GaussDB(for MySQL) MySQL索引

JavaScript 进阶(下)

Augus

JavaScript 9月日更

2011,DevOps扎根的一年_DevOps & 平台工程_张凯峰_InfoQ精选文章