Reader small image

You're reading from  Azure Architecture Explained

Product typeBook
Published inSep 2023
PublisherPackt
ISBN-139781837634811
Edition1st Edition
Right arrow
Authors (2):
David Rendón
David Rendón
author image
David Rendón

David Rendón, Microsoft MVP and Microsoft Certified Trainer, is a highly regarded expert in the Azure cloud platform. With over 15 years of experience as an IT professional, he has been deeply committed to Microsoft technologies, especially Azure, since 2010. With a proven track record of leading and driving strategic success, David has over seven years of management experience, technical leadership, and collaboration skills. David delivers private technical training classes worldwide, covering EMEA, South America, and the US, and he is a frequent speaker at renowned IT events such as Microsoft Ignite, Global Azure, and local user group gatherings in the US, Europe, and Latin America.
Read more about David Rendón

Brett Hargreaves
Brett Hargreaves
author image
Brett Hargreaves

Brett Hargreaves is a principal Azure consultant for Iridium Consulting, who has worked with some of the world's biggest companies, helping them design and build cutting-edge solutions. With a career spanning infrastructure, development, consulting, and architecture, he's been involved in projects covering the entire solution stack using Microsoft technologies. He loves passing on his knowledge to others through books, blogging, and his online training courses.
Read more about Brett Hargreaves

View More author details
Right arrow

Continuous Integration and Deployment in Azure DevOps

In today’s fast-paced world, businesses need to deliver software faster and with better quality to stay ahead of the competition. This is where the practice of DevOps comes in, which combines development and operations to streamline the software delivery process. Azure DevOps is a popular platform that provides end-to-end tools and services to support DevOps practices.

In this chapter, we will delve into the two crucial aspects of DevOps – continuous integration (CI) and continuous delivery (CD) – and see how they can be implemented using Azure DevOps. We will explore the benefits of CI and CD and how they can help teams to automate the building, testing, and deployment process, leading to faster delivery of high-quality software. Whether you are a developer, a DevOps engineer, or a project manager, this chapter will provide you with valuable insights into how Azure DevOps can help you achieve your DevOps...

DevOps transformation – achieving reliable and efficient software development through CI and CD practices

Organizations need to stay ahead of the curve by adopting new practices and technologies. One such approach is DevOps, which emphasizes collaboration between development and operations teams to deliver high-quality software faster. SpringToys, a hypothetical company, has recently embarked on its DevOps transformation journey and wants to ensure the reliability and quality of its software development process to deliver new features to customers quickly and efficiently.

Let’s say SpringToys wants to ensure its systems are stable and allow the release of new features to reach customers more quickly and efficiently.

In this context, SpringToys can consider CI and CD as foundational practices for ensuring the reliability and quality of its software development.

CI and CD are related but different software development practices. CI is a programming approach that...

CI in Azure DevOps using the Classic Editor

In the previous chapter, we configured Azure Repos as the source control for the project in Azure DevOps and also configured a few build pipelines. However, each build pipeline has to be run manually.

In this example, we have four build pipelines, one for each resource: the automation account, SQL database, storage account, and virtual network. Each pipeline has its own build definition, including the Agent job and an artifact, as shown here:

Figure 13.1 – Example Azure pipeline – build pipeline

Figure 13.1 – Example Azure pipeline – build pipeline

Note that in the top menu, there are multiple options such as Tasks, Variables, Triggers, Options, and History. The Triggers section includes the controls to enable CI, as shown here:

Figure 13.2 – Azure pipeline – Triggers section

Figure 13.2 – Azure pipeline – Triggers section

Triggers can be configured in several ways, including the following:

  • CI trigger: Triggered automatically when a code change...

CD in Azure DevOps

Achieving consistent and efficient value delivery has become an essential requirement for organizations. To continuously enhance the experience for SpringToys customers, it is imperative to establish a process of regular and flawless software releases.

