提升 DevOps 效率,试试 ChatOps 吧! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OneAPM
V2EX    问与答

提升 DevOps 效率,试试 ChatOps 吧!

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

    本文翻译自文章 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
    节点放错了 - -
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5952 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 02:38 PVG 10:38 LAX 18:38 JFK 21:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86