DevOps is one of the latest buzz words to come out of IT, but what does it even mean? Well in short, it’s the combination of two previously separated practices that turns out to work much better when combined. Development, or Dev, and Operations, or Ops. What that means in practice is combining the creation of code with the management of the code once it goes live. Merging these two together creates a synergistic cultural philosophy where code changes are made faster and to a higher quality, with more key stakeholders being involved from the very start. This is known as Continuous Integration, Continuous Development (CI/CD).
Implementing a DevOps process into a business isn’t as easy as clicking your fingers; there are a lot of ceremonies and overhead that come with it, which can be a daunting task when facing the prospect of adopting it into your business. This is where Azure DevOps comes in.
Azure DevOps Overview
Azure DevOps is a Software as a Service (SaaS) platform that provides a complete suite of tools to support the entire DevOps process. From planning to code development, to review, deployment, and even testing, Azure DevOps provides a solution to every stage of the Software Development Lifecycle (SDLC).
Not to be mistaken with Azure DevOps Server, which is an on-premises solution, Azure DevOps is cloud-based and brings with it all the benefits that any SaaS solution has, with a few key Azure-specific benefits sprinkled in. As a SaaS platform, Azure DevOps takes away the burden of managing your own infrastructure and offers easy connectivity with many other Azure resources, while also providing extensible and customisable services beyond Azure. But what exactly are those services? And what do they do?
Azure DevOps Services
Azure DevOps is a platform that is built up of five main services, each of which targets a step of the SDLC. Below is a very brief blurb of what each of the main five services do:
1. Azure Boards
Azure Boards supports the Agile methodology by allowing breaking up of work into work items, tracking these work items through Kanban Boards, backlogs or numerous other dashboarding tools to support the planning, defining, and designing phase of the SDLC. I have personally used Azure Boards on multiple projects to support various Agile implementations. It is great at tracking progress of work items and bugs, and gives a holistic view of the project, which helps in spotting blockers early and getting them resolved.

Figure 1. Above is a photo of Azure Boards. It shows a Kanban Board with work items as tickets. (source: https://azure.microsoft.com/en-us/products/devops/boards/)
2. Azure Repos
Azure Repos is a cloud-hosted platform to store and manage source code with Git repositories. These repositories leverage the full power of Git to enable pull requests for code review, commit history for traceability, et cetera.
Azure Repos is a product I have used on almost all of the projects I have been on at Adaptiv. Not only does it offer all of the benefits of any other Git repository, but it has powerful source control tools to manage your code effectively. It also integrates perfectly with Azure Pipelines.

Figure 2. Above is a photo of Azure Repos. It shows an overview of pull requests. (source: https://azure.microsoft.com/en-us/products/devops/repos/#resources)
3. Azure Pipelines
Build, test and deploy your code with CI/CD pipelines. This allows the instant deployment of all kinds of code to all kinds of platforms. It works seamlessly with Azure Repos and Azure Artifacts but can also work with third-party software if need be.
As I mentioned before, I have used Azure Pipelines on almost every project I have worked on, and I find it works best when paired with the other Azure DevOps tools, especially Azure Repos. It makes the implementation of CI/CD seamless, having your code and the means to deploy it all in one place.

Figure 3. Above is a photo of Azure Pipelines. It shows the stages within a pipeline and that stages status and logs. (source: https://azure.microsoft.com/en-us/products/devops/pipelines)
4. Azure Test Plans
Azure Test Plans provide automated testing in Azure DevOps when deploying or merging code. This gives you confidence that any code that is merged with your repository or deployed to your environment will be of high quality.
Azure Test Plans fits in perfectly with the Azure Repos/Azure Pipelines combo. Those two tools already create an incredibly powerful CI/CD platform; Azure Test Plans dovetails off those two perfectly to provide a bird’s eye view of the code quality that is being deployed.

Figure 4. Above is a photo of Azure Test Plans. It shows an overview of the tests performed and their outcomes. (source: https://azure.microsoft.com/en-us/products/devops/test-plans)
5. Azure Artifacts
Azure Artifacts is a platform to host code packages for use in your code or pipelines. Whether they are local packages or upstream packages, Azure Artifacts provides a service to deal with versioning, dependency management, and package feeds.
Azure Artifacts pairs excellently with Azure Repos, as it allows for a centralised place to manage any packages you may be referencing in your code. It also works great with Azure Pipelines, since you can set up scripts in your pipelines to communicate with Azure Artifacts to ensure you always have the correct package version when deploying. This can allow you to get ahead of dependency and security issues, supporting the proactive security approach of DevSecOps (development, security, operations).

Figure 5. Above is a photo of Azure Artifacts. It shows a list of packages, their source and push date. (source: https://azure.microsoft.com/en-us/products/devops/artifacts)
What makes Azure DevOps great?
So now that we know a little bit about DevOps and what Azure DevOps does, what makes it so great compared to other DevOps solutions? To start with, it’s the usual SaaS benefits of being completely managed by Microsoft, which takes all the maintenance overhead burden away from the user. It also allows you to scale your exact requirements and use just what you need. The fact that it is a Microsoft product also allows for unparalleled integration with other Microsoft, and specifically Azure, products. This can lead to incredibly powerful cloud solutions, something which Adaptiv specialises in.
Each of the services offered by Azure DevOps addressed a different stage of the SDLC, which means you have support throughout the span of your development project. Each of these services is also completely open and extensible so you can add or adjust these features to make them just right for your project.
Azure DevOps Challenges
So, I know what you’re thinking, what’s the catch? Well, the biggest is likely complexity. It can be tricky for the uninitiated to set this all up and get everything working, particularly if you already have existing infrastructure or DevOps processes. That said, if you can overcome the complexity of Azure DevOps, it is an incredibly powerful tool that can seismically change the productivity of your team and can be the difference between success and failure of a project. If you have the help of an expert team, then this all but mitigates this issue.
Another catch can be an inherent Microsoft bias, but that is just a bias thankfully. Azure DevOps is fully open and can be integrated with hundreds of third-party systems and software, it just takes a little bit more work and you might miss out on some of the amazing features you would get if you otherwise stayed within the Azure ecosystem.
In Conclusion
Azure DevOps stands as a comprehensive, cloud-based solution that effectively supports the entire Software Development Lifecycle (SDLC). By seamlessly integrating the DevOps philosophy of Continuous Integration and Continuous Development (CI/CD), it helps businesses achieve faster, higher-quality code changes while involving key stakeholders from the very beginning. The platform’s array of services each cater to different stages of the SDLC, providing robust support throughout the development process.
In my own personal experience, I have always thoroughly enjoyed using Azure DevOps. It supports all of the features I require as a developer and is extensible enough that every client I have used it with has used it in their own way. None of the clients I have worked with have found it unable to support what they wished to do, and I found it to be an integral part of the project delivery as a whole.
Despite its complexity, Azure DevOps offers unparalleled integration with other Microsoft products and flexibility in working with third-party systems, making it a powerful tool for any organisation. With expert guidance and proper implementation from Adaptiv consultants, Azure DevOps can significantly enhance team productivity and drive the success of development projects. As such, it is an invaluable asset for businesses looking to adopt a modern DevOps approach and to stay ahead of the competition.