V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
OneAPM
V2EX  ›  问与答

提升 DevOps 效率,试试 ChatOps 吧!

  •  
  •   OneAPM · 2016-01-05 15:22:37 +08:00 · 2225 次点击
    这是一个创建于 3245 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本文翻译自文章 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 官方博客

    2 条回复    2016-03-25 15:34:21 +08:00
    HanSonJ
        1
    HanSonJ  
       2016-01-05 16:12:22 +08:00
    节点放错了 - -
    lazybios
        2
    lazybios  
       2016-03-25 15:34:21 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2659 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.