邂逅DevOps:不要指望一步到位

2020 年 11 月 17 日

邂逅DevOps:不要指望一步到位

近年来 DevOps 对软件工程的影响越来越深入并被广泛认可,与此同时,行业也在密切关注 DevOps 的发展趋势。


简单来说,DevOps 的主要目的是打破开发和运维团队之间的隔阂,促进两者的协作关系,让软件的交付和维护变得高效和流畅。


腾讯互动娱乐事业群技术运营部助理总经理、专家工程师党受辉表示,如今 DevOps 在概念上已经成为共识,算是研发运维领域的主流概念之一,当前处于各公司尝试落地的阶段,也有少数企业已经完成了 DevOps 理念的落地,向着下一个阶段,即“研发运营一体化”的阶段发展。党受辉也将在担任QCon全球软件开发大会(深圳站)担任“玩转DevOps”专题的出品人。


IDC 预测,DevOps 软件市场预计将从 2017 年的 29 亿美元增长到 2022 年的 66 亿美元。可以看到,数字化趋势下,企业组织向 DevOps 转型的案例将越来越多,市场空间巨大,但 DevOps 的实践和落地需要视具体情况具体对待,否则也会“适得其反”。


如何更好地认识 DevOps,是一个说不完的话题,唯一能确定的是,不要指望 DevOps 能一步到位。

以下是 InfoQ 与党受辉的对话纪要:

InfoQ:能否说说在您看来现在 DevOps 文化理念的流行程度如何,它发展到了一个什么样的阶段?


党受辉:自2001年敏捷宣言以来,DevOps文化经历了概念出现、社区争论、产业关注等阶段,近些年在中大企业、行业会议甚至是个人从业者等诸多群体的推动下,如今在概念上已经成为共识,算是研发运维领域的主流概念之一。当前处于各公司尝试落地的阶段,当然也有少数企业已经完成了DevOps理念的落地,向着下一个阶段,也就是“研发运营一体化”阶段发展。

InfoQ:自动化工具在 DevOps 实践中的位置,是否会随着引入 DevOps 的时间维度而变化?能否简单举例说明您的观点?


党受辉:自动化工具是DevOps实践的前提条件,不会随着时间维度而变化。自动化工具的作用是替代工程师“编写代码”之外的工作,业务开发人员应该只关注编写业务代码、测试人员只关注编写测试代码、运维人员只关注编写脚本代码。代码之外的工作有很多,例如编译构建、代码静态扫描、测试环境更新、生产环境发布等等。这些都是单次工作量不大但数量繁多的工作,但却打破了工程师的工作连续性,甚至带来繁重的沟通成本,而且在没有自动化工具链的情况下难以实现研发运维过程“度量”,也就没有“改进”的依据。因此自动化工具是DevOps实践的前提条件。

InfoQ:您认为企业组织向 DevOps 转型的成败关键是什么?实践过程需要注重什么?


党受辉:DevOps转型成败关键有以下几点:

1)选择适合DevOps模式的敏态业务,不是所有的项目都适合推行DevOps;

2)实践DevOps之初,应该先进行文化的导入,最好能让DevOps相关岗位达成初步共识,至少不抵制,认同未来DevOps可期待的效果;

3)高层的支持也非常重要,但是DevOps也足以产生成果让高层来重视和支持。


实践过程需要注意:

1)要以迭代、演进的思想来面对DevOps的落地实践,不要想着一步到位;

2)选择建设或整合适合自己的DevOps自动化工具链;

3)基于工具链沉淀研发运维过程数据,为下一阶段的度量和过程改进做储备;


InfoQ:每个公司的基础设施和解决的问题都有其特殊性,对提供 DevOps 解决方案的公司来说,您认为其当前所面临的机遇和挑战主要有哪些?


党受辉:机遇主要是随DevOps的行业认知所带来的市场容量增长,挑战则很多:


1)DevOps解决方案面向甲方企业的研发运维等技术团队,他们熟悉公司个性化的业务体系和基础设施,作为乙方公司要评估是否有足够的技术能力为某个甲方服务,甲方DevOps相关各团队是否有意愿做出改变,不是所有的甲方都是好客户。


2)DevOps涉及甲方部门多,现有的各种研发运维流程和各团队相互割裂的研发运维类烟囱系统面临迁移或改造,甚至部分留用,使得不同甲方在实施DevOps的时候方案不尽相同,对乙方自动化平台的通用性和扩展性有一定的挑战。


3)部分甲方还存在研发和运维间的现实割裂,从物理网络、管理模式上有法规、权利分工等难以逾越的屏障,对乙方解决方案与第三方解决方案的兼容性有一定的挑战。

InfoQ:强调速度和效率的 DevOps 在与安全的结合上,存在哪些冲突?如何正确看待 DevOps 与安全的关系和融合?


党受辉:DevOps和安全没有冲突,DevSecOps也是一个流行词,因为DevOps解决方案应该基于自动化工具链实现,基于这个前提,安全应该是工具链上不可少的环节,好的工具链应该可以兼容各种第三方安全类的组件或产品,使得代码缺陷、版本漏洞等安全类隐患在DevOps工具链运行过程中被自动扫描甚至纠正,并且尽量左移以减少研发测试运维等各类工程师的无效人肉投入,因此质量、效率、成本和安全等诉求在DevOps理念中完全可以兼顾。

InfoQ:在企业云原生转型浪潮中,您如何看待 DevOps 在这其中的作用?


党受辉:云原生概念由三驾马车驱动:DevOps、微服务、容器化。

微服务给业务架构解耦,容器为其提供一致性的细粒度版本和运行时环境,而DevOps理念则跨越代码的全生命周期,串接了包括微服务开发和容器编排在内的所有研运核心节点,如果没有DevOps的整合,另外两个概念对于研发工程师来说只是研发架构发生了改变,对运维工程师来说只是部署方式发生了改变而已,无法实现全链路的质量效率优化,难以进行持续的过程改进,也不容易促进不同岗位人员之间的协同。

DevOps在应用交付到云原生基础架构之前,提供了方法论、工具链平台来支撑软件研发和测试的全过程;在部署交付的时候,又作为管道交付软件到底层容器平台,没有DevOps,云原生难以被广泛应用。

InfoQ:人工智能、机器学习等前沿技术将如何改变 DevOps?


党受辉:未来人工智能、机器学习的发展,可以在DevOps全链路有很多的应用场景:

- 更智能的CodeReview,甚至指导开发修复问题代码;

- 自动识别迭代规划不合理、质量问题风险预警,甚至给出更智能的建议;

- 自动生成更准确的测试用例,发现测试风险;

- 自动发现从需求提出到生产发布过程中存在瓶颈,给出精益改进建议;

- AIOps分析监控应用部署及运行,进行根因分析和智能修复。

- 代码自动生成……

总之,人工智能、机器学习未来可以让DevOps可以做到更加智能、使用的门槛会更低。

InfoQ:对未来 DevOps 的发展,您有哪些期望?


党受辉:国内的DevOps生态国产化率太低,Jira、Jenkins、Sonar、Nexus等各种核心节点都依赖外国技术;国际形势的变化使得“软件国产化”的呼声和必要性提高,从去年开始我们做了一些努力,将腾讯集团内统一的腾讯CI(蓝盾)、代码扫描平台(CodeCC)等自研DevOps工具组件开源出来,github代号“bk-ci”。在与国际DevOps理念接轨的同时也留有落地方案的备胎,甚至未来正面竞争的可能,因此我也期望国内能有越来越多的厂商、用户一起加入进来,共建开源共享生态,兼顾自主可控。

InfoQ:您认为一个合格的"DevOps 工程师"需要具备哪些特质和技能?他与普通软件工程师的区别在哪?


党受辉:普通软件工程师的核心任务在于业务软件的开发。

一个合格的DevOps工程师,其核心任务在于设计、构建、测试和部署、维护可伸缩的DevOps平台,以支撑企业的研发、测试、运维团队进行协作,并实现实现从构建、测试、部署的自动化。

