Automatic Rollbacks

Automatic rollbacks are mechanisms within the deployment process that revert an application to a previous stable version upon detection of errors or significant performance degradation after a new release.

Goal

The goal is to minimise downtime and impact on users by quickly addressing deployment issues, ensuring the application remains stable and available.

Context

Our goal is to get new features into the hands of customers as quickly as possible so that we can validate if the features are solving the customer's problems. Mistakes will happen but instead of introducing a blocking testing or deployment step, we should focus on the speed of recovery when things go wrong. This allows us to keep up the speed that we need while also keeping the system stable and reliable.

Inputs

ArtifactDescriptionBenefits
Monitoring MetricsData points collected from the application, providing insights into performance, usage, and behaviour.
Service Level Objectives (SLOs)Agreed-upon performance and reliability targets for the service.

Outputs

ArtifactDescriptionBenefits
Stable Application StateConfidence in the application's reliability and availability, minimising user impact.Reduced Downtime

Anti-patterns

  • Over-reliance on Rollbacks: Depending too much on rollbacks instead of addressing underlying issues in the deployment pipeline.
  • Poor Rollback Coverage: Not having rollbacks in place for all critical components, leaving parts of the system vulnerable.

Was this page helpful?

Previous
Continuous Deployment
© ZeroBlockers, 2024. All rights reserved.