Points One Should Know About Azure DevOps

If you're confused about Azure DevOps, this article will give you some clarity

Most of us have heard about Azure DevOps but wonder whether to go for it or not. The reason behind this may be that your solutions are using technologies like Java, Angular or any open source technologies, or in other words, non-Microsoft technologies. So, if you have doubts about choosing between Azure, GCP or AWS, there is no need to get confused with the “Azure” term in Azure DevOps, because Azure DevOps is fully functional and capable of handling your project's requirements. 
 

What is Azure DevOps?

 
Azure DevOps provides services to support teams to plan work, share/collaborate on code and to build and deploy the applications. It comes in two different flavors – cloud-based services and on-premises based servers. One major thing is to understand that we now have two segments/sections in Azure DevOps,
  1. Azure DevOps Services, and
  2. Azure DevOps Servers
So what we have used as TFS – Team Foundation Servers --  is now known as Azure DevOps Servers, it is used for on-premises and what we have used and known as VSTS – Visual Studio Team Services is now Azure DevOps Services – this is nothing but the cloud for the same, where we can leverage the cloud services fully in Azure DevOps.
 
Points One Should Know About Azure DevOps
 

Azure DevOps doesn’t need Azure Subscription

 
Since Azure being part of Azure DevOps, we often get confused whether we need an Azure Subscription or not, I would say that depends on your requirements. Because if you want to deploy your application on Azure, yes, you would need an Azure Subscription but Azure DevOps’ functionality can be leveraged without having an Azure subscription. So, in simple words – you don’t need to have an Azure subscription for getting/managing your projects with full capability with Azure DevOps. The reason for this is Azure DevOps provide you solutions for managing your project on-premises as well.
 

Language Barriers when working with Azure DevOps

 
It gets very confusing sometimes for a non-Microsoft developer/teams, whether to go with Azure DevOps or not because of the term Azure. Sometimes, we simply assume that it is native for the Microsoft technology stack only. But the simple answer is no, there are no language or platform barriers for using/deploying/managing your (open source) project with Azure DevOps.
 
As Jamie Cool from Azure DevOps has already mentioned,
 
“Any language, any platform, any cloud”.
 
You just need to understand and leverage Azure DevOps’ in its full capabilities.
 

Azure DevOps works with AWS or GCP

 
It is a fair point to think whether Azure DevOps will work with AWS or GCP, so the answer to this is yes it will work with AWS or GCP as mentioned above – any language, any platform, any cloud.
 
But if you are on Azure, it will be fair to say that as a user you will get the complete and best user experience of Azure DevOps.
 
Not these clouds only, if you are using any other cloud for hosting services, you will be able to utilize Azure DevOps in your projects.
 

Pricing/Cost of Azure DevOps

 
The details for pricing is available here.
 
As you can check in the link that Azure DevOps is free for  a team size of up to 5, so if you have a small team, you can go for Azure DevOps. You can start with trying and leveraging its capabilities for free and as and when your team grows you can choose to pay for the services you need.
 
When using Self-Hosting in the Cloud, there are no additional charges in Team Foundation Server for running builds, this is included in the server license TFS 2017 and 2018 also includes one free concurrent job plus an additional job for each VS subscribers in the team. If you do wish to have more capacity, you can pay per parallel job.
 

Options available for Azure DevOps Deployment

 
While working with DevOps using Azure, one has a lot of flexibility with deploying their solutions – we get three options – On-Premises Deployment, Self-Hosted in the Cloud and through a hosted Service in Azure. There are multiple agents used for the Deployment in each of the categories.
 
Azure DevOps Server was previously known as Visual Studio Team Foundation Server. The simplest wat to set up Azure DevOps is to place everything on a single server.
 
For self-hosting in the cloud, if you want to build and deploy Windows, Azure or other Visual Studio solution, you would need to have a Windows Agent, and these agents can also build your Java and Android apps. Basically, Self-Hosted CI/CD are for the customers who execute/run their own build/release servers. If you do not wish to run your own server, you can use Microsoft provided CI/CD.
 
You can start for free by downloading Azure DevOps Server. You can make use of the features like using the source control for uploading/sharing the code and keeping track of the progress via Scrum/Kanban boards, to perform build and release which are the part of DevOps CI/CD you can use Azure Pipelines.
 

Selection and choices from a very extensive set of tools when working with Azure DevOps

 
There is an extensive set of features provided in Azure DevOps from which you can probably use all or choose just what you need for your existing project’s workflow. Microsoft has provided the following features under its DevOps umbrella:
 
Azure Repos
 
Of course, TFS support is also there, along with this you are getting cloud-hosted private GIT repos and you can collaborate/share it with your team.
 
Azure Boards 
 
Boards like Scrum/Kanban are provided to fully leverage the Agile concepts in your projects and for keeping track of the progress.
 
Azure Pipeline 
 
A complete CI/CD pipeline, to build test and deploy any language, any platform, and any cloud.
 
Azure Test Plans 
 
You can create Test Plans and share it with your team.
 
Azure Artifacts 
 
You can create/share packages with your team, like Maven/NuGet.
 
Since a lot of organizations have also put their resources on some other DevOps tools, Microsoft has also provided support for the tools like,
  • Jenkins
  • Chef
  • Terraform
  • Ansible (Windows & Linux)
  • VSTS
There are many things to ponder with Azure DevOps, you just have to explore it hands-on to see what it can do for you.
 
Hoping that you learned something new from this read. Happy Learning!