Book Image

Designing and Implementing Microsoft DevOps Solutions AZ-400 Exam Guide - Second Edition

By : Subhajit Chatterjee, Swapneel Deshpande, Henry Been, Maik van der Gaag
Book Image

Designing and Implementing Microsoft DevOps Solutions AZ-400 Exam Guide - Second Edition

By: Subhajit Chatterjee, Swapneel Deshpande, Henry Been, Maik van der Gaag

Overview of this book

The AZ-400 Designing and Implementing Microsoft DevOps Solutions certification helps DevOps engineers and administrators get to grips with practices such as continuous integration and continuous delivery (CI/CD), containerization, and zero downtime deployments using Azure DevOps Services. This new edition is updated with advanced topics such as site reliability engineering (SRE), continuous improvement, and planning your cloud transformation journey. The book begins with the basics of CI/CD and automated deployments, and then moves ahead to show you how to apply configuration management and Infrastructure as Code (IaC) along with managing databases in DevOps scenarios. As you make progress, you’ll explore fitting security and compliance with DevOps and find out how to instrument applications and gather metrics to understand application usage and user behavior. This book will also help you implement a container build strategy and manage Azure Kubernetes Services. Lastly, you’ll discover quick tips and tricks to confidently apply effective DevOps practices and learn to create your own Azure DevOps organization. By the end of this DevOps book, you'll have gained the knowledge needed to ensure seamless application deployments and business continuity.
Table of Contents (27 chapters)
1
Part 1 – Digital Transformation through DevOps
5
Part 2 – Getting to Continuous Delivery
9
Part 3 – Expanding Your DevOps Pipeline
15
Part 4 – Closing the Loop
18
Part 5 – Advanced Topics

Executing tests in a pipeline

Developers should execute tests on their local machine before opening a merge request for their code. That way, they can be confident that any of the changes they made did not break any of the previous behaviors of their code. In theory, this provides the guarantee that all code merged to the master branch compiles and has all tests passing. In practice, there are many reasons why this is not the case. Some can be as follows:

  • Some tests might not be able to be run locally. They depend on confidential configuration values or are configured to run against a fully configured system. One or both of these are often the case for system tests. There are many situations where it is impossible to run system tests from the local system. Not all of these situations are necessarily desirable or insurmountable—but still, this is often the case.
  • Developers are only human. They might forget to run the tests on their local machines after that one final...