We’ve Spent 208,000 Hours in Azure DevOps. Here’s What We Learned
Sometimes, when looking for the right tool for a job, you just have to turn to the experts.
If you wanted to cook a meal you’ve never attempted to make yourself, you might ask an experienced cook for advice. If you planned to renovate your home but you didn’t know the difference between a miter and a chainsaw, you’d probably want to ask a handyman or contractor for help (no, seriously).
And if you were considering implementing Azure DevOps for your software team, but weren’t sure about the benefits, tips, and tricks for getting the most out of Microsoft’s toolstack, well, you might come to us.
Our team has spent a combined 208,000 hours in Azure DevOps. We think you could consider us experts. And that’s why we’re here to offer all our advice — why you should use Azure DevOps, how to use it effectively to get the most benefit, and how it can help you manage DevOps best practices within your teams.
Take it from the experts — we love Azure DevOps so much we built a tool specifically to integrate with it. Read on to see how your team can get the most out of Azure DevOps, too.
Why Go for Azure DevOps?
Azure DevOps has evolved over time.
In its current iteration, it’s the rebranding of Microsoft’s Visual Studio Team Services (VSTS), which is the online version of Team Foundation Server (TFS). Since the beginning, it’s been a source code management tool meant to allow teams to share and work on code collectively.
Today, it’s a powerful tool for teams who use DevOps — collaboration between development and operations teams that uses agile methods to create great programs and launch them quickly.
A quick Google is all it’ll take to find people all over the internet who will tell you why your teams should use Azure DevOps. For the most part, none of them are wrong. We also think you should use Azure DevOps. And after spending 208,000 hours using it ourselves, these are our reasons.
Collaboration Is Built In
Since its early days, collaboration and sharing have been at the heart of Azure DevOps. Azure DevOps provides a central location for storing and managing code, ensuring that everyone on your team has constant access and can work together.
It’s an Open Platform
Azure DevOps integrates seamlessly with a wide variety of industry and community tools. And if there’s a functionality you need that Azure DevOps doesn’t offer out of the box, just check the marketplace — odds are good that there’s an extension available that will give you what you need, even if it requires integration with one of Microsoft’s competitors, like Slack. That freedom of customization is one of the biggest reasons Azure DevOps is such a powerful tool.
Pipeline Organization is Handled for You
Too many teams put too much time and effort into creating and organizing pipelines. Azure DevOps comes with its own clean, customizable hierarchy of organizations, projects, teams, and work items, ensuring smooth pipelines with minimal management on your part. That means your team can focus on what it’s good at: software development.
How to Effectively Use DevOps with Azure
Making the most out of Azure DevOps means effectively using all of its components:
- Pipelines: Azure pipelines are built for continuous integration and continuous deployment, which means they can replace whatever tools your team used for those processes previously. In other words, say goodbye to clunky manual deployment that requires 20 pages of Word docs to get through each new deployment.
- Boards: Azure boards can replace whatever task management solution your team has been using, with a system that’s admittedly more complex than other popular solutions, but is also infinitely customizable. Because of all the customization options, you can even use Azure boards for more than just task management — like bug tracking that’s linked to customer support.
- Artifacts: Azure artifacts make it easy (think, one-click easy) to add fully integrated package management to your CI/CD pipelines. You can create and share Maven, npm, NuGet, and Python package feeds with your team from both public and private sources, and artifacts stay organized and protected by Azure SLA.
- Repos (Git Repositories): Git may require a little bit of a learning curve compared to some of the simpler source control tools many teams use. However, when you’re a new Git user, you can treat it like your old source control platform and put off learning more complex features — like re-basing, merging, and rewriting history — until you need them.
- Monitor: Azure monitor lets you collect and analyze data continuously to maximize performance and availability of applications. It’s one of the tenets of the DevOps philosophy: Application monitoring should be continuous and comprehensive.
- Test Plans: Azure test plans is the component you need to top off your DevOps toolstack. With manual and exploratory testing tools, you can test and ship with complete confidence in your code quality. And automating testing is simple in your Azure pipelines. When we said these tools were seamless and integrated, we really meant it.
How your team makes the most of each of these will be largely individual — different teams operate in different ways. But the benefit is that a mish-mash of different DevOps tools from companies that may be competing with one another generally don’t communicate well with one another.
Plus, this means having one comprehensive solution that’s all based in Azure DevOps, rather than a collection of systems that everyone on the team needs to learn individually. And each Azure DevOps component can replace other tools, giving teams a more seamless, integrated workflow.
How Azure DevOps Can Help Manage DevOps Best Practices
DevOps as a philosophy comes with a number of best practices that encourage collaboration among your team members to deliver high quality programs quickly. Adhering to best practices is a lot easier when you have the right tools, and that’s where we think Azure DevOps really shines.
These are just a few common DevOps best practices that are made a lot easier by Azure DevOps tools.
DevOps Best Practices
- Teams use version control: Azure DevOps offers two types of version control — Git, which is distributed, and Team Foundation Version Control (TFVC), which is a centralized, client-server system. Both allow for easy collaboration on multi-developer projects as all team members can manage changes to files over time.
- All stakeholders are active in the development process: Azure DevOps is built on a foundation of collaboration across teams and organizations. This is one of the principles of DevOps, and Azure DevOps tools make it as easy as possible for team members across your entire organization to work collaboratively on projects, from anywhere.
- Deployment patterns are reusable: When it comes to continuous deployment, Azure pipelines has you covered. Deployment patterns for building application and services can be automated and reused through Azure DevOps, by setting up a release pipeline in Azure DevOps that will deploy packages to given environments depending on what you specify.
- Testing is automated: One of the components that make up Azure DevOps is Azure test plans, which allows for automated testing, manual testing, bug reports, and more. One of the most useful features here is the ability to automate test cases in your test plans and then run them directly from Azure test plans, or from the Test hub in TFS.
- Source code is available for other teams: Azure Repos is a set of tools that makes it easy to manage source code, and whether you choose cloud or on-site storage, code is always accessible across different teams. This is the collaborative spirit the DevOps philosophy was born from.
208,000 Hours Is Only the Beginning
It doesn’t actually take 208,000 hours in Azure DevOps to see the powerful capabilities of these tools. But once you start using them, you’ll likely find that spending hundreds of thousands of hours in Azure DevOps is much easier than you think.