Case study · internal work, infrastructure

The foundation that hosts our projects: three servers in France that take over from one another when one fails.

This is not a client assignment: it is the infrastructure that runs our products, the applications and websites we host, and this site. Three OVHcloud dedicated servers, in Strasbourg, Roubaix and Gravelines, form a Proxmox cluster: if one goes down, its machines restart on another. Every night, the backups leave encrypted for Germany, then are copied to a mirror in France.

01/BackgroundWhy we set it up

Saying where your data is means knowing which machine it runs on

We host what we write. To promise that, we needed a foundation we administer ourselves, from end to end. For each risk, what the infrastructure does.

  1. 01“Hosted in Europe” says neither which country nor with whom.Three dedicated servers that we administer, each in a named French data centre: Strasbourg, Roubaix, Gravelines.
  2. 02Sooner or later, every server fails.Machines enrolled for failover are replicated from one server to another; if one becomes unreachable, the cluster restarts them elsewhere, with no intervention.
  3. 03A backup stored next to production disappears along with it.Backups encrypted on the source machine, kept in Germany, copied every night to a mirror in France, outside the hosting provider.
  4. 04A slowly developing fault gives no warning: a failing disk slowed one of our servers for weeks without ever going down.Probes on every site, centralised logs, backups read back; since that failure, every disk is read in full once a month.
02/What we builtIn service today

Three servers, a single console, backups off site

Each component answers a specific failure: a disk, a server, a data centre, or a human error.

  • 01
    Three data centres. One OVHcloud dedicated server in Strasbourg, one in Roubaix, one in Gravelines: a local incident does not take everything down.
  • 02
    A Proxmox cluster. The three servers act as one: virtual machines and containers are administered from the same console.
  • 03
    Replicated storage. Each server keeps its disks on ZFS, and machines with automatic failover are copied to another server every fifteen minutes.
  • 04
    Automatic failover. A machine is enrolled only if it has a replica, and its standby servers are derived from its replication.
  • 05
    Automatic return. When a server comes back, its machines return to it on their own, so that the load does not drift from one maintenance to the next.
  • 06
    Backups every night. Encrypted before they leave, sent to a dedicated backup server in Germany, read back to check their integrity, then copied to a mirror in France.
  • 07
    Monitoring and patches. A probe for each site and each service, every machine's logs sent to an intrusion detection tool, patches tracked machine by machine.
  • 08
    Access and manifest. All administration goes through a bastion that records every session, and deployed applications are listed in a versioned manifest.
03/One diagramTypeset diagram, not a screenshot

A diagram of the foundation, until we have a screenshot of our consoles

No screenshot of our consoles has been published yet. This diagram shows, layer by layer, what this page describes.

Diagram of the foundation in five layers: the websites, business applications and products we host; Proxmox VE, clustered machines that restart on another server if theirs goes down; ZFS storage, which copies failover machines to another server every fifteen minutes; backups, encrypted at source every night, copy in Germany and mirror in France; our servers, in Strasbourg, Roubaix and GravelinesDiagram of the foundation in five layers: the websites, business applications and products we host; Proxmox VE, clustered machines that restart on another server if theirs goes down; ZFS storage, which copies failover machines to another server every fifteen minutes; backups, encrypted at source every night, copy in Germany and mirror in France; our servers, in Strasbourg, Roubaix and Gravelines
Fig. 01Diagram of the foundation, typeset as text. It is not a screenshot of our consoles.

Five layers, from application to server

The applications, the Proxmox cluster that restarts a failed server's machines elsewhere, replication every fifteen minutes, encrypted backups in Germany and their mirror in France, then the three servers, in Strasbourg, Roubaix and Gravelines.

04/TechnologiesWhat we chose, and why

Widely used tools, administered without a middleman

Well-documented, widely used software, on dedicated servers in France that we administer ourselves, without a middleman.

  • VirtualisationProxmox VE; KVM virtual machines and LXC containers, chosen service by service.
  • StorageZFS on each server, replication between servers, a full read of every disk each month.
  • ServersThree OVHcloud dedicated servers, in Strasbourg, Roubaix and Gravelines.
  • BackupProxmox Backup Server in a data centre in Germany, encryption at source, mirror in France outside the hosting provider.
  • MonitoringUptime Kuma for probes, Wazuh for security logs, PatchMon for patches.
  • Access and deploymentWarpgate bastion, recorded sessions; applications listed in a versioned Ansible manifest.
05/Further readingThe details, and our measurements

Where your data is, and how failover behaves

What next

Applications to host with someone who can tell you where they run?

This is the foundation on which we host what we write, and what you entrust to us. Tell us what you host today, and we will tell you what can be migrated, with a timeline and a rough price.

Discuss your project

Reply within 24 working hours, from one of the two founders. Or by phone: +33 7 59 96 14 99.