What's so appealing about ChatOps? Is it the transparency and seamless communication that it enables for developers, operations staff, quality assurance professionals, and product managers? Or is it the productivity enhancements you get from having so many metrics and actions available in a chat room, none of it requiring command-line usage?

It's up to you to figure out which of these benefits might make ChatOps a worthwhile project for your team. But how do you know what you want if you don't know what's possible?

Here are 27 resources that will help you explore your ChatOps options, including basic introductions to ChatOps that you can use to convince managers and teammates, as well as real-world ChatOps setups from some big-name tech companies and expert operations engineers.

ChatOps 101

ChatOps: What's all the chatter about?

This quick and dirty introduction to ChatOps by eBay's Eitan Schichmanter gets right to the point. You'll get the gist of ChatOps' value as well as an outline of its three main components: the collaboration tool, the chatbot, and product integrations.

GitHub has been credited with coining the term ChatOps. The 2013 Ruby conference session where the term was first mentioned is still worth watching if you want to know why software companies decided to adopt ChatOps.

At the Velocity conference that same year, GitHub also presented ChatOps: Augmented Reality for Ops, which goes into more detail about how GitHub leverages the ChatOps architecture.

Groove developer Tair Assimov's blog post discusses ChatOps benefits. "So, what are the real benefits for the software teams to invest in ChatOps?" His answer: It forces you to automate repetitive tasks, eliminates the fear so that your team can ship more often, fosters collaboration, makes things easier to find, and boosts productivity.

ChatOps frameworks

You can't have ChatOps without a chatbot. Bill Doerrfeld's TechBeacon tutorial distills the long list of bots out there to just seven (or you can try building your own). It includes the most popular open-source frameworks, such as Hubot, Lita, and Errbit. But it doesn't include Cog, another popular framework to consider.

This ChatOps list article from Doerrfeld's Nordic APIs blog overlaps with the one above, but also includes a description of the fundamental approach to ChatOps, as well as mentioning Cog and several non-open-source products you might consider.

The stages of ChatOps

Ben Odom, an operations engineer at Muve, illustrates what a potential ChatOps implementation's progression looks like. The post is a great place to start if you're having trouble conceptualizing what the common patterns and progression of ChatOps could look like for your operations team. He starts with a simple proof of concept and ends with a ChatOps platform and internal community.

"Custom ChatBot plugins provide more in-depth interactions with your applications and infrastructure."

–Ben Odom

Here's another perspective on the progression of ChatOps, based on the experiences of the IT operations professionals at HelloSign. Written by Gordon Winthrob, an engineer at LinkedIn, this article includes six stages, although the first and last are not clearly defined. The first stage is called "pre-ChatOps," while the final stage is "ChatOps Nirvana."

For a briefer, higher-level view of the common stages of ChatOps, this article by Sean Regan at Atlassian is a quick, helpful read for managers who want to learn about ChatOps adoption.

High-level ChatOps planning

Need ideas for your ChatOps project? Here are nine high-value features to consider adding first.

Both the first article, by blogger Joe the IT guy, and the second, by Serhat Can, technical evangelist at OpsGenie, offer high-level advice on how to plan your ChatOps architecture for incident management.

While this article, by bloggers at Rapid 7, doesn't include any tutorials on how to implement the cases described, it does give you an idea as to the potential that ChatOps has to improve your security operations.

In his article and accompanying videos, John D'Esposito, vice president of DevOps and cloud transformation at USEast, demos a ChatOps setup using an older, but still popular, open-source operations tool called Rundeck, as well as a commercial product called Sococo. The main technical details appear in the second embedded video in the article. Here's a diagram of D'Esposito's ChatOps setup, with labels for each of the tool types:

Real-world ChatOps examples

This quick, visually heavy article tells the story of Talis Consultants' journey from getting notifications from third-party services in HipChat, to building a chatbot that can query those services in HipChat, and finally building a second chatbot that handles infrastructure provisioning and release automation. The writer is Talis' head of development, Nadeem Shabir.

Karthik Nilakant, a site reliability engineer (SRE) at the accounting software company Xero, shares how he uses ChatOps in his incident management process. Why did I only mention part two? The first part of the series isn't about ChatOps, but provides background on Xero and the detection and alerting tools it has in place.

