Implemented well, automation can be a powerful tool for accelerating and scaling DevOps processes to keep your team building and shipping code quickly. But knowing what and how to automate DevOps workflows can be challenging; every organization’s DevOps practices are unique, and there’s no one “right” way to approach automation. Let’s look at a few tips for approaching DevOps workflow automation to help your team move faster.
Simple workflows are easier to automate (and maintain) than complex ones
It’s easy to jump straight into the big-picture automation goals your team might have. After all, a fully automated pipeline release process or hands-free QA testing process sounds pretty great! But complex workflows are challenging to automate, and even harder to maintain. If you’re overly ambitious with automating complex workflows, you may be loading your team up with toil in the long run.
Focus on automating simple workflows — or break down complex ones into their simpler components — and build from there. You’ll be surprised at how much impact just a few effectively automated workflows will have on your team.
Find automation opportunities by tracking workflows and processes
Knowing which workflows are worth automating can be daunting — that’s why identifying your team’s biggest friction points is the best way to get started with automating DevOps workflows. One of the best ways to find out where your team could use an automation boost is by auditing where they spend their time.
Ask your team about their day-to-day workflows, and pay close attention to where manual tasks are slowing them down. Documenting repeated workflows – such as your incident response plan or your release management checklist — can be another good way to spot places that can be taken off your team’s plate with automation.
Automation can help improve DevOps communication and knowledge sharing
DevOps is more than just the tools your team uses — it encompasses cultural practices and philosophies, and is often very collaborative. As a result, knowledge sharing is an important part of building robust DevOps practices. But facilitating that knowledge sharing can be tricky. DevOps analyst Chris Tozzi dug into why information sharing can be so challenging in his post on building knowledge into your DevOps practices:
[D]ocumentation databases are not a holistic solution for building knowledge into your overall DevOps practice. They’re not designed to record social or cultural information and lack collaborative elements. They are also not particularly easy to search through, especially if you’re looking for information about a broad topic (like which workloads to prioritize) rather than how to configure or work with a specific tool.
Collaboration platforms that help capture and centralize information that your team needs for DevOps, and the right tools can help grease the wheels of collaboration even further. Collaboration platforms do a great job of centralizing conversations, files, and system notifications that let your team quickly search for and discover the information they need. Automating notifications when your team ships a new version, or auto-populating a channel with key stakeholders to resolve an incident, can reduce the mental load and toil for your team while improving information discoverability.
Robustly integrated systems make automating DevOps workflows easier
DevOps workflows often span multiple tools, all of which are important parts of your team’s processes. But keeping the information in those tools in sync can create a lot of additional work for your team over time, making strong integration between the tools in your stack all the more important.
Open source productivity tools are especially well-suited for building deeper integrations and custom automation since they are flexible and extensible enough to adapt to your workflows. Their transparency lends naturally to collaboration and detailed customization. In short: use it as-is, or flip it on its head. The solution is yours to create.
ChatOps bots can bring automated workflows to more members of your team
ChatOps supercharges your messaging platform for DevOps workflows, bringing information into your team’s channels more easily. ChatOps bots provide a more accessible interface for common workflows that can help users take advantage of automation more easily.
For example, the LAIKA team built a chatbot that listens for common commands in their team’s Mattermost channels, and prompts the team to use automation to accomplish a range of tasks faster. For example, a Wolfram Alpha extension enables the bot to parse user questions through the knowledge engine and try to find the best answer. Users can even ask the bot what to have for lunch.
Explore DevOps workflow automation with Mattermost
There are many ways to kick off your DevOps automation journey, but one of the best ways is to start experimenting! Want to try your hand at automating DevOps workflows? Spin up a free Mattermost server and start experimenting with integrations, bots, and automatable playbooks today.