写点什么

ChatOps 新型运维协作介绍

作者:阿泽🧸
  • 2022 年 9 月 13 日
    北京
  • 本文字数:1528 字

    阅读完需:约 5 分钟

ChatOps新型运维协作介绍

ChatOps,即“Chat + Ops”,是一种实时聊天驱动型的运维模型,简单来讲就是“用聊天的方式来做运维工作”。通过将机器人植入聊天会话,形成人、机器、数据的自动化、透明化的联动,使运维团队能够高效执行任务和沟通协作。ChatOps 是 DevOps 的一种实践演进方法。

1、概念及背景

ChatOps 是以人类最原始、最自然的会话方式来做事情的。就像我们对着智能音箱说“小爱同学,帮我打开电视”,然后电视就被打开了,只不过在 ChatOps 中,帮我们启动服务器的是虚拟机器人,即一套后台应用程序。对话驱动的协作并不是新生事物,但 ChatOps 是数字时代的体现:最古老的协作形式与最新技术的结合。这种令人惊讶的简单组合将改变我们的工作方式。


千万别低估了这种工作方式的影响力,事实证明,我们正在从邮件沟通的工作方式,进化成实时聊天软件式的工作协同。一个典型的信号:国外有个企业级 IM 聊天软件 Slack 已发展为百亿美金的独角兽。 从表面上看,ChatOps 就是一个聊天工具,里面有一个聊天机器人对象,向它发送一条命令,它就把信息转发给后台程序,由该程序匹配我们的意图,再执行具体的操作,最后返回信息。如果你用过手机、汽车的智能助手,或者智能音箱等,应该对此并不陌生。而 ChatOps 更深层次的作用,是将运维自动化的能力通过“现代化”的方式提供给运维、开发等人员使用。

2、基本架构

ChatOps 基本架构包括四个部分:

  • 一个 DevOps 团队:使用 ChatOps 的人(运维、开发、测试等人员)。

  • 团队实时聊天(IM)工具:企业微信、钉钉、倍洽、Slack、RocketChat 等。

  • 机器人(Bot):一套后台程序。

  • 基础设施:服务器 + 中间件 + 运维工具和平台。


其中,实时聊天(IM)工具介于运维机器人(Bot)和用户(DevOps 团队)之间,只负责转发双方的消息,并不对消息进行处理。


机器人(Bot)负责解析用户的消息,分析匹配用户的意图,然后在研发和运维的系统和基础设施上执行相关操作。机器人可以在服务器上执行命令脚本,也可以调用运维工具,调用发布平台、监控平台等的 API。


ChatOps 的前提是,运维平台和基础设施体系建设已经比较成熟,各种信息和运维能力几乎都可以通过远程调用,比如 HTTP、SSH 等。只有机器人(Bot)获得了这些基础运维信息和能力,才能真正发挥 Ops 的作用。

3、主要优点

ChatOps 只是运维自动化的一个外壳吗?表面上看,好像是这样。但实际上,它是一种创新的工作方式,当你真正用起来时,会有意想不到的收获。


首先,它拟人化的身份,让枯燥的运维操作立即变得简单和有趣了许多。聊天可能是我们寻求信息的最快路径。和机器人实时对话,可以立即得到反馈,它像是一个贴心和强大的管家,轻松帮你完成日常运维工作,而不需要人为切换各种运维工具,方便、快捷。


其次除了提供汇报、展示执行过程的功能,ChatOps 还有两个作用:一方面是增强与同事之间的协作,另一方面是寓教于做、现场教学——去学人家的操作,直接看聊天信息就行了,就像看 Linux 系统中的历史记录,而这种 ChatOps 的聚合操作,比历史记录里一条一条枯燥的指令更清晰、更简洁。这样一个例子:首先,检查服务器状况,发现 CPU 占用率过高,接着检查进程信息,发现 Java 进程 CPU 占用高达 58%,接着执行内置 JVM 分析脚本,为 Java 进程生成完整的报告,然后再重启应用服务器,问题暂时得到解决,接下来 @开发人员,将 JVM 分析报告的链接发给他们去排查。


最后一点是“移动性”,将 Ops 机器人连上移动版的 IM 工具,我们就拥有了远程的运维能力。如今智能手机功能越来越强大,地位越来越重要,你可以不带钱包、钥匙、资料、电脑,但是你一定会带上智能手机。如果没有 ChatOps 这个重要的工具,你可能还要随时随地携带电脑包,一旦有流程或者告警过来,就得立即处理。有了 ChatOps 之后,你可以在任何地点运维你的产品,只要你的手机还有电和信号,这种体验很棒!


发布于: 刚刚阅读数: 4
用户头像

阿泽🧸

关注

还未添加个人签名 2020.11.12 加入

还未添加个人简介

评论

发布
暂无评论
ChatOps新型运维协作介绍_ChatOps_阿泽🧸_InfoQ写作社区