要促进 DevOps,试试 ChatOps

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

当人们谈论 DevOps 时,“自动化”、“协作”和“工具”等术语似乎总是主导着讨论。因此,将所有这些特征组合到一个概念中的范例作为现代团队沟通和协作的一种新的更好的方式浮出水面也就不足为奇了。想想由帮助共享信息的机器人提供支持的实时协作群聊,以及来自其他工具团队的集成通知。综上所述,创新团队现在正在进行对话驱动的开发和运营——这就是 ChatOps 的方式。







通过创建一个新的通信渠道来自动执行常见任务并简化实时信息的分发,ChatOps 可以改善协作,帮助团队缩短反馈循环,使他们能够更快地行动并提高工作效率。

聊天简史

通过群聊进行实时协作并不是什么新鲜事。这种类型的交互可以追溯到 Internet 和在线 BBS(公告板系统)的早期。用户可以通过拨号调制解调器连接到远程计算机,并请求与系统操作员进行实时聊天。他们可以通过文本进行远程通信和实时交换信息,这在当时是一个新颖的概念。








后来,出现了一种称为 IRC(Internet 中继聊天)的特定于聊天的协议,使人们能够通过连接的聊天服务器网络实时聊天。 IRC 网络是早期系统管理员、DevOps 从业者和运营经理学习他们学科今天仍然依赖的许多技术技能的地方。他们弄清楚了如何通过 IP 网络连接计算机,通过黑客攻击来强化新奇的 Linux 系统,编写 Eggdrop 机器人脚本来自动执行任务,通过自动通知让彼此了解情况,甚至玩休闲游戏。所有这些事情仍在由现代 DevOps 团队完成,但现在由 Slack 和 HipChat 等新工具提供支持,这些工具在移动设备上提供普遍支持,并与常见的 DevOps 工具内置集成。

老学校,新学校

尽管促进实时聊天的工具发生了变化,但使用它们的主要原因没有:

  • 一个可以同步和异步的通信通道;非常适合分散的人和团体。
  • 发送提醒、提供更新和通知等任务的自动化;常见的工作流工具可以很容易地与 webhooks 集成。
  • 记录的、带时间戳的对话、事件和通知日志;有助于根本原因分析和历史学习。
  • 轻松向群组分发信息——链接、屏幕截图或最新的猫表情包;实时聊天通常提供最新信息。

尽管它们很重要,但这些好处与 ChatOps 的真正价值无关,后者有助于通过协作缩短反馈循环。 DevOps 就是快速行动和学习,而 ChatOps 有助于创建一种范例,将这一概念带入日常实践。

想象一下:一个应用程序崩溃并引起警报,并通知负责支持的待命工程师。该工程师回复聊天室说她正在解决这个问题,并在需要时寻求帮助或其他信息。该团队与聊天室的其他成员一起确定错误、创建修复程序、测试它,然后将其推送到生产环境。这解决了问题并关闭了警报。这个场景的每一步都可以通过聊天记录下来,其中大部分都是自动化的。请参阅 New Relic 中类似场景的内部示例:















屏幕截图显示该团队已将来自 New Relic Alerts 的通知集成到 HipChat 房间中。我们试图使这样的集成 尽可能简单 ,因为它们很重要并且可以引发行动和讨论。 New Relic 使用 HipChat,大多数团队都有自己的房间,他们可以在那里讨论他们关注的领域和来自其他团队的现场请求。同样,这里的想法是一群人聚集在一个他们可以讨论和协作的地方,如果有问题或疑问,其他人可以很容易地找到他们。对于高度分散的团队,能够在需要时快速获得问题的答案非常重要。

ChatOps 的兴起很大程度上归功于 GitHub 最近的工作和倡导 ,但其他领先的科技品牌也表示支持。描述 ChatOps 在 Box 保护 ChatOps 以启用 DevOps )、 PagerDuty 什么是 ChatOps 以及我如何开始? )和 VividCortex VividCortex 的 ChatOps )等公司如何使用的博客文章提供了对如何使用 ChatOps 的验证和可见性。

集成是新 ChatOps 故事的重要组成部分。 HipChat 和 Slack 等主要聊天平台有助于轻松集成来自其他工具(例如 Jira、PagerDuty、GitHub,当然还有 New Relic)的通知、触发器和事件。这很关键:DevOps 团队最不需要的是 另一个 “虚拟协作”工具,它将对话和信息隔离到另一个地方以查找相关信息。目标是将来自这些工具的信息集中到一个可供所有人使用的公共位置。

机器人也有感情!

一旦设置了聊天集成,就可以配置一个“聊天机器人”来协助团队,特别是重复性任务或通知职责。机器人可以成为对话的一部分,为手头的情况提供有用的背景信息。这些机器人中最著名的是 GitHub 的 Hubot,它带有许多预配置的操作和命令来帮助完成常见的 DevOps 任务。

聊天机器人在聊天室中显示为另一个用户,但可以通过对机器人的@mention 来响应命令。这可用于让机器人为团队执行任务,例如开始部署、提供被监控对象的状态或执行远程命令。这种类型的交互将 DevOps 流程和工具直接带入每个人都可以看到和讨论的对话中。

聊天机器人甚至可以在压力大的时候帮助缓解压力。例如,聊天机器人可以通过计算人们发誓的频率、根据搜索词获取随机 gif(小心!)或编排简单的问答游戏来产生一些受欢迎的笑声。几乎任何事情都是可能的,随着时间的推移,这些行为可以为每个聊天机器人定义独特的个性。

ChatOps:如此简单,任何人都可以做到

如果您还没有机会使用这些工具,那么使用 Slack HipChat 很容易启动和运行。他们都有免费产品,对某些团队来说可能就足够了。还可以查看 GitHub 上的 Hubot ,它开创了通过机器人聊天自动化的新时代,并使设置变得非常简单。

ChatOps 不仅可以让您的团队以一种有趣的新方式进行协作并提高整体态势感知能力,还可以提高您的打字技能。只要确保永远使用你的新能力——而不是向你的敌人释放 僵尸网络 军队。

参考
有关更多信息,请参阅这些 New Relic 文档:

这篇文章最初出现在 Stevan Arychuk 的 New Relic 上。