ChatOps如何变革企业业务
【编者按】本文作者为日志分析软件公司 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如何变革企业业务的更多相关文章
- 大数据BI系统挖掘企业业务上的价值
相信关注过我们的肯定知道BI是什么,但是老话常谈以防新朋友不知道BI的含义,BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据进行有效的整合 ...
- AI落地企业业务的一些问题
这两年大家都在喊未来已来,软件企业不管有没有算法工程师都竖起了AI的大旗,传统企业不管现在OA现状如何都想在数据转型.智能制造.机器智能方面尝尝鲜,感觉好像和前两年的互联网+风潮有点像,最近半年我在某 ...
- 企业业务数据处理用“work”还是“MQ”
近期公司在做架构梳理已经项目架构方向,不知不觉就引起了使用“work”跑数据还是用“MQ”进行跑数据的争论! 对于争论这件事在各行各业都有,其实我觉得针对“争论”这个词的根源在于一件事情有很多解决方案 ...
- 8Manage:“消费升级”缘何剑指企业一体化管理变革?
[导读]提到消费升级,大家都会想起美学.个性化.品质等标签,近年来经济发展所伴随的消费需求转型在逐渐凸显,开始从粗狂型到精细化,如:关注产品性价比.服务个性化等内容.企业在消费升级下应该如何应对呢?8 ...
- 什么是业务运维,企业如何实现互联网+业务与IT的融合
业务运维并不是一个新概念,针对传统信息架构提出的业务服务管理就是把以业务为核心的IT系统与IT基础设施性能进行整合运维的解决方案.然而随着互联网+转型的不断推进,基础设施的智能化和广泛云化成为IT发展 ...
- 迅雷程浩:企业外包服务,下一个大的风口?(2B业务一定要懂销售和营销的人,这点和2C 不一样)
我今年暑假去了趟硅谷,一天去一个朋友的公司拜访,发现这公司没有前台,前台桌子上放了一个显示器.我刚进去,显示器里的老印就跟我打招呼 "How may I help you?" 事后 ...
- 专访姚冬:All-in-One,智能时代下企业需要更快速的变革
2017年,msup将咨询服务列入公司发展战略目标,并邀请前IBM大中华区技术总监姚冬成为咨询合伙人.近一年来,msup在咨询服务方面持续发力,与包括百度.平安科技.用友等在内的大型公司形成企业合作联 ...
- 从IT匹配业务如何走向IT引领业务
http://mp.weixin.qq.com/s?__biz=MjM5Njk2Mzg0MQ==&mid=200105892&idx=1&sn=cd9c155d09e8b975 ...
- PaaS平台的尴尬与变革
当今时代只要提到云计算这个词语,一定会提到云计算分为IaaS.PaaS.SaaS 这三个层面,现阶段云环境中IaaS和SaaS都实现了商品化.但是,PaaS作为云计算的服务模式之一,既不像IaaS那样 ...
随机推荐
- c++的动态绑定和静态绑定
为了支持c++的多态性,才用了动态绑定和静态绑定. 1.对象的静态类型:对象在声明时采用的类型.是在编译期确定的. 2.对象的动态类型:目前所指对象的声明.在运行期决定.对象的动态类型可以更改,但是静 ...
- 分析NonfairSync加锁/解锁过程
类继承关系: NonfairSync => Sync => AbstractQueuedSynchronizer 类NonfairSync final void lock() { if ( ...
- sftp命令不被识别
sftp命令不被识别 原因:C:\Windows\System32文件夹下面没有sftp可执行程序 解决方案:安装openssh,安装完成之后可发现在path系统变量的值中多了openssh的安装目录 ...
- Intent的那些事儿
请原谅我用这么文艺的标题来阐释一颗无时无刻奔腾着的2B青年的心.可是今天要介绍的Intent绝不2B,甚至在我看来,或许还有些许飘逸的味道,至于飘逸在哪里呢?那我们就好好来剖析剖析Intent和它的好 ...
- 全网最详细的再次或多次格式化导致namenode的ClusterID和datanode的ClusterID之间不一致的问题解决办法(图文详解)
不多说,直接上干货! java.io.IOException: Incompatible clusterIDs in /opt/modules/hadoop-2.6.0/data/tmp/dfs/da ...
- GO入门——1.基础
1 安装配置与命令 GOROOT:Go根目录 GOPATH:GO工作目录,其目录下需要建立一下三个子目录 bin :存放编译后生成的可执行文件 pkg :存放编译后生成的包文件 src :存放项目源码 ...
- 2016-06-14 发布 解决Centos7初次开机提示Initial setup of CentOS Linux 7 (core)
安装完成centos7后出现如下提示: Initial setup of CentOS Linux 7 (core) 1) [x] Creat user 2) [!] License informat ...
- jdk8-lambda表达式的使用
1, 遍历list集合 List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3 ...
- superset----缓存之redis
一.概述 Superset使用Flask-Cache进行缓存,Flask-Cache支持redis,memcached,simplecache(内存),或本地文件系统)等缓存后端,如果你打算使用mem ...
- spark-调度策略之FAIR
1.概述 spark有两种调度模式:FIFO.FAIR.FIFO是先进先出,有很强的顺序性,只有前一个处理完成后才会去处理后进来的.FAIR是公平调度,通过配置进行控制优先执行的任务.spark默认使 ...