Let me introduce myself – I’m Azure DevOps
What is an Azure DevOps
Azure DevOps is Microsoft’s Software as a Service (SaaS) platform which provides each team member with a possibility to implement DevOps procedures in each of the application lifecycle phases – plan, develop, deliver and operate.
Azure DevOps is integrated with most of the leading tools and therefore a great option for orchestrating a DevOps toolchain.
What can it do?
It offers you a range of services. Each of them covers a specific lifecycle phase for the application.
Azure Boards provides you with agile planning, tracking of created Epics, Features and Backlog items. It is a great visualization of the project which also provides reporting possibilities. Azure Boards is interconnected with other Azure DevOps services, and you can:
- Create a new branch directly from the backlog item while working on it
- Create inline tests within backlog item
It is not just a plain Kanban board, but a much more complex solution, which can provide you a lot once you deep dive in it. It has built-in scrum boards and planning tools that are there to help your teams run sprints and all kinds of meetings.
As part of the open solution, which Azure DevOps is, you can even connect Azure Boards with GitHub and link your commits and PRs to work items. It has fully customizable dashboards, that you may tailor by your need. Configure the layout so it makes sense to you and your team. Monitor the progress of each part of your project lifecycle. You can start with some out-of-the-box workflows and then proceed with editing.
Meet an unlimited, cloud-hosted private Git repository. It gives you the possibility to host and manage code centrally, which is key to optimization. No matter if you store just PowerShell scripts or more powerful ARM templates or complete code of your product, storing that code in Azure DevOps repository will provide your team with a central location from which it can be managed. Versioning is very important today – Azure Repos covers you.
It has an integrated code-aware search, online edit for quick changes. It offers quick clone in VS Code, protection by managing SSH Keys, etc. Collaboration within the team during code reviews and pull requests are great – mention team members, connect Story directly and finally make a solution for comments or conflicts. You can connect Repos with your pipelines to automatically trigger build, tests and deployments upon each completed pull request.
With branch policies you can protect your code – require code reviewer signoff, so no code can be merged by mistake.
Azure Pipelines is a service that lets you use a combination of continuous integration and continuous delivery (CI/CD). By using Azure Pipelines, you will be able to:
- Use it to build, test and deploy an application
- Work with programming languages like Python, Node.js, Java, PHP, .NET, C/C++
- Use it to implement delivery of your software to any cloud
- Use stages, gates, and approvals to create a deployment strategy that you prefer
- Incorporate Infrastructure-as-Code (IaC)
All this can help, not just your Dev teams in deploying applications, but also your Ops teams who can use it to deploy complete infrastructure through code. This way you will gain the possibility to automate the infrastructure deployment in a repeatable, consistent manner.
Azure Test Plans
Provides an integrated testing solution, that you can use to test your code manually or exploratorily, or even perform unit and functional testing. With all this, it provides you with a chance to improve your code. Tests can capture a lot of different data during execution which you may then use to discover defects. You can also execute tests across desktop or web apps.
Azure Artifacts provides integrated package management, that stores all your artefacts that were produced while developing and deploying. You can use multiple feeds (containers for packages) in order to organize and control access to your packages. Packages that you can create are like Maven, npm, NuGet and Python. They are easily accessible in your builds and pipelines – natively integrated with Azure Pipelines. You may also use them with your favourite tools and services (like Jenkins, GitHub, TeamCity etc.)
Why Azure DevOps?
It is a flexible solution. With extensions (accessible via Marketplace) you can continue to use your existing tools. For example, if you are not into ARM templates, you can continue using tools like Ansible, Terraform etc. Azure DevOps is designed to work with any platform – Windows, Linux and macOS. It is a multi-cloud solution – continuous delivery is supported to AWS, GCP and of course Azure. It is constantly updated with new features and possibilities, which is one of the aspects of this reliable solution. As a SaaS, it offers 99.9% uptime with 24×7 support, and don’t have to worry about upgrading your CI/CD toolchain.
If you are hosting your infrastructure and solutions in Azure, go with Azure DevOps. It is fully integrated with the Azure platform – you can use ARM templates and Blueprints directly from Azure Repos, connect to all resources (use of deployment groups in Pipelines), completely control your IaC. It will easily become one centralized tool for all your teams. If you are used to be informed about the progress of your CI/CD, by using Service hooks you can connect your Project with Services like Slack, Trello, Microsoft Teams or with monitoring solutions like Datadog, Grafana etc.
It must be expensive!
Not at all. You can start using Azure DevOps right now absolutely free.
- Azure Pipelines offer you 1 free Microsoft-hosted CI/CD and 1 free Self-hosted CI/CD
- Azure Artifacts are giving 2GB of space for free
- Azure Repos offers unlimited private Git Repos
- With the Basic plan, you get first 5 users totally free
The only thing that is NOT included in a free Basic plan is Azure Test Plans. For this service, you need to spend 44eur per user per month.
Are you still thinking if it is for you and your team? Don’t! Try it, test and play. It’s easy – visit Microsoft Azure and “Start for free”. You will love it!
About the author – Milos Katinski
Milos Katinski is an Azure Solutions Engineer with years of experience in the IT industry, currently focused on Azure Cloud and DevOps culture. Within years of exploring and working in various aspects of Azure, Milos has gained hands-on know-how, which he is further upgrading working as a Cloud Solution Engineer on different projects in Cognizant. Milos is an active blogger and a member of the Azure community with a mission to share his knowledge and further evolve in Azure excellence.