译见|ChatOps 是什么?该如何使用呢?

chatops

译见系列|DaoCloud 现推出「译见」系列,每周为开发者提供国外精品译文,主要关注云计算领域的技术和前沿趋势。   

作者介绍:

Eric Sigler:在 PagerDuty 担任 Engineering Manager,负责工具开发业务。

PagerDuty 致力于打造运维性能平台,提升业务稳定性,减少运维生命周期中的噪音和混乱。PagerDuty 的客户包括微软、National Instruments、Electronic Arts、Adobe、Rackspace、Etsy、Square 和 Github。PagerDuty 总部位于旧金山,由领先的风投公司 Andreessen Horowitz、Baseline Ventures、Ignition Partners 及其它公司投资。

本期内容:

1. 帮助团队更好地沟通和协作

ChatOps 这个词出现的频率越来越高,技术大会上、Reddit 上、Hacker News 上,甚至是公司的饮水机周围。但是它到底是什么意思?为什么要在组织中实施?以及如何实施?

ChatOps 在 GitHub 上广受赞誉,是指由对话驱动的开发。将工具植入到对话当中,使用被关键插件和脚本改良过的聊天机器人,团队能够自动执行任务和协作,效果更好、成本更低、速度更快。

以下是项目经理的观点:在聊天室里,团队成员输入命令来配置机器人,它们通过自定义脚本和插件来执行命令,从代码部署到安全事件响应再到团队成员提醒,范围极广。随着命令被不断执行,整个团队协作也实时进行。

我们再说详细一点。你可以在工作中使用聊天客户端,譬如 HipChat、Slack、Flowdock 和 Campfire 这些常用的工具。如果你已经在工作中用到它们,那已经走在正确的道路上。这里列出了一些聊天机器人,它们都已经开源。

  • Hubot:GitHub 开发的机器人,用 CoffeeScript 和 Node.js 写成
  • Lita:用 Ruby 写的机器人
  • Err:用 Python 写的机器人

在聊天机器人执行命令的同时,你也需要部署服务器来监听命令,在后台完成执行部署的重活。借助 GitHub 的 Hubot,部署服务器被称为“Haven”。Flowdock 最近把 ChatOps 与工作流中的其他工具进行了整合。与 Hubot 告诉 Haven 要做什么相似,PagerDuty 的聊天机器人 Officer URL 会告诉我们的部署服务器 Igor 要做什么。

结果如何?

2. 通过看板提高信息能见度

许多人都有过这样痛苦的经历——弄清楚别的同事是不是在跑一条特定的命令。ChatOps 让工作走到前台,把所有事情汇集在一个地方;每个人的操作、通知和诊断都一览无遗。这大幅提高了团队的透明度。各种插件能够将更多信息显示给每个人(取代了不透明的 IP 地址和 DNS 名称及其他院数据)。不仅能够更加高效地运营,ChatOps 还能帮助新员工快速融入,在操作中学习。同时,它也让团队使用的部署和诊断工作流更加扁平。(无需赘言,它也让远程工作更容易。)

这也让 PagerDuty 有更好的表现,通过自动化改进了我们的基础设施;正如 GitHub 的 Jesse Newland 所说,让工具处于对话的中心。

robot

采用 ChatOps 甚至能让非技术团队获益。通过将基于聊天的工具置于中心地位,销售、市场和财务团队不需要四处询问也能了解基础设施发生了什么变化——什么时候部署代码、谁对某个系统负责、这些系统做什么。他们能通过机器人了解这些信息。

3. 将手动任务自动化

需要手动完成的任务通常会发生人为错误,现在这些任务可以通过聊天机器人实现自动化。你可以减少单调且容易出错的手动输入 SQL 语句,或者围绕经常重复的命令行进行适当的测试。一旦任务进入聊天,其他团队就能够快速、简单地提出需求(不会再来回踢皮球!)ChatOps 也能改进持续交付流程。通过简单了解部署从何处开始、由谁实施,你可以删减额外的任务和人工介入,能够一整天都持续部署代码。

希望在你的公司也采用 ChatOps?这里是一些小建议。

4. 选择机器人

我们之前列举了三款聊天机器人—— Lita、Hubot 和 Err,每个团队能够选择最符合自己工作流的机器人。不同的机器人有着不同的插件和部署语言,Ruby、Node 和 Python,不一而足,所以要谨慎挑选最符合自己需求的生态系统。

5. 将机器人植入系统

Hubot、Lita 和 Err 提供大量的脚本和茶碱,你的团队可以马上轻松使用。了解下面的这些例子:

  • Lita 插件
  • Hubot 脚本:GitHub 使用 /explain 来调查缓慢的 MySQL 请求。
  • 要想简单迈出第一步,可以试试 lita-dig,一款快速进行 DNS 记录和查询到工具。

6. 从小做起,持续迭代

鉴于存在大量强大的 ChatOps 工具、插件和其他各种可用组件,因此很适合从简单做起,不断积累经验,找出最适合自己团队的方法。可用在团队聊天室内尝试集成各种机器人和脚本,找出最喜欢的并坚持使用。可能会有错误和瑕疵,但是作为整个过程的一部分,可以接受。

你越熟悉对聊天机器人进行编码、执行命令,效率也会越高。随着你的团队从部署 ChatOps 中受益,前端这样的团队也会理解并在自己内部使用。随着技术人员和非技术人员共同参与,你不仅建立起了高效的流程,也在公司形成了专注于开发的企业文化。

 

译见系列往期内容:

Leave a Reply

Your email address will not be published. Required fields are marked *