Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Azure DevOps Explained

You're reading from  Azure DevOps Explained

Product type Book
Published in Dec 2020
Publisher Packt
ISBN-13 9781800563513
Pages 438 pages
Edition 1st Edition
Languages
Concepts
Authors (3):
Sjoukje Zaal Sjoukje Zaal
Profile icon Sjoukje Zaal
Stefano Demiliani Stefano Demiliani
Profile icon Stefano Demiliani
Amit Malik Amit Malik
Profile icon Amit Malik
View More author details

Table of Contents (17) Chapters

Preface 1. Section 1: DevOps Principles and Azure DevOps Project Management
2. Chapter 1: Azure DevOps Overview 3. Chapter 2: Managing Projects with Azure DevOps Boards 4. Section 2: Source Code and Builds
5. Chapter 3: Source Control Management with Azure DevOps 6. Chapter 4: Understanding Azure DevOps Pipelines 7. Chapter 5: Running Quality Tests in a Build Pipeline 8. Chapter 6: Hosting Your Own Azure Pipeline Agent 9. Section 3: Artifacts and Deployments
10. Chapter 7: Using Artifacts with Azure DevOps 11. Chapter 8: Deploying Applications with Azure DevOps 12. Section 4: Advanced Features of Azure DevOps
13. Chapter 9: Integrating Azure DevOps with GitHub 14. Chapter 10: Using Test Plans with Azure DevOps 15. Chapter 11: Real-World CI/CD Scenarios with Azure DevOps 16. Other Books You May Enjoy

Chapter 1: Azure DevOps Overview

This chapter introduces the first topics of this book: DevOps principles and Azure DevOps project management. In this chapter, we are going start by introducing DevOps and provide an overview of the different DevOps principles. Then, we are going to cover the key concepts of Azure DevOps and the different services that Azure DevOps offers. Finally, we are going to introduce the scenario that we will be using throughout this book.

The following topics will be covered in this chapter:

  • Introducing DevOps
  • Understanding DevOps principles
  • Introducing Azure DevOps key concepts
  • Discovering Azure DevOps services
  • Introducing the scenarios

Let's get started!

Introducing DevOps

For a long time, development and operations had been divided into isolated modules with both separate concerns and responsibilities. Developers wrote the code and made sure that it worked on their development systems, while the system administrators were responsible for the actual deployment and integration in the organization's IT infrastructure.

As there was limited communication between these two isolated modules, both teams worked mostly separated on their projects. However, they heavily depended on each other because there was no cross-platform knowledge across the different teams.

This fitted in nicely with the Waterfall Methodology that was used for most projects. The Waterfall Methodology is based on the Software Development Life Cycle (SDLC), which has clearly defined processes for creating software. The Waterfall Methodology is a breakdown of project deliverables into linear sequential phases, where each phase depends on the deliverables of the...

Understanding DevOps principles

There are a lot of different definitions when it comes to DevOps. Most of them are good at explaining the different aspects of finding the right flow in delivering software and IT projects. In the upcoming sections, we will highlight six DevOps principles that we think are essential when adopting a DevOps way of working.

Principle 1 – Customer-centric action

Nowadays, it is important that software development projects have short cycles and feedback loops, with end users and real customers integrated into the team. To fully meet the customers' requirements, all activity around building software and products must involve these clients. DevOps teams and organizations must continuously invest in products and services that will allow clients to receive the maximum outcome, while also being as lean as possible to continuously innovate and change the chosen strategy when it is no longer working.

Principle 2 – Create with the end...

Introducing Azure DevOps key concepts

Azure DevOps provides a wide variety of services for DevOps teams so that they can plan, work, collaborate on code development, and build and deploy software and services. Most DevOps teams rely on several tools and build custom toolchains for each phase in the application life cycle.

The following diagram shows the phases that are defined in the application life cycle:

Figure 1.3 – Application life cycle phases

In the following sections, we'll explain these phases and the corresponding Microsoft tooling and products in more detail.

Plan

During the planning phase, teams can use Kanban boards and backlogs to define, track, and lay out the work that needs to be done in Azure Boards. They can also use GitHub for this. In GitHub, an issue can be created by suggesting a new idea or stating that a bug should be tracked. These issues can be organized and assigned to teams.

Develop

The development...

Discovering Azure DevOps services

In this section, we are going to introduce the different services that are offered by Azure DevOps. These services can be used to support teams throughout the whole life cycle of realizing business value for customers.

Azure Boards

Azure Boards can be used to plan, track, and discuss work across teams using the Agile planning tools that are available. Using Azure Boards, teams can manage their software projects. It also offers a unique set of capabilities, including native support for Scrum and Kanban. You can also create customizable dashboards, and it offers integrated reporting and integration with Microsoft Teams and Slack.

You can create and track user stories, backlog items, tasks, features, and bugs that are associated with the project using Azure Boards.

The following screenshot shows an example of an Azure Board:

Figure 1.4 – Azure Boards

Azure Repos

Azure Repos provides support for private...

Introducing the scenarios

Throughout this book, we will use two different scenarios for our demos. We are going to use sample projects that can be generated and installed in your Azure DevOps environment by using the DevOps generator. For this book, we are going to install Tailwind Traders and Parts Unlimited. Tailwind Traders is an example retail company that showcases the future of intelligent application experiences, while Parts Unlimited is an example e-commerce website.

Creating the starter project

To create the scenario project, we are going to use the Azure DevOps demo generator, which will generate the sample project for us. These projects are free to use. Before you generate the project, you need to install two different Azure DevOps extensions from the marketplace, both of which are used by the Tailwind Traders project. These extensions are as follows:

  • ARM Outputs: This extension reads the output values of ARM deployments and sets them as Azure Pipelines variables...

Summary

In this chapter, we covered some of the basics of DevOps and covered the six different DevOps principles. Then, we covered the key concepts of Azure DevOps and the different solutions that Azure DevOps has to offer to support teams throughout each of the application life cycle phases. After that, we looked at the different features that Azure DevOps has to offer, and we introduced and created the two scenarios that we will use in the upcoming chapters of this book.

In the next chapter, we are going to cover how to manage projects with Azure Boards.

Further reading

Check out the following links for more information about the topics that were covered in this chapter:

You have been reading a chapter from
Azure DevOps Explained
Published in: Dec 2020 Publisher: Packt ISBN-13: 9781800563513
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.
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 $15.99/month. Cancel anytime}