ChatOps

I have been loosely following this movement which originated out of this video from Github, the general idea is that instant messaging becomes the central scene for all activity within a (tech) company. Ideally this instant messaging is hosted in a group setting with open/private rooms as well as one-to-one conversations.

The key component is a chatbot, there are plenty out there to choose from, though Hubot is the most popular. This chatbot is a user to which listens for commands then will execute specific tasks. This could be getting metrics for a server to deploying the latest version of the code. The bot can also notify you of changes to the system (eg build failing, alert raised).

So the key benefits which derive from this system:

  • All actions are in realtime
  • All actions are in the context of the bigger conversation going on, for example a production incident happens in an open channel, everyone can see the who is doing what, reducing any confusion that might occur
  • It allows non-experts of particular system perform complex tasks, as they have been encoded into an easy to use format. They would also be safe to use as the experts has set the bounds of what can be executed. You could potentially get to the point that the users (within the company) could restart troublesome applications (not that you would necessarily want that but it is an option)
  • Mobile compatible, most hosted solutions have apps for iPhone & Android.
  • Greater flexibility
  • Greater laughs & sense of community, not all commands need a serious purpose, hubot comes out of the box with the ability to search youtube, gifs images & pugs

Some videos about ChatOps:

Available Chat bots: