Operable.io 推出 ChatOps 平台 Cog
Operable.io 是一家专注于开发 DevOps 协作工具的公司,最近宣布推出了名为 Cog 的 ChatOps 平台。Cog 提供了访问控制、类 Unix 的命令管道化以及审计日志功能。ChatOps 是一种协作模型,将对话、工具和流程结合在一起,适用于包括 QA、开发和运维在内的团队。
Cog 的主要特点
- 访问控制框架:Cog 提供了一个权限管理框架,支持通过组、用户和角色进行权限管理。其权限管理非常细致,例如,除了可以指定“某个用户组可以运行某个命令”,还可以指定“某个用户组只能在命令包含特定选项和参数时运行该命令”。
- 类 Unix 的命令管道化:Cog 支持类似 Unix 系统的命令管道化,允许将多个命令串联起来进行顺序处理,同时保持访问控制和审计功能。
- 集成与扩展:Cog 集成了 Slack 和 HipChat,并且其源代码已在 GitHub 上公开,目前仍处于 alpha 阶段。
Cog 的架构
- Relays:Cog 的架构围绕 Relays 构建,Relays 是命令的执行环境。
- PostgreSQL:Cog 使用 PostgreSQL 数据库进行持久化存储,并通过命令行工具与系统交互。
- MQTT 消息总线:Cog 使用基于 MQTT 的消息总线将各个组件连接在一起。MQTT 是一种轻量级的 TCP/IP 协议,适用于网络带宽有限的环境,采用发布-订阅模型,需要代理来分发消息。
企业环境中的挑战
在传统企业环境中,DevOps 的采用通常较慢。例如,从聊天室直接推送构建到生产环境可能不被接受。企业还对权限和可靠性有较高的要求。Operable.io 的联合创始人兼 CEO Mark Imbriaco 表示,企业对 DevOps 的兴趣正在增加,但现有工具并未完全满足企业的需求。
可靠性问题
一旦团队依赖 ChatOps 软件进行日常任务,软件的可靠性就变得至关重要。GitHub 最近的故障报告提到,其 ChatOps 服务器一度不可用,导致运维团队的响应速度变慢。Cog 通过多个 Relay 实例实现并行化和高可用性,但 PostgreSQL 数据库仍然是单点故障。Imbriaco 建议用户遵循构建高可用性 PostgreSQL 集群的最佳实践,例如使用 Heroku 的 WAL-e 连续归档工具。
总结
Cog 通过提供细致的访问控制、类 Unix 的命令管道化以及高可用性架构,旨在降低 ChatOps 的采用门槛,特别是在安全和合规性方面。尽管仍处于 alpha 阶段,Cog 已经展示了其在企业环境中的潜力,并有望通过进一步优化来满足企业的需求。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。