V0.1 · Architecture & service documentation
← Workload explorer

Resilience / FIELD NOTE 05

Backup & recovery

Understand what makes each service recoverable: configuration, data, dependencies and a functional restore.

Recovery practiceDesign guide · No live telemetry

01 / PURPOSE

The problem it solves.

Document the complete recovery path for a service. Regular restore testing is a lab requirement; this page explains the method without claiming every layer has already been tested.

02 / THE FLOW

How the pieces connect.

Conceptual flowSimplified flow
  1. STEP 01Identify state
  2. STEP 02Protect the data
  3. STEP 03Restore in isolation
  4. STEP 04Validate function

03 / WALKTHROUGH

From intention to operation.

  1. 01

    Separate code from unique state

    List configuration rebuilt from Git, database contents, uploaded files and external storage. Reference required secrets without copying their values into documentation.

  2. 02

    Map dependencies

    Identify what the application needs before it can function: storage, databases, networking and other services.

  3. 03

    Restore somewhere safe

    Use an isolated destination appropriate to the test. Avoid accidentally connecting restored services to production integrations.

  4. 04

    Prove that it works

    Validate a meaningful application operation, record elapsed recovery time and any data gap, then capture issues and the next test.

04 / DESIGN DECISIONS

The reasoning behind it.

Why test beyond VM startup?

A booted VM may still have missing files, invalid credentials or broken application dependencies. Functional checks reveal those gaps.

Is configuration in Git enough?

Only for reconstructible configuration. Unique application state and the secrets needed for recovery require their own protection.

05 / A CLOSER LOOK

A small, concrete example.

This illustrative example explains the structure. It is not an export of the lab configuration or a complete deployment recipe.

ILLUSTRATIVE EXAMPLE sanitised · educational
service: example-web
rebuild: version-controlled-configuration
unique-state:
  - application-database
  - uploaded-files
validation:
  - open-application
  - read-restored-record
  - verify-restored-file
← Explore another layer