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 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。
评论