In this article we will discuss on Azure DevOps. We will try to cover what it is? It’s advantages & disadvantages. Whether we should learn it or not? How is it going to help us? Etc.
What is Azure DevOps?
Azure DevOps is an offering from Microsoft which provides a single place for all the DevOps tools for development and deployment of application. It provides end-to-end DevOps tools in single place. In other words, it is Software as a Service (SaaS) offering from Microsoft.
What are the services provided in Azure DevOps?
Azure DevOps provide below services –
- Azure Boards – it is used for tracking the tasks, sprint planning, visualizing improvements etc. This is like Jira software where we do agile planning, ticket tracking etc.
- Azure Pipelines – it is used for creating pipelines. For example, CI/CD pipeline, pipeline for automated software installation, pipeline for infra deployment etc.
- Azure Repos – it is used for storing source code repository. Basically, it is a cloud based git repository.
- Azure Test Plans – it is used for testing your application. It provides various test plan as well as detailed explanation of any failed test case.
- Azure Artifacts – it is used for storing artifacts. For example, we can store the build artifacts.
Advantages of Azure DevOps
Below are the advantages we can get from Azure DevOps –
- It provides all the DevOps tools in single place. For example, as DevOps engineer you might be using GitHub, Jenkins, JFrog artifactory. But in Azure DevOps you will get all these 3 components by Azure repo, Azure pipelines, Azure artifacts respectively.
- No need of installing any software. Taking the previous example, if you are using Jenkins as a pipeline tool then you need to install Jenkins, configure Jenkins etc. But if you are using Azure DevOps then you can directly use “Azure Pipelines”. That’s the benefit of using SaaS.
- Integration between the various tool is comparably easier.
- Compatibility between the tools is always maintained.
- Since all the tools are in same place and integration is easier, it saves time.
- Azure DevOps supports integration of popular open source DevOps tools with it.
- Azure DevOps supports almost all programming language.
- It is also cloud-agnostic, that is we can deploy our application on cloud platform like AWS, GCP etc. using Azure DevOps.
- Brand of Microsoft. If you are someone who trust Microsoft a lot for its products & services, then Azure DevOps might be a good choice.
Disadvantages of Azure DevOps
Though there are no disadvantages, But below are few points we might consider –
- The User Interface might take some time to get used to it when you are newcomer.
- You need to be good at YAML syntax.
- For small project it is free, but when your team size is larger you need to pay for it.
How Azure DevOps will help you in DevOps journey?
Below are the few points on this –
- If you feel comfortable with all the tools in the same place then Azure DevOps will be good choice for you.
- You will have support from Microsoft if you face any issue. For this you will need to open support ticket to Microsoft.
- If you are deploying application in Azure cloud then Azure DevOps would be a great choice, since integration, compatibility, security etc. will be great.
- No need to allocate effort/labor and time to install & configure any software as we do for open source tool like Jenkins etc.
- Azure DevOps is very flexible, even if you have ARM (Azure Resource Manager) template for infrastructure automation still you can provision infrastructure using third party tool like terraform, Ansible etc. So, no need to worry if currently you are using various open source tool, you can easily integrate them with Azure DevOps and you can make your DevOps journey much more effective.
Azure DevOps service & corresponding third party tools
There are many third party tool, but we will take mostly used one.
Below table explains where we can fit Azure DevOps –
Azure DevOps service
Third party tool
|Azure Artifacts||JFrog artifactory, Nexus|
Should I/we start learning/using Azure DevOps?
This is the final question which comes to our mind, whether I/we should learn Azure DevOps? The answer is it depends.
- If you are someone who loves to leverage the power of open source tool, then it’s your call.
- But if you think that you need to focus on your actual task, productivity, fasten your software delivery instead of wasting time in installing & configuring various third party software, then I think you should learn Azure DevOps.
- If we look at the IT market trend and job description of the DevOps engineer in the IT service based companies, then we could see there is a good number of requirements of skilled Azure DevOps engineer. That suggest as an individual we should start learning Azure DevOps, and hopefully you will be able to land a good job.
If you are interested in learning DevOps, please have a look at the below articles, which will help you greatly.
- Introduction to Ansible | High Level Understanding of Ansible
- Basics of automation using Ansible | Automate any task
- Automation of Java installation – using Ansible
- Automation of JBoss EAP installation – using ansible
- Jenkins Pipeline as code – High level information
- Jenkins pipeline script to build Java application and push artifacts into repository
- Jenkins pipeline script to build & deploy application on web server
- What is End-to-End Monitoring of any web application, and Why do we need it?
- How To Be A Good DevOps Engineer?
- How to do git push, git pull, git add, git commit etc. with Bitbucket