The hot word in IT is currently *DevOps,* and for good reason! If you can get your development and operations teams in sync, then you can deliver quality software faster, improving time-to- market with smoother deployments. Unfortunately, the most common barrier to development and operations synchronicity is simple communication. You’d be surprised how tough it can be for teams to enable simple communication channels that facilitate quick and easy conversations to get things done.
Luckily there are many excellent tools at the forefront to address this very problem in a simple and powerful way. Today I’m going to focus on a chat tool that has taken the DevOps landscape by storm — Slack!
Chat has been around for a long time but the new breed of chat applications come with some amazing features to empower your team collaboration. I’m going to elaborate on five ways to leverage Slack for DevOps.
How to Utilize Slack Best
Gone are the days of having the entire company on your chat list. Now it is all about creating common rooms (or channels in Slack-speak) where collaboration can create visibility. Simply creating channels across project or application teams can create shared transparency, access to teammates, and a sense of camaraderie around the work to be done. It seems obvious, but sometimes it takes a nudge to get everyone in the same (virtual) room! Creating a channel in Slack is as easy as clicking the ‘+’ button above the already existing channel(s).
Monitoring & Metrics
Previous siloed development teams used to “throw code over the fence” to the operations team to manage, but that has proven repeatedly to cause the exact friction DevOps is trying to address. A powerful way to bring these teams together is to provide real-time metrics and monitoring visibility to a shared development and operations channel. Developers get to see how their software is actually performing in production and how often it might be causing alerting headaches for their operations counterparts. As a bonus, Slack has integrations to provide log messages directly to the chat window, which simplifies access to troubleshooting.
Slack has a number of application integrations for monitoring and metrics. Here are some of the more popular ones:
Originally developed at Github, chat bots like Hubot and Sumobot have opened the door to a variety of new integrations with chat tools. With bots, you can create server-based scripts that will answer to chat commands and perform some task associated with them. For instance, imagine the following:
bot deploy latest to staging
bot show latest logs from web1
Obviously some back-end coding is necessary to power the bot to read and execute commands, but the possible commands are endless. Ops teams can enable development teams to deploy their own code on demand or ask for logs from the bot without pulling an operations member off of their current tasking.
**NOTE** Please remember to ensure that authorization and authentication are created for bot scripts in the same way you would secure them for any other uses. With the great power of a bot comes great responsibility to prevent malicious use!
High-performing companies have embraced rapid code delivery through Continuous Integration server code pipelines. These pipelines allow teams to chain together code activities as they move from a developer’s workstation into a production environment. Slack can provide much- needed visibility into the status of the latest code through various integrations including one of the most popular continuous integration servers, Jenkins. Having immediate access to the status of the pipeline, and knowing whether it succeeded or failed, helps all teams to stay on top of getting code out quickly.
Making sure that you have satisfied customers should be the number one goal of any development team, because without them, your product has no users. With Slack’s customer support app integrations, it is now possible to see a real-time feed of any difficulties your customers may be encountering. This is hugely empowering in giving an early warning signal to teams of any potential trouble in your application or product. Imagine seeing the FIRST “can’t get to X page” trouble ticket in real-time rather than hearing about it later. This is all about empowering teams to understand and react to the needs of the customer quickly. Slack already integrates with some popular customer support tools like:
When looking at the chat landscape, it certainly looks very different than it did just a few years ago. The world of integrations and plugins have turned a point-to-point communications tool into a transparent window into your organization. Hopefully I’ve given you some new ideas on how to juice up your chats using Slack. Take it as a personal challenge to keep your teams connected and informed!