Preventing Deployments Not Meeting Performance Baseline Conditions in Azure Pipelines

Ensuring Performance Baseline Conditions in Azure Pipelines

Question

Your company hosts a web application in Azure, and makes use of Azure Pipelines for managing the build and release of the application.

When stakeholders report that system performance has been adversely affected by the most recent releases, you configure alerts in Azure Monitor.

You are informed that new releases must satisfy specified performance baseline conditions in the staging environment before they can be deployed to production.

You need to make sure that releases not satisfying the performance baseline are prevented from being deployed.

Which of the following actions should you take?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

C

Scenarios and use cases for gates include:

-> Quality validation. Query metrics from tests on the build artifacts such as pass rate or code coverage and deploy only if they are within required thresholds.

Use Quality Gates to integrate monitoring into your pre-deployment or post-deployment. This ensures that you are meeting the key health/performance metrics

(KPIs) as your applications move from dev to production and any differences in the infrastructure environment or scale is not negatively impacting your KPIs.

Note: Gates allow automatic collection of health signals from external services, and then promote the release when all the signals are successful at the same time or stop the deployment on timeout. Typically, gates are used in connection with incident management, problem management, change management, monitoring, and external approval systems.

https://docs.microsoft.com/en-us/azure/azure-monitor/continuous-monitoring https://docs.microsoft.com/en-us/azure/devops/pipelines/release/approvals/gates?view=azure-devops

The correct answer is C. You should make use of a gate.

Explanation:

Azure DevOps provides different types of gates, which are a form of quality control that you can add to your pipelines. Gates are checks that are performed during a release to ensure that the release meets certain conditions or criteria before it is deployed to the target environment.

In this scenario, the requirement is to prevent releases that do not satisfy the performance baseline from being deployed to production. Therefore, you can add a gate to your release pipeline to check if the new release satisfies the specified performance baseline conditions in the staging environment.

To configure a gate, you need to define the criteria that the release must satisfy, and specify what action to take if the release fails to meet those criteria. You can configure the gate to either fail the release or stop it from proceeding to the next stage. This will prevent the release from being deployed to production until the performance issues have been resolved.

A. Branch control check: This option is not relevant to the problem at hand. Branch control check is used to ensure that only approved changes are merged into the production branch.

B. Alert trigger: Alert triggers are used to notify users when certain conditions are met. While this can be useful in detecting performance issues, it does not prevent non-performing releases from being deployed to production.

D. Approval check: Approval checks are used to require manual approval before a release can proceed to the next stage. While this can be useful in controlling the release process, it does not check if the release satisfies the performance baseline conditions.

Therefore, the correct answer is C. You should make use of a gate to ensure that releases not satisfying the performance baseline are prevented from being deployed.