CD automates the process of building, testing, configuring, and deploying code from a build environment to a production environment. Multiple testing or staging environments can be established through a release pipeline to automate the infrastructure setup and deploy new builds.

These environments provide opportunities for longer-running integration, load, and user acceptance testing, leading to a more comprehensive evaluation of the code changes.

We created a release pipeline in the previous chapter to deploy the code to the Azure environment. The following figure shows the release pipeline:

Figure 13.7 – SpringToys release pipeline

Figure 13.7 – SpringToys release pipeline

Note the icon in the top-right corner...

CI/CD baseline architecture using Azure Pipelines

Adopting a high-level DevOps workflow that incorporates CI and CD with Azure Pipelines is a game-changer for any organization seeking efficient and reliable application deployment in Azure.

Let’s consider the following workflow in which we will delve into the fundamental architecture of CI/CD by harnessing the powerful capabilities of Azure Pipelines.

Figure 13.19 – CI/CD architecture

Figure 13.19 – CI/CD architecture

First, let’s understand the components of the preceding architecture:

  • Azure Repos: Provides a definitive suite of version control tools essential for efficient code management. Embracing version control from the outset, regardless of project scale, is imperative for optimal software development. Version control systems are indispensable software tools that precisely monitor code modifications throughout the development process.
  • Azure Pipelines: Empowers building, testing, packaging, and...

Building a multistage YAML pipeline

Consider a scenario in which SpringToys wants to deploy its core application leveraging build and release pipelines using YAML. This enables users to access identical pipeline features as those utilizing the visual designer but with the added benefit of a markup file that can be managed like any other source file.

To add YAML build definitions to a project, include the corresponding files in the repository’s root. Azure DevOps further offers default templates for popular project types and a YAML designer, streamlining the task of defining build and release tasks. Organizations can use these robust capabilities to expedite and optimize their development process.

The following practical demonstration will review how to configure a multistage CI/CD pipeline as code with YAML in Azure DevOps.

We will follow these steps:

  • Configure a new project in Azure DevOps
  • Configure a CI/CD pipeline with YAML

Let’s start with...

Summary

Incorporating CI and CD into your software development process can significantly improve your software delivery pipeline’s quality, speed, and efficiency. With Azure Pipelines, organizations can take advantage of a comprehensive and scalable platform that offers a range of tools and features to automate and streamline the software delivery process.

By implementing CI/CD, teams can detect issues early in the development process and quickly resolve them, resulting in fewer bugs and more stable releases.

In contrast, CD automates the release of software modifications to production, freeing up teams’ time and resources to concentrate on creating and delivering new functionality.

In the next chapter, we will share some of the best practices and tips from the field that we have learned along our journey to help you optimize your Azure cloud environment.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Azure Architecture Explained
Published in: Sep 2023Publisher: PacktISBN-13: 9781837634811
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at ₹800/month. Cancel anytime

Authors (2)

author image
David Rendón

David Rendón, Microsoft MVP and Microsoft Certified Trainer, is a highly regarded expert in the Azure cloud platform. With over 15 years of experience as an IT professional, he has been deeply committed to Microsoft technologies, especially Azure, since 2010. With a proven track record of leading and driving strategic success, David has over seven years of management experience, technical leadership, and collaboration skills. David delivers private technical training classes worldwide, covering EMEA, South America, and the US, and he is a frequent speaker at renowned IT events such as Microsoft Ignite, Global Azure, and local user group gatherings in the US, Europe, and Latin America.
Read more about David Rendón

author image
Brett Hargreaves

Brett Hargreaves is a principal Azure consultant for Iridium Consulting, who has worked with some of the world's biggest companies, helping them design and build cutting-edge solutions. With a career spanning infrastructure, development, consulting, and architecture, he's been involved in projects covering the entire solution stack using Microsoft technologies. He loves passing on his knowledge to others through books, blogging, and his online training courses.
Read more about Brett Hargreaves