Exploring Automated Analysis

Explore the deployment process and learn how to perform automatic analysis.

Recap

We explored how to promote rollouts manually. That might be a great solution for many, but it shouldn’t be the end goal. We should strive for more. In this context, and most of the others, “more” means the removal of manual repetitive actions.

Off we go

We’re going to try to automate the whole deployment process, including potential rollbacks. We’ll try to instruct the machines on how to judge whether the process is progressing in the right direction and whether there’s an issue that might require them to roll back. We’ll do all that by adding analysis based on metrics stored in Prometheus.

Note: Prometheus is not the only supported analysis engine. It could be Wavefront, Datadog, and a few others. Even if your metrics aren’t in one of the supported engines, you can always use the web provider that allows fetching metrics from any service reachable through a URL.

Let’s take a look at a new Helm values file called values-analysis.yaml.

The output, limited to the rollout entries, is as follows.

...
rollout:
  enabled: true

That one is much shorter than the values-pause-x2.yaml we used before. Specifically, the rollout.steps and rollout.analysis.enabled entries are missing. That’s intentional because the default values already have the steps we’ll use, and the analysis is enabled by default.

View the output of the yaml file

So, let’s take a quick look at the default values instead.

The output, limited to the rollout entries, is as follows.

Get hands-on with 1400+ tech skills courses.