Enterprise AI Project Wiki · Environments, versions, and release
Rollback
Also calledDeployment rollback · Version rollback · System rollback · Backout
Rollback is a new controlled change performed after an earlier change produces an unacceptable result. It follows a defined sequence to restore affected components to a known-operable, verified, and compatible baseline, then reconciles data and external effects produced during the change window. Rollback is complete not when old processes start, but when service, data, authorization, business journeys, and observations meet the predefined recovery state.
Rollback is itself a change
A reliable rollback is not deletion of the new version or repointing a label to `previous`. Delivery systems commonly select an earlier known-good release and create a new rollout that deploys it to the same target. This produces fresh execution, approval, and verification records and accounts for state changes since the earlier deployment.
The immediately previous version is not necessarily the correct target. It may never have run successfully in the current region, database state, or configuration, or it may contain a security defect already removed. Select an explicit version and complete configuration baseline, then verify that it can read data produced after the change.
Platform rollback normally has a limited scope. A Kubernetes Deployment revision principally retains the Pod template. Undoing that revision does not automatically restore databases, external configuration, secret values, messages, files, or calls already made to third parties. The platform action and business recovery must be planned separately.
An executable rollback contract before change
- Define triggers
Specify automatic stops, human-review thresholds, and mandatory rollback events across availability, security, data, and business outcomes.
Alarm rules, thresholds, decision windows, and exceptions
- Name the target baseline
Record the application artifact, configuration snapshot, infrastructure version, database compatibility point, model, and knowledge state to restore—not merely ‘the previous version.’
Manifest, digests, snapshots, and last-known-good record
- Specify actions by component
Describe recovery or compensation for traffic, application, configuration, schema, data, queues, caches, scheduled jobs, and external dependencies in dependency order.
Component rollback matrix and dependency map
- Define data treatment
State whether writes stop, how valid transactions during the window are retained, whether the old version reads new data, and whether recovery uses compatibility, reverse migration, replication, restore, or reconciliation.
Data cut point, RPO, backup, and reconciliation plan
- Assign authority and ownership
Name trigger, approval, data-operation, business-validation, and user-communication owners, plus the permitted scope of automatic rollback.
Responsibility table, emergency access, and escalation path
- Set recovery objectives
Give separate targets for stopping impact, restoring core service, clearing backlog, and complete closure instead of one vague ‘as soon as possible.’
Recovery times, business priority, and degraded-service target
- Prepare for rollback failure
Predefine when to stop the rollback, isolate traffic, degrade, restore backup, fix forward, or enter incident response if rollback fails or increases impact.
Secondary recovery plan and incident playbook
Rollback, pause, withdraw, or fix forward
| Action | When it fits |
|---|---|
| Stop expansion | At the first bad signal in progressive deployment or release, pause new instances, traffic, or exposure and preserve evidence. This contains impact but is not completed rollback. |
| Withdraw user exposure | A feature flag, route, or entitlement can restore the prior experience while the new artifact remains deployed. It protects users quickly and creates time for a technical decision. |
| Rollback | Use when an obtainable known-good baseline is compatible with current data and dependencies, the procedure has been tested, and reversal risk is lower than continued operation or in-place repair. |
| Fix forward | Use when the change created data the old version cannot read, an external protocol has already switched, the rollback window has closed, or a small certain patch is safer. It still needs approval, testing, and a recovery plan. |
| Degrade or isolate | When reversal is uncertain or impact is expanding, disable risky functions, enter read-only mode, stop consumers, isolate a region, or route to people while preserving core service. |
| Restore or disaster recovery | When data or infrastructure is damaged and redeploying an old artifact cannot restore it, enter a separate recovery process with RPO, RTO, data-loss analysis, and higher authority. |
Why components need different reversal methods
Application and runtime image
Redeploy the verified old artifact by digest from an immutable repository. Confirm that its runtime, secrets, APIs, and dependencies remain available.
Traffic and feature state
Restoring an old environment or deployment or disabling a flag is often fastest, but account for session affinity, caches, long-lived connections, regional propagation, and in-flight requests.
Configuration and secrets
Old code with new settings may still fail. Restore an immutable configuration snapshot or explicit diff. Do not simply restore a compromised or revoked secret.
Infrastructure
Reapply a controlled infrastructure-as-code version after assessing deletion, replacement, address changes, and stateful resources. Do not manually reconstruct something that only resembles the old state.
Database schema
The old application must read the current schema. Prefer backward-compatible expand, migrate, and contract phases. Reverse migration after field removal, semantic change, or format rewrite can be slow, costly, or unsafe.
Business data
Rolling back code does not erase valid orders, approvals, payments, or edits made during the change window. Restoring an old backup may lose correct transactions, requiring write stops, reverse replication, selective repair, compensation, or reconciliation.
Queues, jobs, and caches
Old consumers may not understand new messages and active jobs may continue side effects. Pause producers or consumers, handle versioned messages, rebuild caches, and decide how to replay backlog.
External actions
Email, SMS, payment, ticket, file, webhook, and physical actions already performed cannot be undone by technical rollback. Record actual outcomes and execute cancellation, reversal, notification, or other business compensation.
How to execute rollback safely
Declare and control the change
Assign an incident or rollback lead, freeze unrelated deployments and configuration changes, and record trigger time, symptoms, affected scope, and current state.
Limit new impact
Pause rollout and release and, as needed, stop writes, risky capabilities, queue consumers, or external actions while retaining diagnostic logs and evidence.
Confirm target and compatibility
Compare current and target artifacts, configuration, schemas, data formats, dependencies, and security fixes. Confirm reversal order, required capacity, and any one-way gates already crossed.
Create a recovery point
Before further change, capture current configuration, database, queues, traffic, instances, and critical logs for investigation and a secondary recovery path.
Restore in component order
Apply compatibility prerequisites and traffic protection first, then use the normal deployment path for target artifacts and configuration. Order databases, writers, readers, and asynchronous components by protocol compatibility.
Validate in layers
Check readiness, dependencies, schema, reads and writes, messages, caches, authorization, critical business journeys, and external results against both the pre-rollback baseline and target state.
Restore service gradually
Return internal or small traffic first and expand after observation. Reconcile backlog, compensate external actions, and communicate with users before restoring full load.
Record and close
Record every result, manual deviation, data impact, final baseline, and residual issue. Open root-cause, corrective-release, and re-release work even after service is restored.
Proving recovery and handling rollback failure
Validate recovery, not command success
A completed deployment command only proves that automation ended. Verify user tasks, data correctness, security controls, alarms, capacity, backlog, and external dependencies.
Run upgrade-downgrade testing
In a production-like environment, coexist old and new versions, complete the upgrade, then downgrade in real order. Exercise APIs, serialization, batches, jobs, and dependency failures to prove compatibility.
Keep an observation window
Low-frequency jobs, cache expiry, asynchronous callbacks, and gradual propagation may fail later. Observe for relevant system cycles and avoid starting another change.
Detect new rollback failures
If errors, inconsistency, or authorization problems rise during reversal, pause subsequent steps, preserve state, and activate secondary recovery or fix forward instead of continuing mechanically.
Separate service restoration from business repair
After service returns, order repair, replay, refunds, reindexing, permission recalculation, customer notices, or regulatory reports may remain. Give each an owner and closure evidence.
Review rollback capability
Measure detection, decision, start, core recovery, and full closure times. Improve target selection, artifact retention, permissions, procedures, and testing as gates for the next change.
Additional rollback work for enterprise AI
Restore the complete AI combination
Model routing, prompts, guardrails, knowledge index, embedding or reranker, tool schemas and permissions, and application orchestration must return to a compatible manifest. Switching only the model is insufficient.
Route model traffic back first
If the old deployment remains, shift endpoint traffic to the known-good model, confirm sessions and fallback, then decide whether to remove the new deployment. Traffic reversal contains impact; full rollback still reconciles configuration.
Use an alias or pointer for knowledge
Switch an alias only after validating the new index and keep the old index through observation. On return, reconcile document changes, tenant access, citations, caches, and feedback collected while the new index was active.
Version conversation and memory state
Old prompts or tools may not understand conversation state, memory, or plans written by a newer version. Identify the schema and either read compatibly, migrate, clear, or isolate it before actions continue.
Compensate agent side effects
Messages sent, records edited, orders created, and workflows triggered by AI persist after model rollback. Suspend tool access, use audit records, and confirm, cancel, or repair each affected action.
Re-evaluate quality
Recovered technical metrics do not prove recovered answer quality. Rerun triggering scenarios, fixed evaluations, high-risk samples, and real issues for grounding, refusal, tool use, and human handoff.
A hosted model may not be reversible
If a provider does not expose a fixed snapshot, an alias may never recover prior behavior. Plan an alternate model, routing shutoff, degraded service, human handling, and provider incident response.
Concepts commonly confused with rollback
| Related concept | Difference from rollback |
|---|---|
| Release withdrawal | Withdrawal stops new user exposure through flags, routing, entitlements, or channels. Rollback restores technical components to a baseline. Withdrawal can precede or replace part of rollback. |
| Git revert | Git revert creates a new commit that inversely applies a source change. It does not build, deploy, restore configuration or databases, or change production traffic. |
| Backup restore | Restore returns data or a system to a recovery point and may lose changes within the RPO. A rollback can redeploy an old artifact without restoring data. |
| Failover | Failover routes service to a standby instance, region, or system to preserve availability; the software version may remain unchanged. |
| Fix forward | Fix forward applies a new correction to the current state rather than restoring an old baseline. It fits incompatible rollback or a safer small patch. |
| Disaster recovery | Disaster recovery handles site, region, infrastructure, or broad data loss and normally has a larger scope and different recovery objectives than one change rollback. |
| Business compensation | Compensation reverses or offsets orders, payments, notifications, or other business consequences that technical rollback cannot undo automatically. |
Sources and scope
This entry explains rollback after an unacceptable software-system change: restoring an explicit technical state to an approved baseline. Rollback is not a button that reverses every consequence. Application code, infrastructure, configuration, databases, traffic, queues, caches, models, knowledge, and external business actions have different reversibility. It is also not identical to withdrawing user exposure, Git revert, backup restore, failover, disaster recovery, or fix forward, although an incident response may combine them. Targets, timing, data handling, and authority must be defined per change.
- Google Cloud Deploy: selecting an earlier release and creating a new rollout for a target
- Kubernetes: Deployment revisions, history retention, rollback scope, and status
- AWS Well-Architected: rollback or fix-forward plans, triggers, and monitoring for unsuccessful changes
- AWS Builders’ Library: compatibility, two-phase change, and upgrade-downgrade verification
- AWS Prescriptive Guidance: changed-data rollback, reverse replication, dual writes, and restore
- Microsoft Azure App Configuration: immutable snapshots and last-known-good configuration rollback
- Azure Machine Learning: retaining deployments, zero-traffic checks, and endpoint traffic control
- Azure AI Search: switching index aliases while retaining prior indexes and observing propagation
- Git: reverting source changes with a new commit and the boundary from production rollback