ChatOps was established by GitHub as a way to automate operations-driven tasks through a chatbot by using it to run essential scripts and commands, allowing the automation of many simple tasks. It has since evolved to include integration of operations and improvement tools, and functions as a collaborative platform allowing teams to easily communicate and manage their workflow.
Using a ChatOps solution also allows you to document an easily accessible timeline of your team’s verbal exchanges. This can help keep everyone up to date on development and avoid overwhelming them with facts. As ChatOps technology advances and new tools and software are added, its popularity among engineers and IT experts grows.
How ChatOps Works
ChatOps operates as a chat-like software in which you can instantaneously connect with people, tools, automation, and processes. ChatOps then turns these communications into a viewable workflow, which allows for enhanced team collaboration and input from a variety of sources driving development through candid communication.
The chatbot executes the commands given to it by team members by using either plugins or custom made scripts. The chatbot will deliver the command to the relevant department and log the events which take place on the chat. This not only allows for transparency when it comes to suggestions for improvement, but it also allows your team to act on the most up-to-date information and coordinate their actions with the current situation.
Automating basic commands reduces the risk of human error, and having extensive documentation readily available helps keep the team on the same page. The question arises though; if ChatOps maintains a detailed record of all past communications, will you still need a runbook?
Runbooks and ChatOps
An important point to remember is that despite the fact that having documented records of communication is a huge benefit of using ChatOps, this is still only a partial record of events. The chat log only records the communication, not the events which led up to it and which practical steps were applied to deal with it.
A full record of the events which took place can only be achieved by matching up the chat log in the ChatOps to the events recorded in the runbook. This means that despite how efficient using ChatOps can be, it’s still important to maintain an up-to-date runbook concurrently to reap the full benefits.
ChatOps Best Practices
In addition to maintaining a runbook, it also helps to implement certain practices which will increase the effectiveness of the ChatOps solution. Some of these practices include being open to adoption. Although most people are reluctant to adapt to new ideas once they’re accustomed to working a certain way, having management support the transition can make it easier for your team to take the plunge.
Another practice used to enhance effectiveness is to adopt a DevOps mentality without causing what’s known as DevOps fatigue. To maintain a DevOps mentality, it’s important to ensure that only relevant team members are involved in the chat and that teams are accountable and carry out their responsibilities. Avoiding DevOps fatigue involves ensuring that the notifications help focus, rather than distract, team members. Having constant alerts going off in the background can serve as a distraction for most people, so customizing notifications allows your team to only get notifications which are relevant to them and avoids the distractions of constant alerts.