Preface – This post is part of the SAP on Azure series.
Table of Contents
Microsoft in 2008 came with a cloud computing service and named it Windows Azure which was later known as Microsoft Azure. Till 2018, developers using Azure or non-azure service was provided with a code version control tool called Microsoft TFS, which was later upgraded and called Azure DevOps. Likewise Azure, Azure DevOps too is a cloud-based service used mainly for version control and project planning.
What is Microsoft Azure
Microsoft Azure is a cloud computing service offering that includes Software as a Service (SaaS), Platform as a Service (PaaS) and Infrastructure as a Service (IaaS).
What is Microsoft Azure DevOps
Microsoft Azure DevOps is a planning and collaboration tool inbuilt with version control (both Git and Microsoft TFS). Microsoft DevOps provides the following options:
- Azure Boards: Users can create Kanban boards, interactive backlogs and plan a sprint for developers and testers.
- Azure Repos: With Git and TFS, user can create a Repository, branches and their policies to control the flow of a project.
- Azure Pipelines: Users can build, test and deploy to any cloud or on-premise environment using CI/CD Pipelines.
- Azure Test Plans: Users can manage Quality Assurance with the help of test plans and improve the quality of their project.
- Azure Artifacts: With the help of Azure Artifacts, users can share npm, python and other packages with the entire team.
- Azure Extension Marketplace: From Docker to slack, everything can be integrated with Azure DevOps.
The architecture of Azure DevOps lifecycle
Azure DevOps lifecycle includes almost all the services that we have discussed above. It starts with project planning, and the task is created for developers using Azure Boards. Then the developer starts coding in an IDE with the help of branches created over Azure Repos. Once the development is completed, then the user creates a CI/CD pipeline using Azure Pipelines and deploy it in the required environment. Once the deployment is completed, tasks are created for testers who use Azure Test Plans to execute the tests. These steps are shown in the image below:
The above diagram shows end to end lifecycle of our CICD pipeline, including all other Azure DevOps steps.
Difference between Microsoft Azure DevOps and Microsoft TFS
Microsoft TFS (Team Foundation Server) was introduced by Microsoft to manage high volume codes for big organizations. Later, with the introduction of Git in the market and an increasing number of Git users, Microsoft integrated it too and launched a tool called Azure DevOps. Let’s discuss all the differences between Microsoft Azure DevOps and Microsoft TFS:
|Features||Microsoft Azure DevOps||Microsoft TFS|
|Type||It is a distributed source control system||It is a Centralized Source control system|
|Scaling||It cannot scale to a very large code base, but it is highly distributed between teams||It scales to a very large codebase|
|Version Control||It has repository and branch level version control||It has fine level version control|
|Usage Monitoring||No usage monitoring system||It allows usage monitoring|
|File lock option||No lock files options||It has the ability to lock files exclusively|
|Code bases||It is mainly used for modular codebases||It is mainly used for Large Integrated codebases|
|Offline Experience and Speed||It has full offline experience and speed||It needs always to be online|
|CI/CD Support||It supports continuous integration and continuous delivery of codes||No CI/CD option|