DevOps工程师知识面要求更加广泛,对各个敏捷、开发、编译、测试、容器等等都要懂一些,因为他们需要支持各个团队将其开展的业务迁移到DevOps上。DevOps的工程师也更加稀缺一些。

采访嘉宾介绍

党受辉,腾讯互动娱乐事业群技术运营部助理总经理,专家工程师。曾就职于东软集团,为能源行业定制信息化体系,加入腾讯后负责互动娱乐事业群的研发、运维、运营类基础工具平台建设。2012 年带领团队设计基础 PaaS 平台蓝鲸智云,逐步将腾讯互动娱乐事业群的运维类、研发类、数据运营类基础平台整合进一套 PaaS 体系,践行研运一体化。2019 年蓝鲸中的 CI 部分“蓝盾平台”逐步发展为腾讯集团统一的 DevOps 流水线,服务于腾讯公司数万研发人员。

会议推荐:

12 月 6-7 日,在深圳举办的 QCon 全球软件开发大会上,除“玩转 DevOps”专题之外,大会还设置了现代数据架构、前端工程化探索、人工智能前沿方向与落地实践、云原生下的应用架构等热门技术专题,带给你最新技术落地案例和实践分享。


目前大会门票 9 折抢购中,限时立减 680 元!优惠活动截至 11 月 20 日。全年最后的优惠时间啦,感兴趣想了解大会议程和演讲嘉宾可以直达官网查看!大会咨询:17310043226(同微信)


2020 年 11 月 17 日 15:541371
用户头像
罗燕珊 InfoQ中文站记者

发布了 59 篇内容, 共 21.7 次阅读, 收获喜欢 53 次。

关注

评论

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

第一周-学习总结

JI

极客大学架构师训练营

架构训练营0期总结--第一周

Jeff先生

架构师训练营-第一周-食堂就餐卡UML

人世间

极客大学架构师训练营 UML

作业一:食堂就餐卡系统设计

JI

极客大学架构师训练营

第0周学习总结

徐培

第一周作业--架构设计文档

CP

第一周作业-食堂就餐卡架构设计

molly

极客大学架构师训练营

UML练习

毛叫

极客时间 极客大学架构师训练营

【架构师第一周作业】食堂就餐卡系统设计

浪浪

UML学习

第一周总结

changtai

极客大学架构师训练营

架构师训练营-第一周-食堂就餐卡系统架构设计

坂田吴奇隆

极客大学架构师训练营

食堂就餐卡系统设计

一黑到底

食堂就餐卡系统设计

ruettiger

本周学习总结

ruettiger

作业一:食堂就餐卡系统设计

Coder

极客大学架构师训练营

什么时候使用volatile关键字?

this_is_for_u

c++

gcc a.c 究竟经历了什么?

this_is_for_u

c++

「架构师训练营」第 1 周作业 - 食堂就餐卡系统设计

edd

设计思维

架构师训练营0期第一周

Blink

第1周【架构方法:架构师如何做架构】总结

陆不得

架构师训练营第一周学习总结

fenix

架构师0期 01周总结

喵呜的小哥哥

week1.食堂就餐卡系统设计

个人练习生niki

UML

架构师训练营第一周学习总结

独孤魂

极客大学架构师训练营

「架构师训练营」20200606作业一:食堂就餐卡系统设计

极客

极客大学架构师训练营 食堂就餐卡系统设计

第 1 周作业 - 食堂就餐卡系统设计

张小小的席大大

架构 0 期-week1-命题作业

陈俊

极客大学架构师训练营

Flink 源码分析之一文搞懂Flink 消息全流程

shengjk1

flink flink源码

作业一【食堂就餐卡系统设计】

道法自然

极客大学架构师训练营

作业1-食堂就餐卡系统设计

进击的炮灰

Week01 总结

一黑到底

AI如何在普惠金融的探索中发挥作用?

AI如何在普惠金融的探索中发挥作用?

邂逅DevOps:不要指望一步到位-InfoQ