This is the third in a series of blog posts about DevOps. We started the series talking about the organizational mindset to achieve zero-defects code, then spent some time talking about how IT teams may need to evolve to create the right organizational culture for DevOps success.
In this post, we start to delve into DevOps toolsets, specifically Microsoft Azure DevOps Services.
It has been said that tools don’t make the mechanic, but that the right tools in the right hands can make everyday jobs far more efficient. I say that as an introduction to this article about DevOps toolsets. Tools (or one person) will not automatically transform an IT department into a DevOps shop, but a department that has adopted the culture and organization to follow DevOps practices WILL benefit from a suite of DevOps tools as they mature.
Just some of the benefits of a DevOps toolset include the standardization and automation of development processes, improved collaboration within and among the teams, consolidated code repositories, work-item tracking, automated testing, and release pipelines.
Read our Whitepaper: Design for Scale Using Microsoft Azure Services
Microsoft’s Azure DevOps Services is probably the most comprehensive toolset out there. While it is broad in its scope, pay-as-you-go licensing allows organizations to choose the components that they need now and to add additional components as they mature and grow.
Let’s look at a few Azure DevOps’ components:
As releases get smaller and increase in frequency, it gets harder to collect and track work items. Azure Boards combine flexible work item tracking with drag-and-drop sprint planning. Your team will be more productive with Boards, Backlogs, and Sprints all kept together. What’s better, Azure Boards can be connected to your GitHub repository to link comments and PRs to work items.
Kanban, Scrum, Agile, Lean? Azure Boards works with any number of project management methods and is easily adapted to the needs of your team.
Azure Pipelines automates builds and deployments, regardless of language or platform. What’s more, you can run parallel pipelines for Linux, macOS, and Windows. As you’d expect, Pipelines completely integrate with your Git repositories.
You can also ensure continuous delivery (CD) of your product to the cloud environment of your choice. Azure, of course, along with Amazon Web Services and Google Cloud Platform.
Microsoft uses Pipelines themselves at the .NET Foundation. Before Pipelines, their engineering team was dealing with dozens of different git repositories, a broad range of tools, and several different continuous integration (CI) systems, creating confusion and inhibiting productivity. Just one of their components runs more than 600,000 automated tests for each pull request. With more than 50 pull requests per week, each with multiple iterations, the number of tests was in the billions.
The .NET Engineering Services team brought in AzureDevOps and Pipelines to bring all repos under a common directory structure, set of commands, and build-and-test logic. The team eliminated further barriers to productivity by moving all existing workflows from the different CI systems into a single system.
With support for everything from a ‘hobby’ project to the largest codebase in the world, Azure Repositories offers unlimited & private Git hosting as well as support for Team Foundation Version Control (TFVC). What’s more, Azure Repositories allows you to set up continuous integration & continuous delivery (CI/CD) to automatically trigger builds, tests, and deployments with every completed pull request whether using Azure Pipelines or your own tools.
Azure Repositories also protect your codebase and your quality metrics with completely customizable branch policies. You can keep code quality high by requiring code reviewer signoff, successful builds, and passing tests before pull requests can be merged.
An added bonus is that Azure Repositories features a code-aware semantic search tool that understands classes and variables, making it easier to find what you’re looking for.
Azure Test Plans
There are manual test plans and automated test tools, but Azure Test Plans bring them together.
Manual test plans can be created, executed, and tracked with actionable defects and end-to-end traceability. Assess quality throughout the development lifecycle by testing your desktop or web applications.
Exploratory test sessions allow the design and execution of tests simultaneously to maximize quality in modern software development processes.
As noted above, automated testing is a major component of Azure Pipelines.
When you’re ready to release, Azure Artifacts adds fully integrated package management to your CI/CD pipelines with a single click. Create and share Maven, npm, NuGet, and Python package feeds from public and private sources with teams of any size.
Because the packages are pre-built, they are easily shared & managed, and can easily be added to Azure Pipelines for testing and release.
Integration Reduces Risk
Because Azure DevOps is flexible enough to integrate with your existing tools and processes while offering all of the tools you need for DevOps success, it ultimately reduces the risk of migration to DevOps. Integration with Microsoft Power BI allows managers to track metrics across the development organization to ensure that their migration to DevOps is on track and to quickly identify and correct where there might be weaknesses.
Click here to learn more about the metrics that you should be tracking to measure the succes of your DevOps organization.
Better Operations Equals Better Business
While DevOps certainly offers many benefits to IT teams, the gains go well outside of that silo.
Faster development cycles allow businesses to push out new features faster, allowing them to be more agile in responding to their competition and to new requests from customers. Furthermore, a tightly integrated CI/CD platform means less downtime – and less downtime equals more revenue!
Partner With a Certified Azure DevOps Leader
Vertex has thirteen engineers certified at Microsoft’s highest level in Azure DevOps. Look to the DevOps experts at Vertex to guide your way to the efficiencies of DevOps and to help you choose the right tools to create repeatable, clean releases. We Got IT.