对话15年技术老兵:我是如何填平 DevOps 的深坑?
在王金伦看来,一个完整的理想的 DevOps 平台应该能够满足业务、需求、架构、开发、测试、部署、运维等角色在其上自主的完成相关工作,“DevOps 平台应该提供项目管理、原型设计、源代码版本管理、代码质量分析、持续交付流水线、编译构建、测试管理、UI 自动化测试、接口测试、性能测试、移动 App 测试、部署、发布、运维、Web IDE、文档管理、Wiki 百科、开源镜像站等功能特性。” 从理论及实践上来讲,使用业界开源工具(例如 Redmine、GitLab、Jenkins 等)打造基本可用的 DevOps 平台,并不是一件特别困难的事情。但是想要做好 DevOps 平台的技术选型并不是一件易事,因为据 XebiaLabs 统计,DevOps 相关工具有 15 类,120 种之多,种类繁多的同时,企业还要考虑可靠性、可用性、性能、安全、集成、持续升级、异构技术栈等问题。 王金伦以持续交付流水线、代码质量和移动 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 环节提供反馈服务能力等;采用混沌工程等方法,一方面检验生产系统的突发事件应对能力,另一方面也可以检验运维平台应对过程提供的价值等等。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |