加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

对话15年技术老兵:我是如何填平 DevOps 的深坑?

发布时间:2019-09-06 00:51:14 所属栏目:移动互联 来源:田晓旭
导读:DevOps 建设似乎已经成为了企业共识,但是何时建设、如何建设仍然是企业关心和头疼的问题。企业的技术、人才、业务达到何种程度才适合建设 DevOps?建设过程中,从哪里先入手,又应该如何处理组织架构、原有技术栈与 DevOps 之间的矛盾?是否有 DevOps 建

在王金伦看来,一个完整的理想的 DevOps 平台应该能够满足业务、需求、架构、开发、测试、部署、运维等角色在其上自主的完成相关工作,“DevOps 平台应该提供项目管理、原型设计、源代码版本管理、代码质量分析、持续交付流水线、编译构建、测试管理、UI 自动化测试、接口测试、性能测试、移动 App 测试、部署、发布、运维、Web IDE、文档管理、Wiki 百科、开源镜像站等功能特性。”

从理论及实践上来讲,使用业界开源工具(例如 Redmine、GitLab、Jenkins 等)打造基本可用的 DevOps 平台,并不是一件特别困难的事情。但是想要做好 DevOps 平台的技术选型并不是一件易事,因为据 XebiaLabs 统计,DevOps 相关工具有 15 类,120 种之多,种类繁多的同时,企业还要考虑可靠性、可用性、性能、安全、集成、持续升级、异构技术栈等问题。

王金伦以持续交付流水线、代码质量和移动 App 为例,详细介绍了如何做技术选型。

  • 对于 DevOps 平台来讲,持续交付流水线是最为关键核心的。目前 Gitlab、Jenkins、阿里云效、华为云 DevCloud 都可以提供相关特性。对于流水线来讲,主要能力在于可视化任务编排能力(分层、并行 / 串行、人工介入、门禁等)、大规模并行调度能力等。如果企业使用开源软件,特别要关注对于大规模并行调度的支持能力。
  • 对于软件交付来讲,开发者非常关注代码质量。现在不少企业使用 SonarQube、Findbugs、Checkstyle、Infer 等工具进行代码质量的检查,但是他们都不得不面临不同工具之间的相似规则如何归一、多个工具的检查结果如何统一等挑战。同时应用人工智能 AI 进行代码质量分析以及自动修复已经成为一种趋势,开源工具是否能够及时跟进以及跟进的质量如何,也是企业需要关注的。
  • 移动 App 基本上成为各个企业对外服务系统的标配。如何兼容不同类型的移动终端,成为开发者极为头疼的问题。虽然移动终端提供了模拟器或者仿真器,但是真机兼容性测试仍然是不可或缺的一环。对于此种场景下,自建移动 App 测试平台并采购型号众多的移动终端几乎对于所有企业来讲都是很大的成本负担,企业可以考虑相关厂商提供的移动 App 兼容性测试服务。

DevOps 实践的注意点

企业 DevOps 平台建设说起来容易,做起来难!王金伦认为在实践 DevOps 的过程中,企业应该特别关注以下三点:

首先,需要注意的就是组织架构、文化与行为等与 DevOps 契合度方面的问题。DevOps 融合敏捷、精益、自治团队、分布式决策等理念,企业应通过顶层设计、实践社区(CoP)、组织变革等方式建立与 DevOps 相匹配的组织与文化。我们通常说 DevOps 变革是“一把手”工程,很大程度上就是组织与文化的变革必须高层推动,否则 DevOps 也就只能停留在纯粹的工具、工程方法等皮毛上,难以走得远,给企业带来可观的价值。

其次,企业会面临工程方法方面的挑战。目前 DevOps 并没有一以贯之的标准或者知识体系,因此企业应体系化地理解敏捷与 DevOps,并形成一致认可的适合本企业的 DevOps 实施框架,这样才会更有效地提升能力。

在我们接触的很多软件企业中,他们并没有体系化的掌握 Scrum 方法,对 Backlog、EPIC/Feature/Story、Scrum 会议等都缺乏基本理解,因此,在进行敏捷项目管理时就遇到了很大的困难,更遑论 DevOps 整个体系了。华为云 DevCloud 推出的 HE2E 工作坊,基于 HE2E DevOps 实施框架与案例项目,以训战结合的方式,能够帮助企业更体系化地理解 DevOps。

最后企业将面临的问题是如何打造端到端的一站式 DevOps 工具平台。企业可以从 2+1(项目管理 + 源代码版本管理、持续交付流水线)能力来进行 DevOps 平台的打造。我们建议企业尽可能使用业界主流商业平台,在这些平台确实无法满足自己的核心需求的时候,再寻求自行搭建这条艰难的路。

AIOps 是 DevOps 的下一步吗?

DevOps 诞生于 2009 年项目经理兼敏捷实践者 Patrick Debois 主持的比利时会议,目前已有众多的企业在实践应用,借助 DevOps,自动化程度得到提高,测试变得更加容易,部署速度更快。而智能化运维(AIOps)是在自动化的基础上,突出强调将人工智能等技术运用到运维的相关环节(例如根因分析、预测、故障恢复等),进一步提升运维的效率和效能。

那么 AIOps 会是 DevOps 的下一步吗?对此,王金伦认为:“从理论以及业界实际上来讲,AI 将成为 Ops 或者 DevOps 能力提升的重要技术途径。因此,AIOps 是将 AI 与 DevOps 中的 Ops 相结合,希望利用 AI 能力来解决 Ops 方面的一些难题。AIOps 或者智能化运维应该是运维的一个重要演进方向,未来,企业级端到端的 AIOps 解决方案会成为一个重要趋势。”

目前 AIOps 主要应用的场景包括异常检测、预测分析、优化分析、根因分析、智能自动运维等。任何事情都是机遇与挑战并存,同样,AIOps 也面临着很多挑战,王金伦认为其中最大的挑战是大规模的有质量的数据、经过训练的有效的模型、失败的成本等问题。

除此之外,运维领域还出现了很多其它新技术,它们可以帮助提升运维效率与效能。例如利用机器学习、大数据分析等技术提升根因分析、故障预测、自动修复等运维能力;通过 Service Mesh、微服务等技术对运维平台架构进行重构,为 DevOps 环节提供反馈服务能力等;采用混沌工程等方法,一方面检验生产系统的突发事件应对能力,另一方面也可以检验运维平台应对过程提供的价值等等。

【编辑推荐】

  1. 马云、马斯克“相爱相杀”:人类PK技术,谁是赢家?
  2. 一图看懂腾讯、阿里、字节跳动工作的区别_技术栈微信半月刊第48期
  3. 中国自主研发内存即将问世 内存垄断格局要变天
  4. 阿里大佬:技术人的3个段位,你在哪段?
  5. AI换脸背后的技术攻防战
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读