当人们提到最近比较火的DevOps时,“自动化”,“协作”和“工具”这三个方面往往主导了舆论的导向。这就毫无疑问由这三种特征集合到一起的新型团队协作与沟通模式已经形成。这就是
DevOps。
那ChatOps又是一种什么样的模式呢?我们不妨想象一种平台,在实时群聊中搭载了信息共享功能的机器人,同时再加上集成其他工具中发过来的通知,
把这些功能加在一起就是现在新型团队通过沟通来驱动开发和运营的模式。这就是
ChatOps。
ChatOps
通过创建新的沟通渠道就可以很容易的将常见任务自动化的实时分发出去,这样就可以帮助团队缩短回馈的路径与时间,使其更好的提高工作效率。
聊天简史
通过群聊实时协作并不是什么新鲜事,这种的类型的协作互动方式可以追溯到早起的互联网和BBS时代。当时的用户通过调制解调器连接到远程电脑并请求实时聊天服务,这样他们就可以通过文本的形式进行远程通信了。
后来出现了为在线聊天专门设定的协议 IRC (Internet Relay Chat) ,这样人们就能够通过连接聊天服务的网络进行实时聊天了。IRC网络就是早期的系统管理员,许多当时的技术在当今看来任然是适用的。他们开发出如何通过IP网络连接远端的电脑,同时随着Linux系统的兴起,以及自动化脚本技术成熟,使得通信双方可以自动化收发信息,甚至可以在线玩休闲游戏。从当下来看所有这些事情仍然被现代的DevOps团队所使用。随着Slack、HipChat以及中国的bearychat 瀑布IM等ChatOps平台的发展,实现了
ChatOps模式
在移动端设备上全面支持,以及内部集成常用
DevOps工具,使得DevOps与ChatOps之间联系越来越紧密。
旧式的功能,创新的模式
虽然现在的即时聊天工具已经发生了天翻地覆的改变,但用户使用其的主要目任然没有改变。
- 一种可以同步和异步的通信信道 ;优秀的个人与群组消息的分发机制
- 自动化的任务分发,例如提醒,更新和通知等; 常见的工作流工具可以很容易的集成webhook
- 一种记录,有时间标记的沟通日志,事件;有助于对历史和重点问题的分析和学习。
- 可以很容易的将连接、截图或者其他非文本类信息分发到群组之中;即时聊天通常提供最新信息内容。
虽然这四项内容非常重要,但这些优势对 ChatOps来说并不是最主要的,其真正的价值在于缩短合作沟通反馈的回路。DevOps 的本质是关于如何让整个团队快速响应与学习,而
ChatOps则是帮助其设定一种模板,将这种概念引入到团队工作的每一天。
接下来我们不妨想象一种场景:一个系统环境崩溃,导致警报,并通知值班工程师负责支持。该工程师在聊天室里回答说她正在处理,并且在必要的时候需要其他同事提供帮助和其他相关信息。随着聊天室中其他成员的加入,整个团队已经定位到了问题,开始创建解决方案,测试,最后上线生产环境。最终问题解决并关闭报警。这个场景中在解决问题的每一步过程中都涉及到了聊天,并且大多数都是自动化来完成的。下图是Cloud Insight模拟此场景的截图
集成是
ChatOps未来最重要的一部分,国外主流Chat平台像HipChat和Slack已经可以很容易的将其他工具如
Jira, PagerDuty, GitHub 等集成进来。国内的bearychat 和瀑布IM等也已经做到了这一点。
机器人也有感情!!!
一旦聊天集成功能设置上线,那么配置一个“聊天机器人”就能够很好的协助整个团队,尤
其是在对一些重复或通知类的任务上。机器人是沟通交流的一部分,为手头上工作提供应急的支持。最著名的聊天机器人是GitHub的Hubot,它自带一些预先设置好的功能和命令来帮助
DevOps团队完成任务。
聊天机器人会以用户的身份出现在聊天室,但是想让它做出回复的话需要
@
它。这样就可以让机器人完成服务部署,提供监控状态或执行远程调用命令等任务。这种类型的互动可以将DevOps流程和工具引入到团队沟通之中,让每一个人都能看到并参与到讨论之中。
聊天机器人甚至可以帮助你在紧张的环境下缓解压力。例如机器人可以通过计算发言数达到一定数量后产生一个美好微笑,或者安排一个简单的小游戏等。总之一切皆有可能,随着时间的推移,这些行为可以为
每一个聊天机器人
定义独特的个性。
ChatOps:非常简单,任何人都可以做到
抓住这个时代给自己一个机会。