微信号:infoqchina

介绍:有内容的技术社区媒体

DevOps看起来很美,实现起来却很难?

2017-08-26 09:00 科技云报道
DevOps 正在成为大家所熟知的实践方法和文化价值观,它可以缩短软件发布周期,提升软件质量、安全快速获取产品的开发反馈。然而,企业却几乎众口一词地表示:“DevOps 很好,但我们很难做到”。

手工编译,上传服务器文件,执行各种命令,启动和停止服务器,发现一个 BUG,改完再重复之前说的步骤...... 如今看起来啼笑皆非的重复劳动,在没有 DevOps 概念之前,全靠 IT 人员手工完成。

不仅如此,DevOps 概念的提出,最初因传统模式运维之痛而生。众所周知,DevOps 一词的来自于 Development 和 Operations 的组合。字如其意,DevOps 就是让软件开发人员和运维人员更好的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。

《RightScale2017 年度云计算调查》报告数据显示,DevOps 的整体采用率从 74% 上升到了 78%,同时企业的 DevOps 采用率达到了 84%。30% 的企业正在全公司范围内采用 DevOps,同比增长 9%。

这些数字的提升不仅代表了 DevOps 可以带来实际效果的共识,也印证了 DevOps 这两年开始受到越来越多的企业重视。DevOps 概念的深入人心,离不开云计算、容器 /Docker、微服务、敏捷等相关概念和实施的成熟发展。其背后本质是企业 IT 的精益运营,以面对更快的业务试错与业务创新。

概念虽好,落地却难?

DevOps 的一个巨大好处就是可以高效交付。DevOps 理念指向“高度的自动化”,试图制定一条从开发到运行自动运行的流水线,最大程度地摆脱人工的束缚,达到企业生产力的升级。

比如,持续的集成与开发,实现从开发测试、上线运维的一体化自动流程;智能预警帮助用户自动监控集群运行状态,快速定位到问题具体发生的位置,及时通知用户以快速解决问题等。

DevOps 另外一个好处就是会改善公司组织文化、提高员工的参与感。员工们变得更高效,也更有满足和成就感。

由此可见,如果能采用 DevOps,公司就能够做更多的创新,缩短开发周期,将产品更加快速地推向市场;同时创造差别化的公司业务和价值,提高组织效率,而不是不停地修补旧问题。

虽说 DevOps 优势多多,前途大好,企业对 DevOps 的评价也很高,但实际情况却是说的人多,做到的很少。

究其原因,在于 DevOps 并不是简单地将开发部门和运维部门合并,更是企业文化、组织结构的变革,是通过自动化的基础设施、合理的流程规范以及智能的自动运行系统测试来加强开发部门和运维部门之间的协作和沟通。

首先,这涉及到观念问题。DevOps 的最终目的是加强开发部门和运维部门之间的协作和沟通,如何把现在的文化朝 DevOps 思维模式扭转,并且在开发和运维之间找到共识?

对于传统企业,特别是大型分布式组织,在整体意义上的 DevOps 成功往往是不可能实现的。因为 DevOps 要求深层次的文化和组织变革,要改变的太多太多。这意味着大家要扔掉奉行了几十年的显规则和潜规则。你不得不告诉老部下们,大部分他们知道的和每天做的事物都已经过时了。

其次,想要为 DevOps 和应用灵活性而重塑团队,就要有打破 IT 分组壁垒的勇气,并且需要在团队成员筛选上做出艰难的决定。

困难重重,如何实现?

毫无疑问,DevOps 对组织是非常有价值的,但是需要注意的是,整个公司都需要参与到 DevOps 里才能成功。DevOps 需要高级领导层的支持,也需要和最终产品相关的所有人的参与,而不仅仅是开发和运维部门。

第一,在开发和运维之间找到共识,这需要强大的领导力来实现变革。当然,它也需要花费时间和金钱,并且需要在团队成员筛选上做出艰难的决定。

可以从小处开始,不要期望一开始就能让所有人都信服 DevOps。实际中,在特定项目的小型组织内赢得大家的支持,就赢得了会在公司其他地方帮助宣传 DevOps 的大使们,这会带来乘数效应。

第二,围绕业务系统而不是职责来组织工作,这就是 DevOps 打破 IT 分组壁垒的寓意。一个团队应该有开发人员创建代码,从用户界面到业务逻辑和数据结构,也应该有运维人员负责操作自动化和部署。团队待在一起,共同为他们的应用和系统负责。

当然,为了促进 DevOps 战略,调整考核和激励机制是必要的。应该奖励系统创建和运维的整体团队,并且根据团队工作的全部要素来确定奖励。

第三,团队需要选择最合适的工具。虽然 DevOps 是一个概念,但工具是实现 DevOps 的重要组成部分。近两年来如日中天的 Docker 就是实现 DevOps 最合适的工具之一。

最后,好工具得有能人掌控才能发挥其威力。即使找到了好用的工具,也需要有熟悉这个工具链,拥有相应技能的 IT 人员来提供技术支持,才能完成实现自动化的使命。

写在最后

总体而言,DevOps 作为一种理念,推动开发和运维之间的合作,有效回应了当前的商业需求。它的实现是新观念、新工具、新技能的三者叠加。虽然实现起来还有种种问题,但 DevOps 是大势所趋,作为企业的高层和开发运维人员,对这样的变革不能视而不见。

实现路径推荐

DevOps 的概念变迁,从繁到简,从抽象到具象,现已成为各公司基础架构部门发展的必然趋势。但大多数人知道 DevOps 是什么,却不知 DevOps 如何高效落地?在 DevOps 分工模式下如何跨部门高效率协作?面对飞速发展的运维技术,如何转型为智能化运维?……在 DevOps 环境下,给传统的运维工作带来大量的不确定性,一系列问题随之而来,而解决这些“疑难杂症”就成了传统 IT 企业和各大互联网企业真正的需求。

为了更好的解决企业有关 DevOps 的需求,我们依托 CNUTCon 全球运维技术大会,特设了为期 2 天(9 月 8 日—9 日)的深度学习培训。让参会者在会前 9 月 8 日—9 日两天的时间里,跟随一线技术大咖学习 DevOps 如何在企业落地,DevOps 环境下如何跨部门协作,如何利用机器学习来进行快速监控和排障等更多实战技术。

距离培训开班,还有 12 天!席位有限,赶紧点击 「阅读原文」锁定席位,面基一线技术大咖,DevOps 落地方案全掌握。

 
InfoQ 更多文章 从代码层面优化系统性能的解决方案 Re:重识微服务架构 Cassandra 初学者指南 技术团队,如何更高效地开会? 测试已死?我看未必!
猜您喜欢 工匠精神、光网城市...一文看懂政府工作报告新词 数据工厂第二期——场景化的数据工厂构建 新加坡黑客大会 Android ListView与RecyclerView对比浅析--缓存机制 携手互动联盟|天猫618亮相一大批炫酷黑科技