【编者按】本文作者为日志分析软件公司 Logz.io 的联合创始人 Tomer Levy,主要介绍 ChatOps 的特点与发展历程,以及将来可能带来的业务变革。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

ChatOps通过自动化和透明的工作流,连接了人、机器人和工具,使人们看到工作和系统的完整状态。这一透明度加强了反馈回路,增强了协作。因此,有人称它为“即时通讯devops。”

这些解决方案让用户可以直接通过聊天窗口访问重要信息,大大减少了上下文切换的繁琐操作。如果你打开监听模式的聊天窗口,它将与你已经在用的工具和平台相连接。此外,ChatOps提供了用户特定的命令,非常直观,可以将命令发送至聊天机器人,就像发送给他们的同事一样。

亚马逊Web服务(AWS)首席宣传官Jeff Barr在这篇博文中写道:

因为你能让机器人访问任意的AWS APIs,你可以通过任何自己想要的方式与AWS资源互动。你可以查询它们的状态,错误情况,改变设置,甚至创建新的资源。

ChatOps功能提供的服务中已经包含机器人,可以连接多个应用,支持诸如 AWS 之类的基础设施平台。你可以在聊天中完成任何类型的工作,包括服务器部署,维护任务,和简单的重启。只要某个平台的API可用,ChatOps服务就可以实现所需应用的功能。

如今,先进的研发和IT运营团队使用全面的在线聊天室和机器人,推动企业活动,而无需寻求他人协助,甚至不需要开会协商。这些企业把聊天移至团队中心,几乎打造了一个实时运营中心。

这一新的沟通方法使实时共享和协作更加简便,devops也更为完善。ChatOps增加了透明度,缩短了反馈回路,使研发和运营团队间的协作更加快捷。

工具

最初,借助 Hubot,Lita,和Err 之类的ChatOps机器人,开发人员可以直接从他们的聊天窗口运行代码。但如今,有了更多的选择。自2013年推出以来,Slack现在拥有了数以百万计的日活跃用户,你可能也是其中之一。

Slack提供了内置的Slack机器人,同时还提供了多个第三方解决方案,比如StackStorm, Deploybot 和Blockspring,可以与其他聊天产品,比如Atlassian的HipChat和IRC相配合。选择机器人时,务必仔细考虑,因为你的选择将定义ChatOps框架使用的语言,无论是在实施还是集成阶段。点此查看Slack聊天机器人的产品列表

人们常用的另一个选择是HipChat,据说是企业用户首要的ChatOps解决方案,与Slack直接竞争。你可以通过Hipchat Connect访问HipChat(Hipchat Connect为应用商店,目前只发布了beta版)。

Logz.io,我们使用Slack和Hubot,事实证明这一工具非常有用。一开始这只是一位运营工程师的尝试。之后,它不仅成为一个运维工具,而且从根本上帮助开发人员独立完成诸多任务。此前,这些任务往往需要运维工程师的帮助。

ChatOps是关键任务型服务

随着ChatOps项目的发展,它逐渐成为我们团队使用的主要工具。此外,新的想法催生了自定义代码的出现,后者可以直接从聊天窗口完成代码部署。如今,我们已经离不开它了。

ChatOps系统从一个很酷的个人项目转变为一项关键任务型服务,在任何devops环境中都应该被视为一项重要发展。

参考 Box.com,它需要遵守严格的合规规定,因此需要稳固安全的ChatOps系统。其中,最重要的考量是确定和控制哪些命令是受限的,受限于谁。因此,此公司创建了多个工具,作为Hubot的中间件。其开源代码存储库包括了许多安全工具,比如RBAC,速率限制,第二人称确认(在特定的命令下)。你应该应用相同的参数,在代码存储库中包括用户身份验证以控制读写操作。

另一项管理方面的考量是可用性。如果Slack,HipChat或你的ChatOps主机不可用,怎么办?解决办法是:实施监控,备份和灾难恢复,就像对待环境中的其他服务一样。此外,利用机器人的测试功能,确保插件都经过测试,并正常运行。同时,像对待其他应用一样,也要进行CI测试。(可能你还不知道,Lita 和Err为自定义插件提供了开箱测试。)

ChatOps不是一个临时的小项目。它可以是一个强大的工具,需要仔细处理和维护。显然,ChatOps就像产品代码,要通过pull-request,保存在源控制,并进行相关的测试。

人人可用的机器人

去年11月,Slack做了一些改进,推出了一个更加先进的功能:用户可以用它实现Lyft打车(类似于国内的滴滴打车)。使用“/ Lyft”命令,Slack会与Lyft的APIs相联通,允许用户通过Slack使用打车服务。很酷,对吧?

虽然机器人并不是一个全新的概念,Facebook最近宣布将在其应用中集成人工智能服务,再一次为机器人引来了诸多关注。将机器人与Facebook的Messgener应用集成后,其9亿用户将获得更有效率的客户服务,避免在电话中排队等待的烦恼。Facebook还公开宣布,其他品牌和开发人员也可以为Facebook Messenger创建聊天机器人,紧随Slack和Hipchat的脚步。虽然机器人的开发需要一些时间,但这势必会给网上交流带来巨大转变。

对于初创公司而言,这是一个潜在的机遇,进一步改进和商业化ChatOps,使其更安全,更可靠,功能更丰富。笔者相信一些新公司已经开始涉足这一领域。

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

原文地址:
http://www.infoworld.com/article/3062703/devops/how-chatops-can-revolutionize-your-business.html