【编者按】本文作者为日志分析软件公司 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 官方技术博客

本文转自 OneAPM 官方博客

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

ChatOps如何变革企业业务的更多相关文章

  1. 大数据BI系统挖掘企业业务上的价值

    ​相信关注过我们的肯定知道BI是什么,但是老话常谈以防新朋友不知道BI的含义,BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合 ...

  2. AI落地企业业务的一些问题

    这两年大家都在喊未来已来,软件企业不管有没有算法工程师都竖起了AI的大旗,传统企业不管现在OA现状如何都想在数据转型.智能制造.机器智能方面尝尝鲜,感觉好像和前两年的互联网+风潮有点像,最近半年我在某 ...

  3. 企业业务数据处理用“work”还是“MQ”

    近期公司在做架构梳理已经项目架构方向,不知不觉就引起了使用“work”跑数据还是用“MQ”进行跑数据的争论! 对于争论这件事在各行各业都有,其实我觉得针对“争论”这个词的根源在于一件事情有很多解决方案 ...

  4. 8Manage:“消费升级”缘何剑指企业一体化管理变革?

    [导读]提到消费升级,大家都会想起美学.个性化.品质等标签,近年来经济发展所伴随的消费需求转型在逐渐凸显,开始从粗狂型到精细化,如:关注产品性价比.服务个性化等内容.企业在消费升级下应该如何应对呢?8 ...

  5. 什么是业务运维,企业如何实现互联网+业务与IT的融合

    业务运维并不是一个新概念,针对传统信息架构提出的业务服务管理就是把以业务为核心的IT系统与IT基础设施性能进行整合运维的解决方案.然而随着互联网+转型的不断推进,基础设施的智能化和广泛云化成为IT发展 ...

  6. 迅雷程浩:企业外包服务,下一个大的风口?(2B业务一定要懂销售和营销的人,这点和2C 不一样)

    我今年暑假去了趟硅谷,一天去一个朋友的公司拜访,发现这公司没有前台,前台桌子上放了一个显示器.我刚进去,显示器里的老印就跟我打招呼 "How may I help you?" 事后 ...

  7. 专访姚冬:All-in-One,智能时代下企业需要更快速的变革

    2017年,msup将咨询服务列入公司发展战略目标,并邀请前IBM大中华区技术总监姚冬成为咨询合伙人.近一年来,msup在咨询服务方面持续发力,与包括百度.平安科技.用友等在内的大型公司形成企业合作联 ...

  8. 从IT匹配业务如何走向IT引领业务

    http://mp.weixin.qq.com/s?__biz=MjM5Njk2Mzg0MQ==&mid=200105892&idx=1&sn=cd9c155d09e8b975 ...

  9. PaaS平台的尴尬与变革

    当今时代只要提到云计算这个词语,一定会提到云计算分为IaaS.PaaS.SaaS 这三个层面,现阶段云环境中IaaS和SaaS都实现了商品化.但是,PaaS作为云计算的服务模式之一,既不像IaaS那样 ...

随机推荐

  1. 微信应用号来了,微信小程序开发教程!

    关注,QQ群,微信应用号社区 511389428,511389428 微信应用开放的服务和组件包含如下: 视图容器:视图(View).滚动视图.Swiper 基础内容:图标.文本.进度条 表单组件:按 ...

  2. SPI(Service Provider Interface)机制

    JAVA SPI 约定如下:当服务的提供者提供了服务接口的一种实现之后,在jar包的META-INF/services/ 目录中同时创建一个以服务接口命名的文件,该文件中的内容就是实现该服务接口的具体 ...

  3. Solidity字符串类型

    字符串可以通过""或者''来表示字符串的值,Solidity中的string字符串不像C语言一样以\0结束,比如abcd这个字符串的长度就为我们所看见的字母的个数,它的长度为4. ...

  4. TDSQL“相似查询工具MSQL+”入选VLDB论文

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 作者介绍:王晓宇,腾讯数据库TDSQL团队成员,目前参与TDSQL数据库内核研发工 ...

  5. Java NIO系列教程(三) Buffer

    Java NIO中的Buffer用于和NIO通道进行交互.如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的.交互图如下: 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存.这块内存被 ...

  6. CentOS QT can't find lGL

    直接安装: yum install libGL, yum install libGL-devel 库即可.

  7. 分布式理论(七)—— 一致性协议之 ZAB

    前言 在前面的文章中,我们说了很多一致性协议,比如 Paxos,Raft,2PC,3PC等等,今天我们再讲一种协议,ZAB 协议,该协议应该是所有一致性协议中生产环境中应用最多的了.为什么呢?因为他是 ...

  8. leetcode937-java

    937. 重新排列日志文件 一个简单题让我做了将近一个小时去.. 你有一个日志数组 logs.每条日志都是以空格分隔的字串. 对于每条日志,其第一个字为字母数字标识符.然后,要么: 标识符后面的每个字 ...

  9. Java枚举的下标值

    java中枚举值下标默认从0开始,可以用ordinal()这个方法获取下标值. public enum Sex { MALE(1,"男"),FEMALE(2,"女&quo ...

  10. 数据操作语句(DML)

    增加(插入)数据 SQL>insert into 表名 values(值1,值2 /*根据表中的字段顺序和字段类型相应填写*/); SQL>commit; (提交,提交了别的人才看看到这个 ...