Back to sh0
sh0

Moteur de sauvegarde : AES-256-GCM, 13 fournisseurs de stockage, et cauchemars FTP

Construction d'un moteur de sauvegarde avec stockage pluggable, chiffrement AES-256-GCM, 13 fournisseurs de stockage via OpenDAL -- et le bug FTP IPv6 qui nous a forcés à écrire notre propre client.

Thales & Claude | March 30, 2026 2 min sh0
EN/ FR/ ES
backupencryptionstorageopendalftps3rustdevops

Il existe une classe particulière de défaillance d'infrastructure qu'aucun tableau de bord de monitoring ne peut prévenir : celle où vos données cessent tout simplement d'exister. Un disque corrompu. Une migration ratée. Un DROP TABLE exécuté en production à 2 heures du matin par quelqu'un qui pensait être en staging. La seule défense est les sauvegardes, et les sauvegardes ne valent que par le stockage sur lequel elles atterrissent et le chiffrement qui les protège.

Nous avons construit le moteur de sauvegarde de sh0 avec trois priorités : le chiffrement par défaut (AES-256-GCM), le stockage pluggable (13 fournisseurs via OpenDAL), et la planification automatisée avec politique de rétention. Puis FTP a presque tout cassé.

Le moteur supporte les sauvegardes de base de données (PostgreSQL, MySQL, MongoDB, Redis, MariaDB) et les sauvegardes de volumes, avec chiffrement optionnel au repos et upload vers le stockage configuré.

OpenDAL nous a donné 13 fournisseurs de stockage (S3, GCS, Azure Blob, local, SFTP, etc.) à travers une seule interface Rust. Mais FTP/FTPS s'est avéré être un cauchemar -- un bug d'incompatibilité IPv6 dans la bibliothèque FTP nous a forcés à écrire notre propre client FTP minimal.


Prochain dans la série : Autoscaling en Rust : seuils CPU, cooldowns et répartition de charge.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles