Azure Devops A Beginners Guide
Azure Devops A Beginners Guide
DevOps has paved the way for faster and more agile software development processes by unifying
teams, processes, and technologies to create an ever-evolving software development lifecycle
(SDLC). This has led to more robust and efficient SDLCs, now capable of handling any user request,
market demand, or technological issue.
A range of tools is available in the market to facilitate DevOps, such as CI/CD tools, version control
systems, artifact repositories, IaC tools, and monitoring tools. With the increased demand for cloud-
based technologies, DevOps tools have also transitioned to cloud offerings. These cloud offerings
can be used by teams spread across the world with nearly unlimited scalability and efficiency.
In this article, we will explore such a cloud-based DevOps service offered by Microsoft called Azure
DevOps.
(Explore our DevOps Guide, a series of articles & tutorials.)
What is Azure DevOps?
Azure DevOps is a service offered by Microsoft based on the Azure cloud computing platform that
provides a complete set of tools to manage software development projects. It consists of:
1. Azure Boards
2. Azure Pipeline
3. Azure Repos
4. Azure Test Plans
5. Azure Artifacts
The Azure DevOps Server, previously known as the Team Foundation Server (TFS), is a DevOps
server solution that is targeted for on-premise deployments. It consists of all the tools available in
the cloud-based Azure DevOps service to power any DevOps pipeline.
This also server offers a free variant called Azure DevOps Server Express, aimed at individual
developers and small teams of up to five team members. Itcan be installed in any environment.
Azure guarantees 99.9% availability for all the paid DevOps services including paid user-based
extensions. Moreover, it provides 99.9% availability to execute load testing and build and deploy
operations in paid Azure Test Plans (Load Testing Service) and Azure Pipelines.
In addition to the
above, there are special pricing options for open-source projects and Visual Studio subscribers to
get free access to the Azure DevOps services depending on the subscription level.
(Visit the Azure DevOps pricing page for details & up-to-date pricing.)
Azure DevOps: Registration
Registering for Azure DevOps is a simple and straightforward process that requires only a Microsoft
account. Simply visit this page and click on “Start for free.”
When registering, you will need to provide some additional information such as organization name,
project name, version control type (repo), etc.
Organization refers to the Azure DevOps account name. The organization can contain multiple
projects.
Projects allow users to separate projects, control access, and split the code, tests, and
pipelines to keep them within the assigned projects. A project can be either public or private,
with Git or Team Foundation server as the version controlling system. Additionally, projects can
be configured with a work item process like Agile or Scrum that will be used in Azure Boards to
manage the project.
Once the registration is complete, you will gain a dedicated organization URL in the following
notation:
https://<organization name>.visualstudio.com
Users can manage all their projects and use the DevOps services by visiting this URL.
Azure Repos
The Azure Repos are code repositories that enable users to manage their codebases. These are
private and cloud-based repositories that support both Git and TFVC version control systems.
Azure Repos can
support projects of any scale, from individual hobby projects to enterprise developments. They also
consist of the following features:
Platform-agnostic services like Azure allows repo users to use any IDE or tool they are familiar with
to interact with the Azure Repos in any operating system.
Azure Pipelines
Pipelines are the CI/CD tool that facilitates automated building, testing, and deployment. Azure
Pipelines supports any programming language or platform which enables users to create pipelines
that support Windows, Linux, and macOS using cloud-hosted agents.
These pipelines
are easily extensible through the extensions available in the marketplace. Besides, they support
advanced workflows that can be used to facilitate:
Multi-phase builds
Test integrations
Custom reporting functions
On top of that, Azure Pipelines provide native container support, enabling them to push containers to
container registries from the pipeline directly. The pipelines offer flexibility to deploy to multiple
environments from Kubernetes clusters to serverless functions and even deploy to other cloud
providers such as AWS or GCP.
Azure Test Plans allow users to create test plans and execute test cases within a pipeline. This can
be combined with Azure Boards to create a test that can be executed from the Kanban boards and
plan and author tests collaboratively.
Test Plans support creating UAT plans for user acceptance testing and assign users from the
DevOps platforms. It also supports the Test and Feedback browser extension to easily enable
exploratory testing for interested parties without utilizing third-party tools. Furthermore, Test Plans
enable users to test on any platform while having end-to-end traceability and powerful data
gathering tools to diagnose any remedy identified issues.
It is the only service in Azure DevOps with no free tier due to its rich toolset that is only accessible for
commercial users.
Azure Artifacts
This is the artifact library service by Azure DevOps that can be used to create, store, and share
packages (development artifacts). Azure Artifacts enable users to integrate fully featured package
management functionality to CI/CD pipelines.
Moreover, Azure Artifacts enable users to manage all package types like npm, Maven, etc., and keep
them organized in a central library scoped only to the specific project.
1. Cater to any DevOps need regardless of the programming language, technology, or the
targeted platform.
2. Deploy anywhere from containers to third-party clouds.
Azure DevOps facilitates all these with unparalleled scalability and availability without the hassle of
maintaining specific software to carry out separate DevOps tasks.
Related reading
BMC DevOps Blog
AWS vs Azure vs GCP: Comparing The Big 3 Cloud Platforms
GitHub, GitLab, Bitbucket & Azure DevOps: What’s The Difference?
Azure Compliance: 3 Keys for Getting Started
Azure Certifications: An Introduction
SRE vs DevOps: What’s The Difference?