具有企业特色的ChatOps平台

Operable.io公司(创建了DevOps协作工具),近日宣布发布Cog ——一个新的ChatOps平台,该平台提供了访问控制,类Unix系统流水线命令以及审计日志功能。ChatOps是一个帮助包括质量保障(QA)、开发以及运营人员在内的团队成员将沟通、工具和过程整合在一起的协作模型。

Cog包含一个访问控制框架,允许在组、用户以及角色中进行权限管理。Cog拥有更细粒度的权限控制。例如,除了能够支持“这个组的用户可以运行该命令”,Cog还允许类似这样的情况“当某些选项和参数都包含在该命令行时,这个组的用户可以运行该命令”。

GitHub创造了第一个ChatOps机器人。另外两个是Errbot和Lita,Errbot是基于Python编写的,Lita是基于Ruby编写的。InfoQ采访了Operable.io联合创始人兼CEO Mark Imbriaco,问到Cog和其他平台有什么不同:

我们最初版本的第一个目标是消除使用ChatOps的障碍。主要是围绕安全性和合规性。其次,我们想建立一个像Unix命令行一样适应力强的共享命令行。

大多数ChatOps软件提供了命令行界面,允许团队成员进行操作,比如显示特定指标的图表或推进Git分支变为主干。

在传统的企业环境中,DevOps的采纳通常是较慢的。在这种环境下,通过一个聊天室来推动编译到生产的整个流程,可能是难以接受的。企业对于权限控制和可靠性也非常关注。Imbriaco说,企业对DevOps的兴趣正在逐步增加,但是现有的工具并不能满足企业的需求。

Cog的架构建立在Relays上,Relays为Cog命令提供执行环境。Cog使用PostgreSQL数据库进行持久化,采用命令行工具与系统进行交互。Cog基于MQTT消息总线把其他各组件粘合在一起。MQTT是一个轻量级协议,使用TCP/IP提供有限的网络带宽连接。它基于发布-订阅消息模式,因此需要一个代理将消息分发给所有订阅者。

一旦团队开始使用chatops软件,便会在日常工作中依赖它,因此软件的可靠性是非常重要的。GitHub最近的故障报告中提到,他们的chatops服务器暂时的不可用导致运维团队较慢的响应。Cog设置中拥有多个Relay实例以支持多并发和高可用,然而,PostgreSQL数据库仍然存在单点故障。Imbriaco说,还有更多的工作要做,以使Cog更可靠。尤其针对PostgreSQL,他建议:

用户遵循最佳实践构建高可用的Postgres集群。在这方面有很多现有的技术。例如WAL-e持续归档工具(WAL-e continuous archival tooling),Heroku用它来构建他们很好的PostgreSQL故障转移支持。

Cog以类Unix系统一样的方式支持流水线命令。Imbriaco说,Unix哲学中每个命令“只关注一个目标并把它做好”然后把它们链接在一起顺序执行处理,在Cog中已经采用了这一哲学,“同时Cog支持访问控制和审计”。

Cog也与Slack和HipChat完成了集成。Cog软件仍处于内部测试阶段,源码可以在GitHub上获取。

查看英文原文:New ChatOps Platform With Enterprise Features

感谢夏雪对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

你可能感兴趣的:(具有企业特色的ChatOps平台)