Skip to content
PERINGER Service Informatique, back to home

Back

Solution

High Availability, backup and recovery

Design of HA clusters, backup repositories and Disaster Recovery platforms on-premises and in the cloud. Replication, failover, retention and restore procedures sized for RTO/RPO targets and the data volume to recover.

Architecture and implementation

Designing recovery around RTO and RPO

Recovery time and acceptable data loss guide storage choices, backup frequency and redundancy. These targets are defined per service, including its dependencies and data volume.

RPORecovery Point ObjectiveAcceptable data loss
RPO sets the maximum acceptable data loss in minutes or hours. With a 15-minute RPO and an incident at 10 am, backups or replicas must recover transactions recorded through at least 9.45 am.
RTORecovery Time ObjectiveTime to restore service
RTO sets the maximum acceptable service interruption. With a two-hour RTO and an incident at 10 am, the application must accept connections and transactions again by noon. This includes detection, failover or restoration, and functional checks.
Example with a 15-minute RPO and a two-hour RTO
  1. Earliest acceptable recovery point
  2. Service interruption
  3. Latest acceptable service recovery

RPO · At most 15 min of data loss

RTO · At most 2 h of interruption

These values illustrate design targets. Recovery drills measure whether they are met.

The recoverable point depends on completed backups and available transaction logs. A job scheduled every 15 minutes can fail or finish late. Recovery drills therefore verify the transactions actually recovered, followed by authentication, application queries and connections to external APIs.

Technical references AWS Well-Architected · RTO / RPO

Hot, warm and cold storage by data access

Production database tables, recent backups and archives are read at different frequencies. Hot, warm and cold describe these access patterns and the required retrieval time. Physical media and access interfaces are then selected for the workloads involved.

Hot, warm and cold storage by data access
TierAccess and examplesImplementation optionsCost and retrieval
HotTables and indexes used by transactions, active logs and data served by APIsLocal NVMe SSDs, all-flash array volumes or cloud storage provisioned for I/OBudget driven by IOPS and write latency. Access without prior retrieval from an archive
WarmHistory queried periodically and recent backups used for testing or restoresHDD pools, hybrid systems or flash repositories for concurrent restoresBalance of capacity and restore throughput. Data remains directly accessible in the chosen repository
ColdOlder backups, archived datasets and long-term retentionObject retention classes, offline tape, or HDD and flash repositories according to required access timeRetention cost takes priority. Retrieval or archive charges and any delay depend on the service

Flash, SSDs and the NVMe protocol

NAND flash is the memory retaining data in an SSD. NVMe is the protocol used to communicate with storage, commonly over PCIe inside a server. NVMe over Fabrics extends access across a storage network, for example through NVMe/TCP. SSDs also exist with SATA or SAS interfaces.

Flash for transactional databases

An OLTP database records the application’s operational transactions. Index and data-page access can generate many small reads, while its log requires durable writes. Flash removes the waiting caused by mechanical HDD movement. Sizing measures latency, input/output operations per second (IOPS) and throughput under the actual SQL workload.

HDD or flash for backup

HDDs are used for capacity-oriented backup repositories. Flash can accelerate parallel reads during concurrent restores or tests. A rarely read copy can remain cold even on SSD. Media selection follows retention volume and measured recovery throughput, including network and backup-software limits.

NVM Express | NVMe / NAND · NVM Express | NVMe over Fabrics

Online cold storage and archives requiring rehydration

Azure Blob Cold remains online. Azure Blob Archive requires rehydration before reading, which can take up to 15 hours depending on priority. Google Cloud Archive remains online without that step. Within Azure Blob, Hot has lower access charges, while Cold reduces stored-capacity cost. Cost calculations include stored capacity, reads and transfers, as well as minimum billable storage durations. These conditions contribute to RTO planning.

Microsoft | Azure Blob access tiers · Google Cloud | Storage classes

Block, file and object storage by application interface

A SQL engine can write its files on a block volume, a document application can open an SMB share, and a pipeline can upload Parquet files to an object bucket. These models define how software accesses data. Each can use HDD or flash, with performance determined by the service.

Block, file and object storage by application interface
InterfaceOrganisation and accessWorkloadsOperational considerations
Block storageAn addressable block volume presented to a server. Local access or iSCSI, Fibre Channel or NVMe-oFVM volumes, SQL data and log files, operating-system disksThe host or engine organises data on the volume. A volume shared by multiple hosts requires cluster-compatible write coordination
File storageFiles organised in directories and opened by path. SMB or NFS shares on NAS or cloud file servicesApplication files, shared directories, scientific datasets and selected VM or database deploymentsThe file service manages names, permissions and locks. Performance also depends on protocol and concurrent access
Object storageObjects addressed by key with associated metadata. API access through services such as S3, Azure Blob or Google Cloud StorageParquet data lakes, AI models and datasets, media and backup copiesApplications read and write through API operations. Versioning, retention and access classes follow the service’s supported features

Selection starts with the application’s operations. A SQL engine requires durable writes and specific locking behaviour. Vendors support selected NFS or SMB deployments. Mounting an object bucket through a file gateway requires those operations to be checked, because the object API and mounted filesystem do not automatically provide equivalent guarantees.

Technical referencesMicrosoft | Storage services · Microsoft | Blob Storage

Organising backups with the 3–2–1–1–0 rule

A backup strategy combines storage diversity, geographic separation, deletion protection and verified restores. One copy can satisfy both the offsite and immutable criteria.

  1. 3 Copies

    Production data and two backup copies

  2. 2 Storage types

    For example, local disk and cloud object storage

  3. 1 Offsite copy

    Separated from the production site and its failures

  4. 1 Protected copy

    Offline, air-gapped or immutable

  5. 0 Unresolved errors

    Backup verification and recovery testing

