一个问题--有人知道chatops吗?

今天有幸参加devopsdays活动,首先感谢老板为我提供了这次机会(主要是给报销,赞!),起个大早我就一路奔袭而去了,然后就是排了个很长队等候安检,是的你没看错,是安检。之后一上午的分享和演讲不想多说,直到devops之父Patrick站上讲台,亮了!演讲很精彩,赞!演讲末尾他分享了很多实践,其中讲到GitHub的时候他问了一个问题,“有谁知道chatops?”结果1000多人的场子,算上我最多也就不到5个人举手,于是乎我觉得我应该把之前做过的一些关于chatops的研究以及经验写下来,让更多的人知道。

chatops顾名思义,翻译的直白一点就是用聊天的方式来做ops工作,大体也差不多是这个意思。chatops用人类最原始和最直接的以会话来驱动的方式来做事情。什么是以会话驱动?其实这种方式充斥着我们的生活,举个很普通的例子,我对你说,“请帮我去拿一个苹果”,然后你拿了一个苹果给我。就是这么简单,只不过chatops中,“帮我拿苹果的”是个虚拟的机器人。

workflow

首先我们要先搞明白chatops涉及到了哪些资源 -- 交付团队, 一个团队IM工具(slack, IRC, hipchat...),chat机器人与基础设施(包括服务器,数据库,配置管理以及系统管理工具等)。接下来我们就以slack做为团队IM工具来举个小例子说明一下chatops是如何运做的。交付团队的成员会在slack的一个channel(可以把它理解成微信群)中交流和工作,在这个channel中有这样一个特殊的同事,他是一个聊天机器人,之后的文章中我们叫他chatbot,当交付团队的成员输入“@chatbot restart 10.34.33.22"之后,chatbot会调用后台的api将ip地址是”10.34.33.22“的vm重起,然后把重启后的状态回复到slack channel中。想像一下没有chatops的情况下团队成员会如何完成这件小事儿 -- 1.打开terminal 2. ssh到相应的vm 3. 输入密码 4.run "reboot" 5. 等一会儿 6. 再次ssh到vm 7. 再次输入密码 8. 检查相关信息,是不是有一些繁琐,而chatops只是@了一下chatbot而已,很方便,很cool对吗?

那么这样一件有趣且有价值的事情是如何做到的呢,我来解释一下,slack channel中的chatbot会监听address给他的消息(当然也可以监听当前channel的所有消息,以后有机会会给大家解释),通过一个叫做“正择匹配”的古老且长青的技术来筛查是不是有需要响应的关键字,一旦匹配到chatbot就会坚定不移的执行相对应的action。就上面的例子来说就是chatbot监听到“@chatbot restart 10.34.33.22",然后“正择匹配”匹配到了restart命令,于是他对命令做出响应,执行了restart命令对应的function去重启vm并回传结果。这只是一个简单的例子用来说明chatops是如何工作的,chatops的功能很强大应用很广泛,尤其在大型合做项目和大型互联网或云计算项目中最为明显。

如果大家对chatops感兴趣,接下来我会分享我对chatops一些感悟以及如何从零开始做一个chatbot.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,159评论 19 139
  • 在人人都在讨论DevOps的今天,有一个词ChatOps显得比较突出,什么是ChatOps?它是怎么工作的?它能带...
    13太保阅读 13,974评论 2 13
  • 之前两个小文儿跟大家探讨了what -- chatops是怎样一回子事和why -- chatops所带来的一系列...
    邸富杰阅读 4,881评论 1 3
  • 相信看过上一篇儿小文的小伙伴应该对chatops已经有了一些认识,接下来我们来做一次白日梦,把自己想像成ironm...
    邸富杰阅读 7,792评论 0 9
  • 这样的选择好比一个拾麦穗的人,从麦地的这头走到那头,手中始终只能拿一朵麦穗,结果拾穗的人都没有拾到最大的。他们都以...
    空镜头阅读 1,639评论 4 2

友情链接更多精彩内容