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那样 ...
随机推荐
- atexit()使用
mian()主函数执行完毕后,是否可能会再执行一段代码?如果需要加入一段代码在mian退出后执行的代码,可以使用atexit()函数注册一个函数,代码如下: #include <iostream ...
- JVM(四)JVM的双亲委派模型
1.两种不同的类加载器 从JAVA虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用C++语言实现,是虚拟机自身的一部分:另 ...
- editplus tag
#T=HTML<!DOCTYPE html><html lang="zh-CN"><head><meta content="te ...
- Vue + Element UI 实现权限管理系统 前端篇(五):国际化实现
国际化支持 1.安装依赖 执行以下命令,安装 i18n 依赖. yarn add vue-i18n $ yarn add vue-i18n yarn add v1.9.4 warning packag ...
- 简单Demo 使用Code Fisrt步骤
使用Code Fisrt步骤 1.开启VS,创建控制台项目:CodeFirstDemo1 2.利用NuGet引进 Entity Framework类库 图住:右击项目名称,在弹出的选 ...
- java遍历http请求request的所有参数实现方法
方法一: 通过程序遍历http请求的所有参数放到hashmap中,用的时候方便了. 如果参数值有中文,那么需要在程序中添加filter转码,或者在下面程序里,对paramValue转码 Map map ...
- .gvimrc配置备份
syn on "语法支持 colorscheme murphy set go= "common conf {{ 通用配置 "set ai "自动缩进 set b ...
- CentOS常用软件安装
yum install *firefox* yum install flash-plugin
- Spring读取配置文件 @Value
最近在学习Spring如何读取配置文件,记录下方便自己也方便别人: 大致分为两类吧,一种的思路是利用Spring的beanFactoryPostProcessor读取配置文件内容到内存中,也就是应用程 ...
- UVA 11582 Colossal Fibonacci Numbers!(循环节打表+幂取模)
题目链接:https://cn.vjudge.net/problem/UVA-11582 /* 问题 输入a,b,n(0<a,b<2^64(a and bwill not both be ...