Skip to content
← Insights

How to verify that a backup can recover a service

A guide to designing restoration tests, validating services and data, gathering evidence, and improving operational continuity.

Team reviewing a restoration test for a digital service

Having backups does not prove that a service can be recovered. A backup may exist and still be incomplete, encrypted with an inaccessible key, associated with an incompatible version, or missing the configuration needed to start the application. Backup restoration tests turn an assumption into evidence: they make it possible to verify what can be recovered, how long it takes, and which decisions or dependencies prevent a reasonable continuity objective from being met.

The goal is not to restore files in isolation, but to recover a specific business capability: for example, allowing authorized users to view orders, enabling a team to process requests, or restoring a critical integration's ability to exchange information. To achieve this, the test must be controlled, repeatable, and proportionate to the service's criticality.

Why an existing backup does not equal a verified recovery

Why an existing backup does not equal a verified recovery — Linkses visual guide

A backup policy answers important questions: what is stored, how often, and for how long. But recovery requires answering others: which restore point is suitable? Where will the service be deployed? Who can access the keys? Which dependencies must be available? How is it validated that the data is usable?

A database backup, for example, may restore without errors and contain data that does not match the attachments, search indexes, or queue records. Similarly, recovering a virtual machine does not guarantee that DNS, certificates, network rules, service account credentials, or connections to external systems will work.

Therefore, the result of a test should not be limited to “restoration completed.” It must state whether the defined service level was achieved, in what time, and with which exceptions. This distinction helps separate a technically valid backup from an operational continuity strategy.

Define services, data, and dependencies

Before the exercise, identify the service to be recovered and its actual scope. Start with the minimum journey that delivers value: a query operation, an internal transaction, or the handling of a request. Then map the components that make it possible.

  • Application and artifacts: deployed code, images, packages, libraries, and runtime parameters.
  • Data: databases, files, objects, attachments, indexes, queues, and configuration data.
  • Identity and secrets: technical accounts, certificates, encryption keys, credentials, and rotation mechanisms.
  • Infrastructure and network: storage, DNS names, load balancing, access rules, connectivity, and observability.
  • External dependencies: identity providers, email, payments, APIs, messaging services, or third parties.
  • Operational knowledge: procedures, escalation contacts, permissions, and contingency decisions.

Not all dependencies need to be restored in the same exercise. Some can be simulated or replaced with a test environment, provided that decision is documented. The key is not to confuse an excluded dependency with a non-existent one.

Define priorities and verifiable objectives

Recovery priority should reflect the impact of the disruption, not just technical complexity. Classify service capabilities into those that must return first, those that can operate in a limited way, and those that can wait. For example, viewing information may be a priority, while a bulk export can be postponed.

Set objectives that can be measured during the test. RTO expresses the maximum acceptable time to recover a capability; RPO indicates the maximum acceptable data loss, measured as the age of the latest recoverable point. These values must be agreed by business, product, and technology. If they are unrealistic in relation to the architecture, operational budget, or backup frequency, the test will make that visible.

Also define functional success criteria. Some examples are:

  • The intended version of the service starts and passes its basic checks.
  • An authorized user gains access through the expected identity mechanism.
  • A defined sample of records retains consistent relationships, dates, and attachments.
  • Actions allowed within scope are logged and can be monitored.
  • Critical integrations respond or show expected and communicated degradation.

Prepare an isolated and secure exercise

A test restoration must not alter production or send real communications by mistake. Use an isolated environment, with network segmentation, distinct names, and controls that prevent unintended connections. If personal or sensitive data is restored, apply the same access and protection measures that apply to the original environment; where feasible, use minimized or anonymized datasets without losing the ability to validate the case.

Freeze the scope before starting. Document the selected backup point, the start date and time, available resources, and exclusions. Confirm that assigned individuals have effective permissions, not merely theoretical permissions. It is also advisable to agree on a stop condition: for example, stopping the exercise if a configuration could affect production or if data exposure is detected.

Design and execute the restoration sequence

Assign an exercise owner, technical operators, a person to record times and evidence, and business or product representatives to validate the results. Avoid having a single person concentrate execution, validation, and approval: separating these functions reduces bias and makes it easier to identify ambiguous instructions.

  1. Verify the availability and readability of the selected backup.
  2. Prepare the infrastructure, network, storage, and access controls of the isolated environment.
  3. Restore the data in the order required by its relationships and dependencies.
  4. Recover configuration, secrets, and certificates through an authorized mechanism.
  5. Deploy or activate application components compatible with that data.
  6. Configure real, simulated, or disabled integrations according to the approved scope.
  7. Run technical checks and functional tests.
  8. Calculate the elapsed time to each milestone and compare it with the objectives.

Record the time from the start of recovery, not only the data transfer time. The relevant period includes locating the backup, obtaining authorizations, provisioning resources, resolving errors, recovering credentials, and validating that the service fulfills its purpose.

Validate integrity, access, and operation

Validation must combine automated checks and human review. Check counts, checksums where available, referential integrity, document samples, and temporal consistency against the defined RPO. An access test must include representative profiles: administration, operations, and end user, without expanding privileges merely to make the exercise finish.

Also validate operational behavior: event logs, alerts, subsequent backups if the environment requires them, the ability to apply a configuration, and communication mechanisms during an incident. If an integration cannot be executed, test at least the handling of failure: retained queues, useful error messages, controlled retries, or an alternative manual procedure.

A restoration is considered useful when it enables recovery of the agreed capability with acceptable data, controlled access, and understandable operations; not when it simply finishes without error messages.

Document evidence and turn findings into improvements

The report must distinguish the intended procedure from what actually occurred. Include the scope, participants, backup used, timeline, validation results, incidents, decisions made, and relevant evidence, such as check outputs, change records, and approvals. Avoid storing secrets or sensitive data in the report.

Classify each finding by impact and urgency. An outdated instruction can be corrected soon; an encryption key without a recovery process, an unprotected dependency, or an unattainable RTO require a risk decision and a plan with an owner. Update runbooks, automation, inventories, and diagrams so that the next exercise starts from an improved situation.

Common mistakes and checklist

Common mistakes and checklist — Linkses visual guide

Recurring failures include backups that omit configurations, permissions that depend on absent people, procedures written for an earlier architecture, and restorations that do not account for certificates or keys. It is also common to measure only data restoration and discover too late that capacity, connectivity, or authorizations are missing.

  • Does the scope represent a prioritized business capability?
  • Have RTO, RPO, and verifiable functional criteria been defined?
  • Is the test environment isolated and protected?
  • Have relevant data, configuration, secrets, and dependencies been included?
  • Do the responsible parties have verified permissions?
  • Have times, decisions, and validation results been recorded?
  • Does each deviation have an owner, priority, and review date?
  • Does the test schedule align with architecture changes and criticality?

Schedule periodic exercises and also perform them after significant changes: migrations, identity redesigns, the addition of critical dependencies, or changes to the backup policy. Continuous improvement does not mean repeating an identical demonstration, but verifying that recovery remains viable as the service and its risks change.

Linkses · Boost your business

Written and reviewed by the Linkses editorial team.