What is ChatOps? From Pizza Ordering to Continuous Delivery

Chats have existed since the primeval times of the Internet. At some point, someone had the idea to put a computer that takes pizza orders into a chat.

Author: Cyrill Rüttimann

Chat rooms have existed since the primeval times of the Internet. At some point, someone had the idea of putting a computer into a chat room to take pizza orders. And that was just the beginning...

Chat rooms are virtual forums where you can log in to chat with other people online. You send messages that appear without delay on the screen of the other chat participants. When you scroll up, the previous messages become visible.

About the same age as Internet chat rooms is the idea of the chat bot. This is a computer that dials into a chat room and interacts with the chat participants. Early chat bots could, for example, provide answers to certain questions, such as «What time is it?» Soon they could take pizza orders.

And why should we be interested?

Communication is one of the biggest barriers we encounter when switching to agile software development and continuous delivery. Software teams are geographically dispersed, and the individual departments know little about each other. Support does not know who is responsible. The tester does not know what the developer is doing. The sys admin has done something, but nobody dares to ask him. Far too much has to be done by hand. And the junior, who started from scratch?

This is where ChatOps comes into play.

What is ChatOps?

ChatOps is a collaboration model that connects people, tools, processes and automation in a transparent workflow (see figure 1).

Abbildung-1_chatops.png
Figure 1: ChatOps connects people, tools, automation in a transparent workflow

It starts with a chat room where the project team members exchange information. Chat bots are added, which provide information about responsibilities, the status of deployments, etc... Other chat bots control build processes and deployments.

A basic principle of ChatOps is that everything that is to be integrated must have a digital interface (Web-API). Software components without web API have no place in ChatOps. The unlimited exchange of information is the basis of ChatOps. Using bots we can make these APIs accessible for human communication.

We build a world where we can chat with our colleagues and our tools in a human way. It is this conversation that is at the heart of ChatOps. Along the way, we build a collective knowledge and log about our work.

New employees immediately dive into the information channel. They see - so to speak at the beating heart - how work is done. This enables them to familiarise themselves more quickly.

Why now?

Why should chat rooms revolutionize computer science right now? On the one hand, the introduction of DevOps and Continuous Delivery presents us with massive challenges in communication and coordination between departments and sometimes continents. Information is the lifeblood of Continuous Delivery.

On the other hand, we are facing massive progress in the research of artificial intelligence.

With ChatOps we can meet the challenges by simple, transparent, human communication. And we can benefit from the advances in research and build ever more intelligent chat bots that support us in our work.

Abbildung-2-chatops.png
Figure 2: ChatOps success factors: communication needs, APIs and artificial intelligence (AI)

Last but not least, we see that APIs are spreading more and more, opening up new tools and services for ChatOps (see Figure 2).

And... is it any good?

Always the question with these hype topics. Is it any good? The topic is red-hot. However, there are currently no manufacturers who have products on the market with this in mind. Microsoft is working on a platform and a bot.

We have decided to use a prototype to find out whether there is anything suitable behind the approach. Please read our blog post «Prototyping» on this topic