According to software development thought leaders, ChatOps is the new DevOps because Slack is the new email. If that assessment seems glib, you're onto something—because ChatOps differs from DevOps in more ways than simply using HipChat, Flowdock, or Campfire to notify your coworkers you're pushing code to production.
For those of us that aren't hip to software development jargon, DevOps is a portmanteau of Development and Operations —two areas of your IT department that generally operate with two very different philosophies.
Software development teams are typically driven by innovation, creating new and better software code and—in the age of Agile development—embracing the mantra of "move fast and break things."
Information technology operations teams, also known as infrastructure teams, are in charge of making sure nothing ever breaks. Ops is who gets called on the carpet when the servers go down, email stops flowing, or online orders get lost.
As such, Development and Operations are often in opposition, which can cause cultural and technical problems for your company.
The DevOps ethos is that Development and Operations should be in constant, open, and respectful communication to resolve differences and prevent problems. If DevOps is working well, Operations can prepare for and support all the changes that Dev is making to core code, and Development can take into account the impact their changes will have on Ops's uptime and performance goals. An open, real-time communications system like Slack is an obvious fit for such collaboration, but ChatOps isn't just DevOps on Slack.
The "Slack + DevOps = ChatOps" assessment falls down because apps like Slack aren't new, but ChatOps is. Slack is basically Internet Relay Chat with a better user interface, and IRC has been used by developers for over 20 years. Modern chat tools like Slack differ from old-school messaging apps like IRC, AOL Instant Messenger, or even the original version of Skype because Slack prioritizes API integration, and offers conversational interfaces. ChatOps leverages the unique features of enterprise chat platforms to make DevOps easier.
First, ChatOps integrates development and deployment tools into chat platforms to ensure that key DevOps functions can be run from within chat conversations. For example, Slack lets you send commands directly to and receive data directly from GitHub, Pingdom, and Heroku, among several other development tools. In essence, the chatroom and the command line are no longer wholly separate.
Second, ChatOps leverages chatbots to make DevOps faster and easier. There are a number of ChatOps bot frameworks that you can employ to run specific scripts if and when you enter a particular phrase in a chat conversation. Instead of posting "hey everyone, I ran the deploy script for the 11/17 batch," you can simply type something like /deploy batch20161117 into a message and the bot will take care of the rest.
Finally, ChatOps is now moving to incorporate chat-centric workflows that are queued by centralized campaign management tools like Talla. Think of these like chatbots, but in reverse; instead of humans instructing software agents via chat to perform a series of scripted functions, a software agent periodically prompts humans via chat to perform a series of scripted actions. When you need your DevOps teams to adhere to a specific step-by-step procedure, tools like Talla are how you initiate and maintain that process.ChatOps is taking DevOps to the next level by employing the latest tools and techniques modern software has to offer. If you want to up your ChatOps game, get started using Talla today.