Many "simple" use cases shown in examples of ChatOps approach, creation of cloud instances, deployments to test environment etc., are there any use cases for production infrastructure management?
ChatOps is an absorbing topic; practically it means something very different to each team using it. So much so that Atlassian have put together what could be considered to be a Chat maturity model.
- Sputnik: Trying chat out to see how it works.
- Mercury: Starting to move to chat.
- Gemini: Chat as the primary source of communication, experimenting with bots.
- Apollo: Chat as the nexus of communication and work, including bots.
- Elon Musk: Chat is the primary centre of mission critical work.
Important: Chat and ChatOps is very specific to an organisation, think of Chat as the Fabric for your team's bots to existing within it's the bots that provide the functionality that enables business and technical processes.
With the brief lesson in ChatOps Theory over I can talk about the experiences that I have had with ChatOps:
Slack and PagerDuty has fantastic integration allowing any newly raised incidents in PagerDuty then posted in one or more Slack Channels with information about the incident and buttons for acting upon the knowledge:
Beyond connecting PagerDuty and Slack we also connected all of our monitoring and alerting tools into Slack so that it was the central point for all real and potential problems, including the ability to query New Relic directly from Chat.
Chat as the Modern Command Line
With another client we built custom bots that executed scripts on remote machines, we did this using a combination of calling the management APIs in Azure and running Cluster Fork commands:
@checky scale serviceA 30: Scale ServiceA to 30 machines.
@checky kill serviceA#4: Kill instance number for on ServiceA.
@checky exec serviceA#1,5 ps -awx: run the
pscommand on serviceA instances 1 and 5 and post the output to chat
StackOverflow Close Vote Reviewers
We have some chatbots running in the SOCVR channels that help us to:
- Find questions that need close votes.
- Identify comments that contain "Heat" - i.e. might be offensive or lead to escalations.
- Identify questions that are of poor quality that might need review.
A prime use-case for Enterprise IT would be to reinvent their process for handling Major Incidents (sometimes called "Incident War-room") by utilizing the ChatOps practice. I've captured this and additional use-cases relevant to Enterprise IT - in a blog series:
(and you can also continue to the 3rd part in that series from those links...)
I'd love to get your comments/feedback.