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++ 之 浅析gdb的-g选项
浅析gdb的-g选项 准备 gdb是Linux下学习C/C++最常用的debug工具.要使用这一强大工具,必须在编译时加上-g选项,生成的目标文件才可以用gdb进行调试. 如,先创建一个test. ...
- JVM 运行时数据区详解
一.运行时数据区 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同数据区域. 1.有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,所有的线程共享这些数据区. 2.第二种则 ...
- MVC源码分析 - View续之Razor
过完年, 大家都忙碌起来了, 我也不例外. 不过并不是忙碌于去面试找工作, 而是忙碌于现在手上的工作. 闲话不多说了, 进入今天的主题. 一.Index页面在哪里 很奇怪, 在目录bin下面的dll文 ...
- 利用nginx解决跨域问题
访问我的博客 前言 最近遇到了跨域问题,结合之前[微信支付开发本地接收异步通知回调]的经验,利用 Nginx 实现了跨域. 公司之前为了解决跨域问题,用的是 iFrame,反正对于只做后端的我而言,觉 ...
- Maven 入门——认识Maven结构
1.settings.xml 元素解读 localRepository 该元素表示本地 Maven 仓库的地址,不设置的话,默认为 ~/.m2/repository pluginGroups 将插件的 ...
- 【IT笔试面试题整理】给定一个数组a[N]构造数组b [N]
[来源]:腾讯2013实习生笔试 给定一个数组a[N],我们希望构造数组b [N],其中b[j]=a[0]*a[1]-a[N-1] / a[j])空间复杂度和O(n)的时间复杂度:除遍历计数器与a ...
- JavaScript实现二叉树算法
二叉树的遍历方式 分别为中序遍历(左子树->当前节点->右子树).前序遍历(当前节点->左子树->右子树).后序遍历(左子树->右子树->当前节点).下面使用Jav ...
- 获取当前iframe动态加载文档的href
Insus.NET想实现一个功能,一个旧的站点A,它有两个网页logon.aspx和Default.aspx(登录成功能访问).由于某些原因,需另建一个新站点B,这个新站点B也有两个网页B_Index ...
- Java基础——String类(一)
一.String 类代表字符串 Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改.字符串缓冲区支持可变的字符串 ...
- 虚拟机中安装完 CentOS7minimal 版本后无法联网的问题
问题描述 安装完系统后无法上网,然后进入到目录 /etc/sysconfig/network-script 查看.发现只有一个 ifcfg-lo. 解决办法 这种情况是没有识别到网卡. 在 VMwar ...