What Is Azure DevOps And Why Should We Use It?

Introduction

Azure DevOps (in the past known as VSTS) is all that you need to assemble your product from start to finish. Azure DevOps is a single platform that helps every software developer team on this planet design ventures utilizing the Agile process, oversee code utilizing Git, test the application, and deploy code using the CI/CD framework. We can understand in a simple way (Dev+Ops= DevOps), which means a combination of development and operation processes for software development.

Azure Devops

I hope the above image is the best graphical example to understand the complete process of Azure DevOps services.

Online vs On-premises

Azure DevOps can be accessible in two different ways: on-premises ("Server") and online ("Services"). The last structure is called Azure DevOps Services (in the past Visual Studio Online before it was renamed to Visual Studio Team Services in 2015). The cloud service belongs to the Microsoft Azure cloud platform. It utilizes a similar code as the on-premises rendition of Azure DevOps, minor adjustments, and executes the latest highlights. Azure DevOps requires no extra configuration. A user just needs to sign up from their Microsoft account to set up a domain, create a project, adding a new user.

So let me clarify one confusion here, today in this article I am just going to explain about Azure DevOps Service, not the Azure DevOps server.

History of Azure DevOps

As per Wikipedia details, Microsoft launched the first version of the Team Foundation Server on March 17, 2006. So Microsoft provides all types of support for TFS, Azure DevOps Service, and Azure DevOps server. See the below image which is taken from Wikipedia.

DevOps Service

Source: Wikipedia

Azure DevOps Keywords

  • Organization: Azure DevOps organization is basically by default an account name/ Domain name but we can change it as well. Ordinarily, you will have one Azure DevOps account and deal with various domains inside, which means we can create multiple organizations with a single Microsoft account. We can configure access control and security for an individual organization as well.
  • Projects: We can split Azure DevOps organization into multiple projects and can configure access control, pipeline, build process, board, and code for an individual project.
  • Azure Board: The Azure board is basically used for planning, and tracking for Work Items, Backlog, and Sprints. Azure Board is also called an ALM (application life cycle management) tool just like other ALM tools JIRA, SpiraTeam, etc. Inside the Azure board, we can create workflows, issue types, epic, and many other components of ALM.
  • Azure Repos: Azure Repos is a place where we can create, manage, and store versions of our codebase. We can use it for code review and other version control functionality. Azure Repos basically provides us with two types of version control systems now GIT (Distributed version control) and TFVC (centralized version control).
  • Azure Pipeline: Azure pipeline is one of the automation processes of DevOps which allows us to create a build, release, test, and deploy on the target machine. We can say in simple words Azure pipeline is a combination of CI/CD.
  • Azure Artifacts: Azure Artifacts is one of the extensions of Azure DevOps which helps us to create, host, manage, and share packages across the team. Azure Artifacts supports multiple types of packages e.g. NPM, Nuget, Maven, Python, etc. Azure Artifacts are basically a collection/ output of dll, rpm, jar, and many other types of files. One of those extension-based files may contain metadata.
  • Azure Test Plans: Azure test plans support advanced test management solutions for customer feedback, UAT, Automation testing, and manual testing.

What can Azure DevOps do?

  • Planning: As discussed above, the Azure board is an ALM tool. So Azure board helps us to maintain an Agile process which means Azure DevOps helps us to plan, track development history for individual developers, and detect issues using a kanban and scrum.
  • Develop: To manage our workspace and code repository multiple types of version control are already integrated with Azure DevOps. Almost all features related to DevOps are already built inside.
  • Integration/Build: We can use continuous integration and continuous deployment (CI/CD) with the help of the Azure pipeline. There are multiple types of job agents, and templates are already available inside.
  • Package: As we know we have already an inbuilt extension available, Azure Artifacts, so we don't need to go anywhere for any type of package.
  • Testing: As we know Testing is an important part of the DevOps process. So Azure DevOps provides multiple types of inbuilt testing templates and management tools.
  • Release: As we know the software release process is a very critical moment of DevOps. So Azure DevOps has already multiple types of inbuilt features to make the process easy and risk-free.
  • Configure/Operate: As per my experience, it's very easy to configure and operate, because Azure DevOps has a simple process to configure organization, kanban, sprints, etc.
  • Monitor: Each phase of the DevOps life cycle should be monitored because it helps to ensure the health, performance, and reliability of your application.
  • Reporting: Azure DevOps has a dashboard where we can see reports, and a summary and can generate an analytical report with BI integration.
  • Wiki: Azure DevOps Wiki helps us to distribute information, share knowledge, and collaborate across teams and stakeholders. A Wiki can be used to explain the project's user stories, sprints, release notes, etc.

Conclusion

Azure DevOps platform is generally utilized in the Software Development process. Along these lines, this platform helps the association which is as of now utilizing Azure and making the SLA simple. In this article, we have talked about the Introduction to Azure DevOps. In our upcoming articles, we will talk about progressively every topic with details and instructional exercises of Azure DevOps.