After the QA team at Oursky built an automatic testing pipeline, it wanted to democratize deployment, test runs, and test reporting instead of having it all black-boxed inside a command-line utility. Chief technology officer Rick Mak shows how the team built a ChatOps system that brought testing and deployment out into the open and made the deployment process less scary.

Deployment with Scarlett (Hubot + HipChat + Nodejs + CoffeeScript + Phing)

Three operations engineers from Behance (Malcolm Jones, Ko Uchiyama, and Chris Henry) explain how they built a chatbot for HipChat that listens for build or deploy commands and then executes them. Redis and Puppet were two other technologies (besides the ones already mentioned in the title) they used to make this chatbot/ChatOps framework.

Luc Russell, software engineer at Virtustream, takes you through the setup of a monitoring infrastructure with Kafka, Prometheus, and Grafana and then shows you how to build a Python chatbot that can return Grafana graphs with monitoring data right in Slack. Here's a simple diagram of the ChatOps infrastructure:

Bonus resource: Here's another tutorial on how to modify an open-source library to get Hubot to post Grafana images in HipChat.

This quick-start guide by Extreme Networks engineer Eugen C. uses the open-source tools SlackStorm and Ansible for five different ChatOps use cases, including server status, restart services, currently running MySQL queries, HTTP stats from Ngnix, and security patching.

This ChatOps tutorial also uses Ansible, this time for infrastructure-as-code automation and blue-green deployments. This paper was a bachelor's degree thesis, but the language isn't too academic, so it functions as a thorough walkthrough. It first explores a few options before settling on ChatOps as the solution for a problematic IoT system deployment process. The key benefit of ChatOps in this context is its ability to automate complex tasks while retaining control of when tasks are performed.

The first phase of a back-end deployment process.

In this three-part series, developer Alex Cheng walks you through the process of setting up a chatbot for deploying artifacts to AWS EC2 Windows instances. Why Windows? Because, the author says, if you can handle Windows, Linux is a piece of cake. The tutorial is very detailed and shouldn't leave you stuck in any spots if you follow the instructions. But you need to have a basic understanding of how Docker and Ansible work. Want to know more? Here are the links for part 2 and part 3.

Loggly is a commercial product, but this tutorial provides one of the better explanations of how to implement log management and visibility in a ChatOps environment.

Getting started with ChatOps is pretty easy once you have a chat system and you know what services you want to start integrating. Before the bots come into the equation, it's easy to start by googling "integrating [chat tool] with [ops tool]." Popular platforms such as Slack and HipChat will probably have documentation on integrating the operations tools they support. And there are plenty of blog tutorials available for common operations tools such as Nagios. Along with the Slack integration tutorial above, consider reading up on IRC and HipChat integration for Nagios. And Pingdom alerts are another popular notification you can receive in Slack. Once you're more familiar with integrating third-party service notifications in your chat system, you can move on to chatbots.

Video case studies of ChatOps

For Shopify, ChatOps isn't just for incident and infrastructure management; it's also a significant developer-productivity tool that makes developer onboarding smoother. Daniella Niyonkuru, production engineer at Shopify, shows how his team built its setup in this video.

Using the popular Ansible+Hubot setup, Dan Chuparkoff, the director of product at McKinsey New Ventures, shares Big Panda's basic ChatOps architecture.

Matthew Hodgkins, an engineer at Coolblue, developed this ChatOps tutorial for Windows users. It shows you how to move PowerShell scripts into a more user-friendly interface with Errbot. The article wraps up with a discussion of security. You'll find the demo code here.

Michael Ansel, site reliability engineer at Box, explains how his team does incident management through ChatOps and addresses the topic of security in a ChatOps environment. How do you ensure that only qualified people have the ability to get bots to perform certain actions?

Adroll engineer Kevin Smith explores Cog, which is both a chatbot and a chat framework. Cog brings greater emphasis to ChatOps security than other chatbots and has tools that help teams collaborate safely on sensitive tasks.

Avoid the pitfalls and chat on

Now you have the evidence you need to convince your teammates or managers to adopt ChatOps, along with some ideas and technical guidance that will help you build a ChatOps system.

You might run into ChatOps pitfalls and failures as you try to build your setup, but don't be discouraged. There's a helpful ChatOps community out there. And if you didn't find what you needed above, there are plenty more ChatOps resources available on the web.

Do you have additional ChatOps resources or ideas you'd like to share? If so, please post them below in the comments.

Keep learning