ChatOps: What's all the chatter about?

public://pictures/18150dc.jpg
Eitan Schichmanter, Senior DevOps Architect and Leader, eBay

In the new fast-paced world of DevOps, changes to processes, tools, methodologies and communication are happening quickly and are all around us. To keep up with these changes, enterprise teams today need to better automate tasks. With communication channels more and more in focus, there is a growing need to facilitate information distribution and execution in real time.

For traditional global enterprises and distributed R&D and operations teams, communication is done using emails and traditional online conferencing tools such as WebEx. Over the last year, as part of my role as a DevOps architect and evangelist, however, I have led the implementation and adoption of ChatOps, and the results were outstanding: a 35% decrease in the overall amount of emails in my mailbox.

A seemingly trivial chat-based technology can go a long way in changing the very core of our enterprise collaboration style, driving you to accelerated communications.

How to Build a DevOps Toolchain That Scales

ChatOps: What’s in it for you and me?

Before going into more detail about ChatOps, let me tell you what I learned. In order to qualify the value and success of our move to ChatOps, I took an independent initiative to simply check how the change impacted my mailbox.

I was astonished by what I found. The main thing that we can clearly see here is a huge drop in my mail count. As you can see, a whopping 35% drop is evident since I started communicating via ChatOps practices, compared to the previous period or the same period year over year. This alone illustrates the tremendous value and efficiencies that ChatOps can bring to your enterprise.

  Criteria  Period  Mail Count  Trend
  3 months before ChatOps  24/09/2015 – 26/12/2015  4,756   -
  Since using ChatOps  27/12/2015 – 31/03/2016  3,045 -34.5%
  Same period last year  27/12/2014 – 31/03/2015  4,653   -

We've incorporated DevOps use cases here by creating dedicated channels for our development teams to discuss specific backlog items, consult with each other (over time zones, geographies and languages), and enable a continued knowledge base accessible to all to learn from and advance their proficiency. In addition, since our main tools are integrated into our channels, we greatly reduce the need to go to these tools' dashboards. I personally haven't looked at our Jenkins dashboard directly in over six months.

[ Webinar: Agile Portfolio Management: Three best practices ]

The idea behind ChatOps

ChatOps is a term widely accredited to GitHub and denotes a pattern that enables people (engineers, operators, IT professionals and even customers) to provide better communication  between themselves, and with the various systems they use. It can be thought of as ‘conversation-driven development’ because it begins and ends with the recognition of moving to a shared and collaborative approach within the enterprise.

To understand ChatOps, imagine a virtual room where all the data is readily available and persistent (stored for posterity); easily searchable (to learn from past knowledge); timestamped and threaded (to understand the flow of events as they unfold in real time); and consists not only of people interacting amongst themselves and also having all the systems send their notifications to that virtual room.

One benefit of ChatOps is that it means no more “war rooms” that require assembly and mandates, but rather free-flowing ad-hoc collaboration forums that pull in only the relevant stakeholders (no more large and unnecessary public email distribution lists), and helps determine the end-to-end context of a relevant incident or event.

ChatOps brings with it a faster, lean and more focused process – connecting people and systems in a conversation-like manner, promoting faster data flow and traceable interaction sessions, reducing traditional endless email flow and allowing all parties involved to connect on a more dedicated level.

The ChatOps components

The ChatOps workflow revolves around three main components: the collaboration tool, the bot, and the product integrations.

1. The collaboration (chat) tool

This is the front end chat system that connects the various stakeholders and enables them to interact between themselves and the systems around them.  

2. The bot

The bot is the heart of the ChatOps practice. The bot is the glue between your collaboration tool and your systems. It allows for a two-way communication channel where you can fetch relevant information from the systems, and influence them by executing commands and flows directly from your collaboration tool. The bot governs all the traffic with your systems and provides a secure, compliant and hardened gateway to ensure worry-free information and data flow to and from your systems.

As you can see below, even a simple example from our ChatOps of updating and retrieving an incident’s data does not require entering HPE service desk, our incident system:

Hubot is the leading example of a bot tool used today. Hubot is a valuable open source BI tool that can be used for sharing scripts between robots, and even for adding your own scripts. GitHub wrote its first version to automate and accelerate its operations chat rooms.

3. The product integrations

Product integrations are a key ingredient to a successful adoption of ChatOps methodology. Creating the environment’s tools integration allows your bot to streamline communication with tools, and execute actions such as deploy and test directly from the chat window. This enables you to get real value from ChatOps.

You can run straightforward transactions with your systems, as well as complex, automatic flows that can increase your entire organization’s productivity. These integrations support the automation and creation of a unified language across teams to accelerate DevOps, especially between R&D and operations.

Orienting the team with ChatOps

ChatOps orients everyone on the team towards a common goal. With everything captured and visible in the chat tool, ChatOps builds trust among team members and helps bring work into the foreground by putting all of it in one place – with everyone’s notifications, actions, and analyses happening in full view. it offers a wealth of benefits over enterprise communications methods, and can help fundamentally change the way traditional large R&D and operations teams work and interact today.

Image credit: Flickr