Immutable retention and offline copies

An immutable copy remains accessible, but modification and deletion are blocked during configured retention. An offline copy is disconnected. In both cases, the catalogue, encryption keys and recovery access must remain recoverable independently of production.

Replication, snapshots and backup

A replica receives changes from the primary database, including accidental deletions. A snapshot preserves an earlier volume state but remains exposed to the loss of its storage array. A backup in an independent repository retains earlier versions for the retention period and supports restoration after production storage is lost.

Technical references Veeam · 3–2–1–1–0 · Microsoft · Azure Blob WORM · Microsoft · Redundancy, replication and backup

Keeping an application running with HA

For a web application, High Availability (HA) means running multiple instances on separate hosts. A load balancer distributes HTTP requests between them and removes instances that stop passing health checks. For a single-primary database, failover promotes a replica to primary and redirects new connections to it.

Instances and traffic

Health checks query an application URL to verify that it can process a request. The load balancer itself runs as multiple instances or as a managed service distributed across zones. User sessions are held in a replicated shared service or in tokens each instance can validate, allowing another host to handle the next request.

Writes and arbitration

In a single-primary cluster, quorum sets the number of votes needed to authorise primary selection. Fencing blocks the former primary from storage or stops its server before a replica is promoted. These mechanisms prevent two servers from writing independently to the same database after a network partition. Storage-array replication and SQL-engine write coordination are configured at their respective layers.

Capacity and dependencies

Hosts at the surviving site need the RAM, CPU, network throughput and input/output operations per second (IOPS) required to absorb load after failover. The storage network uses separate switches and SAN paths. DNS and authentication remain accessible from the recovery site. Tests under load verify application responses while a host, network link or site is unavailable.

With synchronous replication, a write waits for acknowledgement from remote storage or a remote server according to the configured mode. Intersite round-trip latency therefore increases write response time. With asynchronous replication, the primary acknowledges without waiting for the remote replica, which can be missing the latest transactions if the primary becomes unrecoverable. Backups separately retain the historical versions needed to undo a deletion or restore a corrupted database.

Technical references Microsoft · Redundancy, replication and backup · Microsoft · Load balancer reliability · Pure Storage · ActiveCluster

Designing Disaster Recovery across two regions

Disaster Recovery (DR) prepares an application to restart after losing its datacenter or cloud region. A second region holds the replicas, backups or instances required for recovery. Availability zones distribute instances across datacenters within one region and do not cover loss of the entire region.

The recovery region receives network configuration, service identities, secrets and application images. Cloud quotas and reserved resources must support the planned instances. The runbook describes failover, operation from the recovery region and failback to the original region after data resynchronisation.

Availability, recovery time and required resources
ArchitectureState before the incidentDesign trade-off
Backup / RestoreRetained copies; platform must be rebuiltFew running standby resources; recovery dominated by transfer and rebuild time
Active-passive · Warm standbyContinuously updated replica and preconfigured platformOngoing standby cost; faster recovery with possible data lag
Active-active · HAMultiple instances already serve trafficExtra capacity and coordination; application availability must be distinguished from storage availability

These architectures illustrate implementation options. Tests measure replication lag, recovery-site capacity and application recovery time against the project targets.

Technical references Microsoft · Multi-region disaster recovery · PostgreSQL · Standby and replication

Restore the data, rebuild the service

A file restore recovers a document or directory. A database restore recovers tables and transactions. Application recovery also rebuilds the servers, access and APIs it depends on. After a compromise, backups are first restored and checked in an isolated network before production connections are enabled.

Choose the right restore sequence

Full, incremental or differential

A full backup copies all data covered by the job. An incremental backup retains changes since the preceding backup, so the increments required for restoration must remain available. A differential contains all changes since the latest full backup. Restoration then uses that full backup and the latest differential. The choice depends on the volume copied per run and the number of backup files read during recovery.

Restoring a database to a specific point with PITR

For PostgreSQL, a base backup and a continuous write-ahead log (WAL) sequence support Point-in-Time Recovery. SQL Server uses a full backup, optionally a differential, then transaction-log backups under an appropriate recovery model. Recovery can stop before an accidental deletion; later transactions are then absent and must be reconciled separately.

Snapshots and instant recovery

An application-consistent snapshot supports selected rollback scenarios. Where supported, instant recovery can start a VM from a backup repository before migrating it to production storage. Repository availability and performance remain critical; booting the VM does not complete recovery.

End-to-end validation and recovery drills

Tests cover backup readability, database integrity, authentication and representative application transactions. Integrations that might send messages or modify external systems remain isolated. The record measures the recovered data point and total recovery time, then identifies gaps against targets and required corrections.

Transferring 1 TB over a 1 Gbit/s link takes roughly 2 hours 15 minutes at theoretical throughput. Decompression, log replay and application tests extend recovery time further. Sizing also accounts for cloud archive retrieval time, transfer charges and recovery-storage IOPS.

Technical references PostgreSQL · Point-in-time recovery · Microsoft · SQL Server restore sequences

Design and integration

  • SSD/NVMe and HDD storage sizing with block, file or object access
  • Repository architecture, retention, immutability and separate access
  • Consistent backups of databases, VMs, files and application configurations
  • HA clusters, load balancing, replication and failover procedures
  • DR automation, isolated restoration and measurement against RTO/RPO targets
  • Monitoring of backup jobs, replication lag and recovery capacity

Systems involved

  • Backups, transaction logs and PITR for PostgreSQL and SQL Server
  • Linux servers, virtualised environments and containerised applications
  • SAN/NAS arrays, disk repositories, tape and cloud object storage
  • Cloud platforms, networking and infrastructure as code

Service lineServers and hosting →

Discuss your project

A discussion of your project’s design, development and production deployment.