Introducing Cog

Mark Imbriaco
Operable News
Published in
3 min readFeb 23, 2016

--

I’m excited to announce that we’ve officially released Cog, our new industrial strength ChatOps platform, under the Apache 2 license. Cog is just the first step toward our vision of helping teams that are doing DevOps work collaborate better, build a shared understanding, and continually improve.

Cog is currently in public alpha and we’re thrilled to be working with the community to refine its feature set and make it even better.

We believe that chat will be the primary way that teams communicate in the future. This is already the case for many of us, and it has been for years. This movement is only accelerating as our friends at Slack, HipChat, and elsewhere move the state of the art forward and continue to make the experience better.

The idea of ChatOps is to bring the work you currently do in a terminal or browser into your chat window, so that your team can collaborate around the work right where it happens. This isn’t a new idea, companies like GitHub, Etsy, and others have been automating their work through chat for a long time. But, to paraphrase William Gibson, the ChatOps future is already here, but it isn’t evenly distributed.

We want to change that.

First, we wanted to remove some of the concerns that kept teams from adopting ChatOps. We often heard that companies were uncomfortable with the security ramifications of ChatOps, so we built a fine grained access control mechanism to let you automate even mission critical workflows in chat, with complete control over who can run them and exactly what arguments they can pass to them. We added an audit logging facility so that you can keep track of all the actions that are performed on Cog, and who performed them.

But we didn’t just want to knock down adoption barriers, we wanted to fundamentally move the state of the art forward. We want to create a shared command line that is on equal footing with the Unix command line that engineers already know and love. So we built that too.

ChatOps has historically had a very single-action oriented interaction model: You ask the bot to perform an action, some work gets done, and the response gets returned. This turns out to be incredibly useful for a large number of common tasks like deploying software, requesting a graph for a particular metric, and so on.

We wanted something that was much more adaptable, though. Users should be able to combine commands in new ways to solve problems that weren’t necessarily anticipated by the command authors. We took inspiration from the Unix command line, which has an incredibly powerful “pipe” operator that allows you to run a command, and use its output as the input for another command, and so on. So we built that for ChatOps and allow you to build command pipelines that combine tools to solve complex problems that are not reasonable to handle in a single command.

We think you’ll love Cog.

This is just the beginning for Cog, we have many more ideas on our roadmap to continue to move the state of the art forward. That conversation will continue here, on Twitter, on GitHub, and in our public Cog chat. We’d love to hear what you think!

--

--