One of the big attractions of DevOps is that it integrates software development practice with cool tools. Tools are great – they can be a lot easier to manage and interact with than humans. This is especially that case when bringing together teams that normally work in different spheres: developers and IT Ops.
But DevOps isn’t about tools, its about culture. It IS about working together, breaking down silo walls, collaborating in a new kind of software development environment.
A recent blog from DevOps support tools maker Atlassian says, “Let’s be straight: no tool will magically make your team DevOps. DevOps champions collaboration and communication between development and operations teams, so it’s more of a cultural shift than a magic recipe.”
-Sarah Zorah, “How to choose the right DevOps tools,” March 31, 2016
“It’s important to understand that great tools don’t make up for lack of great culture when you transform your team to DevOps,” said Brandon Cipes, vice president of DevOps practice at cPrime.
“Tools are a critical component of DevOps and helping your teams work more fluidly together. The right tools allow teams to collaborate transparently, and send out improvements to your software quickly and regularly. But without the foundation of Dev and Ops teams interacting effectively as a team, the tools cannot do the actual work.”
So which tools do I need, and when do I deploy them?
When you start to look at tools, understand that you’ll be looking at a stack that must work together, as well as support your DevOps teams. No single tool is available to fulfill the support job at this point.
Look for tools that support your agile work environment, typical of productive and successful DevOps teams. You’re already iterating software in sprints – your tools should augment the agile efforts.
Team members need to share thoughts and brainstorms – online tools like Atlassian Confluence provide a common online shared space to be creative and share inspiration as teams works.
Automated testing provides instant results about the accuracy or validity of your software builds. One of the first steps you should take is to set up automatic testing, as soon as your DevOps team gets started. Then, from Day 1 your team is aware of errors and what to fix. Testing immediately becomes a valuable routine, so members pay attention to reports, improve the software and fix bugs as soon as possible.
With continuous integration tools, a DevOps team sends code to a common repository, testing it as it is sent. It can reveal issues early in the software development process to be fixed quickly, so they can update the software and release it constantly.
These tools automate sending code to a branch-and-merge workflow, so teams can maintain their speed of work and a high level of quality.
View Releases on a Common Dashboard
A common dashboard for all members of Dev and Ops to see software ready for release can be a huge advantage, and relieve stress. When each member of your team can see the status of a release on a single dashboard that’s integrated with your repository, there’s no need for rounds of meetings, or concern reports flying back and forth. The effort to release software is reduced when all team members have visibility into the release.
Choose Tools that Support DevOps Culture and Productivity
This is just a start – there’s a huge variety of tools that can help you, both in the cultural process of working together as an integrated team, and in the process of releasing great software fast. Look for these critical tools to get started with, and examine the further tools that assist your DevOps endeavors. Test the stacks the tool vendors offer to make sure they help you meet your goals, and are suitable for your collaborative organization.