Best Practices for Using Slack as a DevOps Tool
by Marisa Vesel, on Aug 7, 2019 1:30:00 PM
DevOps aims to increase the communication and collaboration between Development and Operations teams in the workplace. However, this communication ideal can be hard to fully execute.
Many organizations traditionally use email for any internal communication. However, this is difficult to maintain in a fast-paced development environment. There are numerous problems that can arise from using email: people don’t see the emails or see them too late, people forget to respond in a timely manner or never respond at all. One single place where teams can come together to discuss the Development Lifecycle is extremely beneficial to organizations.
Many enterprise organizations are now turning to the platform Slack in order to increase communication in the workplace. However, Slack is expensive (more than $6 per user). Organizations that pay for it want to make sure they get the most out of it as possible.
In order to utilize Slack to its fullest potential, organizations should understand some of the Slack DevOps best practices. This will not only maximize the ROI of the expenditure but ensure the best quality use of DevOps in optimizing the development lifecycle.
Best Practices for Using Slack as a DevOps Tool
Lets Employees Work the Way They Socialize
In contrast to emails, which tend to have a more formal feel and connotation, Slack provides a more personal and lighthearted platform, similar to Facebook Messenger or WhatsApp. Slack provides communication updates in real-time, so urgent conversations or important notices can take place immediately. This increases productivity as everyone will receive updates automatically, increasing the rate at which actions occur. Additionally, through using Slack, employees will feel less pressure to send messages that are well-formatted and thought-out, as the platform creates a less formal environment. Additionally, various Slack channels can be created for different teams or groups of employees to create conversations around a central topic, project, or issue.
Slack also has a ChatBot feature that can be added to Slack channels. This ChatBot can be configured to easily answer questions and send notifications, feedback, and reports from integrations with third-party applications. Since everyone is notified at the same time, this can help initiate business processes based on context. Slack is a central location for developers and operations team members to come together and respond appropriately to notifications that have been received.
Use Slack with DevOps Applications
Slack also has the capability to integrate with several of the most popular DevOps tools, such as GitHub, Jenkins CI, Jira, and Azure Pipelines. Inedo’s BuildMaster is also able to integrate with Slack. Slack is able to integrate seamlessly into the existing development toolchain, making it easier to identify and remedy any builds, errors, or general problems that might occur.
Integrating third-party apps with Slack provides specific functionality to the platform. For example, integrating GitHub and Slack will automatically provide GitHub updates on Slack. There are the options to subscribe to repositories, get details on various activities and properties, and take action right from Slack using slash commands.
Most common is Slack’s integration with Azure Pipelines. This integration provides devs with notification as builds move throughout the development lifecycle. Notifications can be setup for activities such as completed builds, releases, and pending approvals. This helps increase transparency in the workplace by having all necessary parties receive notifications directly on Slack.
Join Slack Groups for Developers
In addition to being used for internal communication and customer support affairs within an organization, Slack can also be used as a community between developers to stay up to date on the latest best practices, news, and events.
Developer Slack Groups
DevOps Chat features highly utilized Slack channels that cover a variety of topics including configuration management, deployment, and Docker. If developers have a question on a topic that cannot be answered internally, these forums serve as a tool to receive answers, best practices, or other ways of looking at a problem.
Kubernetes is a widely used DevOps tool, and they have their own Slack channel! As more companies introduce Kubernetes to their toolchain, more developers are likely to have questions about the tool. The Kubernetes Slack is a great way to receive tips and answers from others in the community.
#DevChat Slack features over 50 different channels to help software developers come together to solve problems and learn from one another. Links, resources, and answers are shared in real-time, meaning questions can be answered quickly. This is a great Slack for developers to join to share ideas with others in the community.
The #Developers Slack is a global community for developers around the world. Channel topics include testing, deploying, debugging, and packages. This is a great channel for developers to converse with people from around the world and learn more about news and best-practices that are out there.
If you are a user of Inedo products, come join Inedo’s Slack channel. For real-time support from our team of engineers, Inedo Slack is a great way to get more involved with the community and learn more about Inedo’s suite of products.
Create Internal Groups for Increased Communication Between Dev & Ops
As DevOps is about increasing communication between Development & Operations, Slack channels can provide an easy central platform for the teams to come together. Slack provides the team with access to the same monitoring, notifications, and metrics.
As discussed above, several third-party applications integrate with Slack. These applications can provide notifications directly to Slack, ensuring that stakeholders on both sides can see the notifications and are able to discuss them together to find a solution with everyone involved.
There are several ways development teams use Slack and third-party integrations to receive notifications in order to increase communication between development and operations.
- Jira Cloud: An integration between Slack and Jira will allow Jira issues to be previewed, discussed, and ticketed right in Slack. A project can be connected to Slack and Jira will automatically send notifications as needed.
- Jenkins CI: Jenkins is one of the most popular and most used tools on the market. An integration between Slack and Jenkins will allow build notifications to be posted directly to a Slack channel.
- PagerDuty: By integrating PagerDuty and Slack, users can instantly get notification incident sent directly to Slack.
To maximize Slack’s ability to help you track issues and approve features in your CI/CD pipelines, download a free trial version of Inedo’s BuildMaster tool.
Customer Support Communications
In addition to being used for internal affairs and communication, Slack can also be used as a tool for customer and community support. With the help of ChatBots and team members, Slack can be a beneficial support system for low-level issues.
Additionally, integration with customer support tools will give companies real-time and unfiltered feedback. This feedback will allow companies to see how end-users are experiencing their products and what troubles they are having. This is extremely valuable for companies because this direct feedback can be taken into consideration with bug fixes, new features, and new products.
In addition, utilizing Slack channels for customer support will help organizations form a better relationship with their users and have a more engaged community around their product.
Slack Facilitates DevOps Communication
As DevOps seeks to increase the communication between teams in the workplace, you need more efficient ways of communicating with your team and your customers. Compared to email, where it’s hard to ensure everyone is on the same page, a communication platform like Slack provides real-time conversation and notifications to multiple teams at once. By integrating with third party applications, Slack can provide notifications throughout the development lifecycle, encouraging members across teams to come together to discuss builds and find any necessary solutions.
Additionally, Slack is a great resource for developers to join a community of like-minded individuals. Numerous Slack groups exist across a variety of topics including specific languages and operating systems, various DevOps tools, and general DevOps support. These groups allow Developers to keep up with latest best practices, news, and events.