cyberspace, data, wire, electronic, electric, ethernet, infrastructure, cable, computer, communication, panel, connection, to combine, the industry, router, server, network, equipment, system, broadband, technology, telecommunication, service provider, plug, node, dam, connector, link, lan, server, server, server, server, server, network, broadband
Photo by jarmoluk on Pixabay

Reliability

Part of Cloud deployment workflows

Rolling back an application release safely

Decide how to respond to a faulty application release by checking version, traffic and data compatibility before verifying live service.

Before returning an application to an earlier version, check what changed besides the running code. Moving traffic back can restore a broken action when the earlier version still works with current data and dependencies. If the release changed a database, messages or external state incompatibly, switching code alone can create another fault.

Identify what needs reversing

Record the live artefact, the last known working artefact and the symptom that stopped the release. Establish whether the new version has written data, changed schema, started jobs or called an external service. Check whether the earlier version can read and write the current state.

A feature flag may disable one behaviour if the application was designed for it. Redeployment or a traffic shift may work when the older version remains viable. A forward fix may be necessary when current data cannot be used by older code. The incident owner must choose from the observed state; a rollback control cannot make that decision.

Set a decision point

Before release, agree on a symptom that pauses rollout, a decision owner and the response window. During an incident, record the failed action, affected users, first known time, current version and data state. Stop increasing exposure while these are checked.

SituationCandidate responseCondition to verify
Limited new-version traffic; shared state remains compatibleRoute traffic to the earlier versionIt still completes the critical action with current data
An incompatible data change has runPause affected writes and assess a forward fix or data recoveryThe selected path preserves the required data and service state
Fault is confined to a switchable featureDisable it through its approved controlThe action returns without masking another failure

These are decision prompts, not outcomes for a particular application.

Know what the platform reverses

Cloud Run can route traffic to an earlier service revision. Google says routing changes are not instantaneous and requests in progress continue during the transition. Kubernetes can roll a Deployment back to a retained revision, but that revision covers its pod template, not unrelated resources or database changes.

If old revisions have been removed, that rollback route is unavailable. AWS CodeDeploy redeploys an earlier application revision as a new deployment; it does not reconcile arbitrary effects of earlier deployment scripts.

Check the actual service mechanism before writing a runbook. Keep the earlier artefact, required configuration and permissions available for the decision window. Record the exact version to select; a label such as previous can be ambiguous after a partial rollout or another urgent change.

Platform capabilities for rolling back application changes

  • Google Cloud RunRoutes traffic to earlier service revision; changes not instantaneous
  • Kubernetes (Deployment)Rolls back to retained revision; only affects pod template, not databases or external resources
  • AWS CodeDeployRedeploys earlier revision as new deployment; does not reconcile arbitrary effects of prior scripts

Verify the service and data state

After the response, check more than deployment status. Confirm that intended users can complete the affected action, errors and latency are acceptable, and writes reach the intended data store. Check delayed jobs and integrations touched by the release. If two versions handled traffic during transition, inspect records or messages that may need reconciliation.

Record the live version, what happened to data produced by the faulty version, unassessed effects and the follow-up owner. Prevent the faulty release from being promoted again without a new decision. The response is complete when the service and its data state meet the agreed acceptance conditions.

More from Reliability