ChatOps is conversation-driven collaboration using chat clients, chatbots, and real-time communication tools. It centers around the idea that conversation is the foundation of human growth and progress, which can be accelerated with collaboration tools. It is widely used by DevOps teams to work with more transparency, efficiency, and speed. Along the chain of progression, some teams might start off as email-only, start dabbling with chat-based apps, then add advanced custom bots or AI to automate certain tasks. Ideally, the end state would be to have a real-time system that integrates all of the personnel, work, technology, and processes into a unified environment while simultaneously maintaining detailed documentation of everything that happens there.
In this environment, the communication platform can serve as a shared command-line interface for commands. Intelligent and configurable chatbots are used to execute certain actions, such as firing an API call, resetting a server, or even deploying fixes to production. These chatbots (such as Hubot and Lita) are distinct from the B2C customer service bots that acquire information and answer queries. Custom chatbots can also be built using frameworks like wit.ai.
ChatOps aims to increase visibility across the board so that all actions are taken in full view of the team. It is especially useful in providing real-time context for remote workers and new hires.
ChatOps tools help businesses to accomplish IT tasks by combining chat interfaces with intelligent bots, providing a centralized place to communicate and run automated commands.
ChatOps tools should include these key features:
1. File sharing and storage
2. Persistent and searchable history
3. Timestamps and threading
4. Multiple rooms or channels
5. Push notifications
6. Video chat
8. Integrations to third-party applications
9. Chatbot framework
Upon selecting a ChatOps tool, make sure that all collaborators are comfortable working in the framework’s language. For example, if your DevOps team mostly works in Ruby, then you might want to use Lita, which is written in the same language. Integrations, customizability, extensibility, and plug-ins are also key elements to consider. It’s also likely that ChatOps users will need to leverage the open-source community in order to get the full range of value out of the tool.
When it comes to organizational adoption, it’s tempting for individuals to continue communicating in ways that have become habitual — such as via text, phone calls, and emails. These modes of communication have their place, but it’s important to emphasize that conversations should not be put into silos. Team members should look for ways to be more transparent and expand their conversational circles. If implemented correctly, ChatOps tools will reduce confusion, miscommunication, and conflict, eventually leading to better information flow.
ChatOps tools have a lot of potential, particularly when inserted into existing DevOps workflows. They bolster the DevOps credo by automating repetitive manual tasks and reducing human error. For example, team members can type commands to chatbots that then execute actions like code deployments, event responses, and notifications. The shared chat also increases visibility among the team, making it easier to track down errors and reducing the need for time-consuming rework. With this automatic log of work activities, compliance and security become easier to support. Other benefits of ChatOps tools include increased sharing of domain knowledge, accelerated learning, synchronous communication, and increased empathy.
However, a word of caution — it’s important to manage the signal-to-noise ratio in these conversations and groups so that the technology does not become overwhelming. The key is to remove silos and increase accessibility while maintaining organization and coherence.
Hubot is an open source, scriptable chat bot written in CoffeeScript on Node.js. Once synced with other chat services, it can be used to automate tasks, deploy code, post images, translate languages, and much more.Visit Website
Lita is a free and open source chat bot written in Ruby. It works with chat services like IRC, Hip Chat, and Campfire, and can be extended with various plugins. Its primary function is to automate tasks, but it also provides a fun way to build a sense of community within a company.Visit Website
Internet Relay Chat (IRC) is a no-frills text based chat system that was developed in the 1990s and requires client/server software to run.
It is mainly designed for group communication, which takes place in chatrooms and is overseen by operators. Operators are users that have privileged access and can disconnect or ban other users.
IRC is particularly popular among developers and other technically savvy individuals. It is simple and highly extensible, requires very little bandwidth, and runs on low speeds. In addition, many IRC networks have IP cloaking and allow for connections from Tor nodes, VPNs, and proxies.Visit Website
Rocket.Chat is a free and open source team communication application made in Meteor. With it, organizations can host chats on their own servers, thereby retaining complete control over their data. It offers messaging, audio and video conferencing, screen sharing, file sharing, real-time translation, and live chat, which can be used to answer customer queries and convert leads.Visit Website
Mattermost is an open source Slack alternative that is designed to facilitate team communication. Because it is self-hosted, organizations can use one account across multiple teams. It will also work as long as the local network is running — even if the internet goes down. Its features include group chat, one-on-one messaging, chat search, file sharing and threaded conversation. The paid enterprise edition offers additional features like two-factor authentication, compliance reporting and performance monitoring.Visit Website
Ryver is a cloud-based software platform that combines team communications and task management. Users can collaborate via chat, then translate those conversations into assignable tasks, checklists, and task boards.Visit Website
Microsoft Teams is a platform that combines workplace chat, meetings, notes, and attachments. It integrates with Office 365 and can be extended to integrate with non-Microsoft products.Visit Website
CA Flowdock integrates conversations, emails, feeds, alerts, pull requests and notifications into a single dashboard. Threads can be searched and tagged for easy filtering.Visit Website
Hipchat by Atlassian is a web service that provides group chat, video chat, and screen sharing for the enterprise.Visit Website
Slack is a messaging app that also enables users to make voice or video calls, screen share, and swap files. Conversations can be searched, archived, and organized into channels for specific teams.Visit Website