Zero Disk - L'architecture du futur sans stockage local

par Korben -

Vous êtes-vous déjà demandé comment stocker des pétaoctets et des pétaoctets de données sans même posséder un seul disque dur ???

Non, non, non, ce n’est pas de la science-fiction, mais bien la réalité de l’architecture Zero Disk. Vous allez voir, c’est rigolo.

Dans un monde Zero Disk, où vos bases de données ne seraient plus limitées par la capacité de vos disques locaux, vous pourriez faire grandir ou réduire votre infrastructure en quelques clics, sans vous soucier des contraintes matérielles. Et bien ce monde existe déjà grâce à l’architecture Zero Disk et au stockage cloud S3 !

Les bases de données traditionnelles comme PostgreSQL ou MySQL ont une architecture qui couple étroitement le traitement des requêtes (frontend) avec le stockage des données (backend). Cette approche nous enchaîne à nos disques durs comme un boulet et si on a besoin de plus d’espace, il faut alors acheter de nouveaux disques. Et en cas de panne matérielle, c’est le bordel. Sans parler de la scalabilité horizontale qui devient un véritable casse-tête chinois !

C’est là que l’architecture Zero Disk entre en scène. L’idée est d’une simplicité désarmante : au lieu de stocker vos données sur des disques physiques, vous les envoyez directement dans le cloud, plus précisément sur les disques dur de quelqu’un d’autre qui s’appelle Amazon S3 ou équivalent compatible. Ce service est le coffre-fort numérique le plus fiable au monde avec ses onze-neuf de durabilité (99,999999999%). En gros, ça veut dire que si vous stockiez 10 millions d’objets aujourd’hui, vous pourriez en perdre un seul… dans 10 000 ans !

Comme ça, au lieu d’écrire directement sur un disque local, votre application envoie ses données à S3 sous forme d’objets. Ces objets sont ensuite répliqués automatiquement dans différentes zones de disponibilité pour une disponibilité maximale. L’architecture apporte également une élasticité remarquable : vous pouvez démarrer ou arrêter des instances instantanément, sans vous soucier de la migration des données.

Bien sûr, cette approche présente quelques défis dont le principal est la latence. En effet, un accès réseau vers S3 prend plus de temps qu’un accès disque local. Alors pour contourner ce problème, plusieurs stratégies sont possibles :

  1. Le batching : au lieu d’écrire chaque page de 4Ko individuellement, on les regroupe en paquets plus volumineux (par exemple 512Ko) avant de les envoyer à S3.
  2. La mise en cache intelligente : on garde les données fréquemment accédées en mémoire vive.
  3. L’utilisation de S3 Express One Zone. Il s’agit d’une version optimisée de S3 offrant des latences réduites jusqu’à 10 fois.

Je vous sens dubitatifs, surtout les aficionados de l’auto-hébergement, mais sachez que cette architecture a fait ses preuves ! Des entreprises comme Snowflake, WarpStream ou Clickhouse l’ont déjà adoptée avec succès. Certaines ont même développé des approches hybrides : par exemple, utiliser un cluster Raft comme cache d’écriture avant de persister les données sur S3, optimisant ainsi à la fois les performances et les coûts.

Attention toutefois : ce n’est pas une solution universelle. Si vous gérez quelques petites bases de données, la complexité ajoutée ne vaut peut-être pas le coup. Comme acheter un tank pour aller faire ses courses, c’est rigolo quand on s’appelle Lulu, mais c’est pas forcément pratique !

La vraie magie de l’architecture Zero Disk réside dans sa capacité à transformer des problèmes complexes en solutions élégantes. Plus besoin de jongler avec des disques, ou des RAID. Vous pouvez vous concentrer sur ce qui compte vraiment : développer votre application.

Et les perspectives sont passionnantes ! Avec l’amélioration continue des performances de S3, la baisse des coûts et l’ajout de nouvelles fonctionnalités comme les écritures conditionnelles, on peut imaginer un futur où le stockage local deviendra aussi obsolète que les disquettes 3,5 pouces. Un futur où les développeurs pourront déployer des applications massives sans se soucier des contraintes de stockage. Et où les américains auraient encore plus de données nous concernant !! (bah quoi ?)

Et peut-être que dans quelques années, nous regarderons nos vieux serveurs équipés de disques durs en souriant, comme nous regardons aujourd’hui les vieux modems 56k !

Source