提升 DevOps 效率,试试 ChatOps 吧!

简介:

本文翻译自文章 To Boost DevOps, Try ChatOps,文中用简单易懂的方式介绍了 ChatOps 的发展和价值,由 OneAPM 工程师编译整理。

当我们谈论 DevOps 时,总是围绕着「自动化」,「协作」和「工具」这几个主题。所以一旦有一个概念,能够综合以上所有特征,为现在的团队提供更好的沟通和协作方式,也不足为奇。如今团队可以通过机器人的帮助,进行团队聊天,共享信息,集成其他工具的通知,从而实现协作。如果将所有这些结合起来,创新型团队现在可以进行沟通驱动的开发和运营,这就是ChatOps。

提升 DevOps 效率,试试 ChatOps 吧!

通过创建一个新的沟通渠道,自动化常见任务,方便发布实时信息,ChatOps 可以帮助团队缩短反馈环节,提高协作能力,使团队运作得更快和更有效率。

A brief history of chat

聊天工具发展简史

通过团队聊天来进行实时协作并不是新鲜事。 这种类型的互动可以追溯到互联网早期和 BBS 时期(Bulletin Board Systems)。 用户通过拨号式调制解调器连接到远程计算机,请求与系统运行者进行实时聊天。通过文本实现实时远程交流、交换信息,在这当时,是非常新颖的概念。

提升 DevOps 效率,试试 ChatOps 吧!

随后,IRC(Internet Relay Chat) 的网络聊天协议诞生了,通过相互连接的聊天服务器网络,可实现多人实时畅聊。IRC 网络也让早期的系统管理员、DevOps 人员以及运维管理者学会了许多至今仍然沿用的行业技能。 他们学会了如何通过 IP 网络连接电脑,通过黑客攻击强化新型的 Linux 系统,通过 Eggdrop 机器人自动化任务,通过自动通知保持互通,甚至一起玩休闲游戏。现在的 DevOps 团队仍然在做这些事情,但是有 Slack、HipChat 之类的新兴工具为他们提供移动设备与常见 DevOps 工具内置集成的通用支持。

新瓶装旧酒

尽管实时聊天工具不断改变,使用它们的主要原因还是如旧:

  • 作为一个既可以同步,也可以异步的沟通渠道;对于分散式的人员与团体卓有成效。
  • 任务自动化,比如发送提醒,提供更新和通知;常见的工作流工具能轻易地与 webhook 实现集成。
  • 带有时间戳的对话、事件和通知的日志记录;对于根本原因分析和历史案例学习很有帮助。
  • 为团队实现信息的快捷传播——包括链接,截图,甚至最新的猫咪图片;实时聊天通常能够提供最新的信息。

虽然这些好处都很重要,不过却是 ChatOps 的次要价值,而其真正价值在于,通过协作缩短反馈环节。DevOps 的目的在于快速行动和学习,ChatOps 将这一概念得以实现,并应用到日常实践当中。

想象一下:一个应用程序崩溃,发出一个告警,并通知负责支持的值班工程师。工程师在聊天室中回复,她正在解决,如果有需要,会要求帮助或索要其他信息。之后,聊天室中的成员一起协作,找出错误,创建修正方案,进行测试,然后投入生产环境。解决问题之后,关闭告警。这个场景中的每一步都可以通过聊天工具进行捕捉,且大部分都是自动化的。参见以下类似场景:

提升 DevOps 效率,试试 ChatOps 吧!

截图显示该团队通过 Cloud Insight 将来自 Ai 告警通知通过事件流功能进行展示(该功能即将上线),并且试图让这种展示更为简单,因为它们很重要,可以触发行动和讨论。工程师们会讨论各自的重点领域,和回复来自其他团队的请求。这样做的意义在于,团队可以聚集在同一个地方,进行讨论和协作,而当有问题时,其他人也可以轻易找到他们。对高度分散式的团队,在需要的时候,迅速得到问题的答案,是很重要的。

ChatOps 的兴起很大程度上要归功于 GitHub 近期的工作和倡议,但其他领先的技术品牌也有所参与。 Box 公司关于如何使用 ChatOps 的博客文章 「Securing ChatOps to Enable DevOps」,PagerDuty 公司的 「What Is ChatOps and How Do I Get Started?」,以及 VividCortex 公司的 「ChatOps at VividCortex」,都提供了如何使用 ChatOps 的实践和见解。

集成是 ChatOps 中重要的新元素。主流的聊天平台,如 HipChat、Slack 都可以方便地集成其他工具,比如来自 Jira,PagerDuty,GitHub 的通知,触发条件和事件。这很关键:DevOps 团队最不需要的就是另一个“虚拟协作”工具,将对话和信息隔离到另一个地方,使查询相关信息变得更加费力。此处,真正的目标是将来自这些工具的所有信息都集成到同一个地方,所有人都可以使用。

机器人也有感情!

一旦聊天集成设置完成,便可配置一个「聊天机器人」协助团队工作,尤其是重复的任务或通知工作。 机器人可以是对话的一部分,提供当前情况的有效背景信息。其中最著名的机器人是 GitHub 的 Hubot,拥有一系列预配置的行为和命令来帮助完成一些常见的 DevOps 任务。

