Most of us have heard about Azure DevOps, but wonder whether to go for it or not, may be because your solutions are using technologies like Java, Angular or any open source technologies, in other words non-Microsoft technologies. So, if you have doubts whether to choose for your DevOps function between Azure, GCP or AWS, there is no need to get confused with “Azure” term in Azure DevOps, because Azure DevOps is fully functional and capable of handling your projects requirement.
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 flavours – a cloud-based services and a on-premises based servers. One major thing is to understand that we now have two segments/sections in Azure DevOps –
- Azure DevOps Services, and
- 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.
Azure DevOps doesn’t need Azure Subscription
Since Azure being part of Azure DevOps, we often get confused whether we need 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. Sometime we simply assume that it is native for 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 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 team size (till) 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 Cloud, there is 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 a free with 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 a lot many things to ponder upon with Azure DevOps, you just have to explore it hands-on to see what it can do for you.
Hoping that you’d learn something new from this read. Happy Learning!