What is ChatOps? The 4 Advantages of Automating in Slack
With the rapid change in how current and future engineers work, remote-friendly technology such as Slack will continue to see a rise in adoption by companies.
The 2019 Accelerate State of DevOps report revealed that 69 percent of “Elite performing teams” utilize a slack-bot or integration in Slack, so it’s fair to suggest that Slack offers some strong competitive advantages.
One of the best ways to utilize Slack for DevOps is the use of ChatOps (also known as SlackOps). If you look at the current Slack App Directory for developer tools, you’ll find both Heroku and AWS — two widely used cloud providers for startups and large teams — offering their own ChatOps solutions. Hubot is another option that acts as a build-your-own solution.
But what is ChatOps exactly? Simply put, ChatOps are commands that a user triggers to start the process of achieving a task, that may or may not include multiple tools, in a chat-like interface.
Through ChatOps, visibility and accountability are enhanced because you’re able to bring people, tools, and virtual machines to one place. An example would be interfacing with the AWS Console or a CI/CD pipeline like Azure DevOps in a chat-like manner to achieve a task.
The point in utilizing ChatOps is to help teams scale their operations.
According to Jason Hand’s “ChatOps”, Highly effective teams with managers that understand the need for continuous change and continuous improvement are far more likely to embrace the idea of ChatOps.
So without any further ado, here are the four main advantages:
#1 User-Friendliness
Given that software engineering is focused on building user-friendly experiences, the notion of continuous improvement is no longer the only option.
So the question becomes, how can you create user-friendly experiences when the engineer behind the system doesn’t have a user-friendly interface, to begin with?
This is what we like to call the Paradox of Software Engineering. Engineers spend so much time thinking about designing beautiful products for users that oftentimes the design of their own tools falls to the wayside.
Don’t get me wrong, CLI offers developers wonderful benefits and many are comfortable using it.
But If we define user-friendliness as the ability for anyone to quickly and intuitively understand an interface, then CLIs, unfortunately, don’t offer the most efficient user interface to quickly understand what’s happened.
Enter ChatOps. It was designed to make developer interfaces look, well, truly simple and beautiful.
In fact, so simple that they hide the complexity and clutter of all that happens in software engineering to yield a clean look, yet retaining the power of the CLI-feel with a Slack UX.
#2 Visibility
ChatOps, depending on where it’s done, can also provide visibility and clarity in regards to the software development cycle. For teams using Slack, leadership can:
- See precisely when events were triggered
- The outcomes of those events (e.g. when things go wrong)
- Enhance organizational accountability
In essence, audit trails automatically become ingrained in the DevOps cycle.
Moreover, developers can use ChatOps to automate repeatable tasks to save them so many precious hours and initiate actions such as:
- Deployments
- Run and perform tests
- Manage incidents
- Modifying environmental set-ups
The ultimate benefit for teams from greater visibility is that there is better organizational collaboration. That in turn can only have beneficial spillover benefits to create an amazing DevOps culture.
#3 Portability
ChatOps truly leverages portability, meaning that Ops can be “carried” anywhere.
Slack is a perfect choice here to bring your stack into as it the most widely adopted and preferred choice for software developers.
The added advantage of using Slack is that your team will have a secure platform to carry out Ops anywhere. Running and overseeing Ops within Slack allows you to easily take advantage of their mobile app while working from anywhere.
With the new world of ChatOps, your team’s enhanced ability to act-on-demand will result in having a better product, and an ultimately better experience for your end-user.
In setting-up ChatOps, teams of all sizes will immediately see benefits:
- Agility with remote work
- Quickness to onboard new recruits, especially remote ones
- Optimize workflows as new tools come in
When combining both portability and visibility together, you almost have the perfect ingredients to prevent the bane of engineering teams — silos and bus factors. This leads us to the fourth major advantage.
#4 Scalability
What if my team is too small?
We’ve interviewed hundreds of startup leaders. While to some it may not be logical to have large scale operations through ChatOps for teams smaller than five people, we believe it, necessary for future-looking teams to have some minimal level of ChatOps infrastructure.
That’s because a ChatOps infrastructure, regardless of team size, is especially crucial to teams who seek to scale as ChatOps allows for a blueprint — an outline per se — for future operations as teams begin to scale from a handful of developers.
For instance, at the small team level (less than five developers), we typically advise startup engineering teams to start by implementing a notifications system to monitor deployments or instances. PagerDuty is a great example of how easy it becomes to handle and trigger incidents very quickly.
As your team grows, the next step would come with implementing workflows for DevOps tooling to allow for managed and standardized operations.
The trickle-down effects of a well-leveraged ChatOps approach will expand to wider business value as your company’s ability to grow and generate more revenue through engineering will mean success.
The best part is that all you’ll need is a dedicated developer to take the initiative with the correct platform and the correct framework. That’s it. Simplicity truly makes for a successful business.