聊天机器人作为一个用户出现在聊天室里,可以响应带有 @mention 标注的命令。借此,可以让机器人为团队完成任务,比如开始部署,提供被监视程序的状态,或者执行远程命令。这种类型的交互将 DevOps 进程和工具直接带入对话,让每个人都能看到并参与讨论。

聊天机器人甚至能帮助舒缓压力时期的紧张。例如,聊天机器人可以根据员工咒骂的次数,生成一些欢迎笑脸,或者根据搜索词汇发送随机的 gif 动图,或生成简单的小游戏。几乎一切皆有可能,随着时间的推移,这些行为可以为每个聊天机器人定义独特的个性。

ChatOps: 如此简单,人人都能使用

如果你还没有使用过这些工具,可以从 SlackHipChat 开始尝试。他们都有免费的产品,对一些团队而言应该已经足够。还可以试试 GitHub 的 Hubot,Hubot 开创了借助机器人的聊天自动化新时代,并且设置非常简单。

ChatOps不仅赋予团队全新的协作方式,还能提高整体情境感知,甚至提高你的打字技能。请一定善加利用你的新工具。

Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。本文由 OneAPM 工程师翻译整理,想阅读更多技术文章,请访问 OneAPM 官方技术博客
本文转自 OneAPM 官方博客

相关文章
|
8月前
|
运维 监控 Devops
【运维杂谈】DevOps是什么意思?
【运维杂谈】DevOps是什么意思?
344 0
|
6月前
|
监控 jenkins Java
持续集成/技术交付全流程流水线工具的设计与落地
持续集成/技术交付全流程流水线工具的设计与落地
|
监控 测试技术 程序员
732.【chatGTP】测试工作人员如何使用容器云持续集成,持续部署?
732.【chatGTP】测试工作人员如何使用容器云持续集成,持续部署?
116 0
|
Kubernetes Cloud Native Java
如何设计一条稳定的应用交付流程?|云效工程师指北
如何设计一条稳定的应用交付流程?为持续交付的过程提供了规范化的可能,也为了引入了让人不时埋首于配置文件的小山里的麻烦。我们不妨从一次略有波折、稍显隐患的集成部署案例开始,看看如何着手设计一条更为稳定的应用交付流程。
870 0
如何设计一条稳定的应用交付流程?|云效工程师指北
|
存储 运维 监控
打通源码!高效定位代码问题|云效工程师指北
为了帮助企业和团队挖掘更多源代码价值以赋能日常代码研发、运维等工作,云效代码团队在大数据和智能化方向进行了一系列的探索和实践(例如代码搜索与推荐),本文主要介绍我们如何通过直接打通源代码来提高研发与运维效率。
646 0
打通源码!高效定位代码问题|云效工程师指北
|
JSON 关系型数据库 MySQL
用好这 28 个工具,开发效率爆涨|云效工程师指北
用好这28个工具,开发效率爆涨。本文我将主要从Terminal 和 Desktop 2个大类、8个核心开发场景介绍一下我最常使用的效率工具,及如何通过这些工具来提升程序员「幸福感」的实践。
1643 2
用好这 28 个工具,开发效率爆涨|云效工程师指北
|
存储 Kubernetes Cloud Native
8 个 DevOps 自动化工具,帮你做出持续改进
  DevOps,这个词似乎是过去几年的一个流行语,是 IT 招聘人员、软件公司和代理机构在互联网上搜索得最多的一个词。专业的支持者认为这与工具或自动化无关,但他们忽略了一点,即工具实际上承载了 DevOps 文化。我们都认同这样的说法,即 DevOps 不只与工具有关,甚至不只与一个单独的角色有关,DevOps 实际上是人、过程和工具的结合体。但是,一个组织想要实施 DevOps,工具在其中扮演了重要的角色。   在这篇文章里,我们将介绍 8 个 DevOps 自动化工具,每一家公司都需要依靠它们来获得持续改进。
203 0
|
机器学习/深度学习 运维 监控
实现DevOps的三步工作法
《凤凰项目-一个IT运维的传奇故事》是一本比较神奇的书,用讲故事的方式,展现了IT团队(开发、测试、运维)在开发效能低、系统交付慢的情况下,通过实践三步工作法,在团队中实现加快系统交付、提升开发效能,使团队走上DevOps之路。
199 0
实现DevOps的三步工作法
|
安全 Devops Java
阿里巴巴DevOps实践指南(十八)| 基于制品元数据提升交付效率
为保证软件交付的质量,我们对交付物有功能和性能上的要求。这些要求体现在交付过程中产生的数据上,包括:代码评审数据、安全扫描数据、回归测试结果等。这些数据以交付物(制品)为载体。我们把这些数据称作制品的元数据。
阿里巴巴DevOps实践指南(十八)| 基于制品元数据提升交付效率
|
Kubernetes Devops jenkins
云效DevOps那些一用就戒不掉的真香功能
自建过gitlab,折腾过jenkins,用上云效DevOps全家桶后,真香!
云效DevOps那些一用就戒不掉的真香功能