Résilience des données chez Scalingo

16 avril 2021 - 10 min de lecture
Résilience des données chez Scalingo

Depuis quelques semaines, nos utilisateurs et clients sont de plus en plus nombreux à nous poser des questions à propos de la résilience des données chez Scalingo.

Différentes questions nous ont été posées : Comment stockez-vous mes données ? Où sont-elles stockées ? Comment gérez-vous les sauvegardes et la redondance des données ?

Bien que ces informations soient accessibles publiquement dans notre Accord de traitement des données, il peut être difficile d'en déduire les flux de données.

C'est pourquoi nous avons décidé d'expliquer les flux de données gérées par Scalingo dans un schéma, avec l'aide de notre hébergeur 3DS Outscale.

Notre objectif est d'être aussi transparent que possible sur l'infrastructure que nous utilisons. Cet article couvre uniquement les flux de données et la manière dont nous assurons la redondance.

Pour ceux qui veulent juste un aperçu rapide, vous pouvez découvrir le schéma dans la première partie de l'article.

La deuxième partie vous donnera plus de détails et d'explications sur l'infrastructure.

TL;DR - Le schéma

Quelles sont les données traitées par Scalingo ?

Applications

Lorsque vous poussez votre code, nous construisons une image Docker qui est stockée dans notre registre privé qui utilise Outscale Object Storage (OOS). Dans cet article ou dans le schéma, nous ferons référence à cette image Docker en utilisant simplement le mot code.

Nous exécutons ces images en tant que conteneur sur des instances virtuelles gérées par nos soins. Ensuite nous attachons un disque à ces instances par le biais de la couche "software-defined storage" proposé par Outscale.

Lorsque vos applications fonctionnent, elles génèrent des logs et des métriques qui sont consommés par leurs services internes Scalingo respectifs.

Bases de données

Les bases de données de Scalingo sont des conteneurs Docker exécutés à partir d'images Docker préconstruites par nos soins. Contrairement aux applications, ces conteneurs utilisent un stockage disque persistant.

Dès le premier plan payant, nous effectuons des sauvegardes quotidiennes de votre base de données. Si vous hébergez une bases de données PostgreSQL as a Service, nous effectuons également des sauvegardes PITR (Point-in-Time Recovery). Les sauvegardes sont stockées dans Outscale Object Storage.

De même les logs et metrics sont consommés par leurs services internes Scalingo respectifs.

Scheduler

Le scheduler est le cerveau de la plateforme. Il connaît tous les conteneurs fonctionnant sur la plateforme. Ses données (décrites par le mot configuration dans le schéma) sont stockées une base de données standard de notre offre de base de données à la demande.

Il est intéressant de noter que le scheduler, le service d'authentification, le service de facturation, le service de métrique, le service de logs et tous les services internes sont des applications Scalingo ordinaires bénéficiant des mêmes mécanismes de résilience des données.

Les détails croustillants

Nous hébergeons les applications et les bases données sur l'infrastructure de notre hébergeur 3DS Outscale (filiale Cloud de Dassault Systemes).

Nous proposons actuellement deux régions : osc-fr1 et osc-secnum-fr1.

Dans le schéma, vous pouvez découvrir comment fonctionne notre région osc-fr1. La région osc-secnum-fr1 fonctionne de manière similaire.

Tous les datacentres de cette région sont situés en France (Magny-les-Hameaux, Pantin et un troisième site en banlieue parisienne).

Outscale Region eu-west-2

Comme vous pouvez le voir, la région eu-west-2 est divisée en 2 zones de disponibilité (AZ pour Availability Zone) : eu-west-2a et eu-west-2b.

Les zones de disponibilité sont des centres de données distincts reliés par de la fibre noire (fibre optique dédiée, utilisée uniquement par Outscale).

Chaque zone de disponibilité d'une région dispose de sources d'alimentation et d'une connectivité redondantes et distinctes afin de réduire la probabilité que deux zones tombent en panne simultanément.

Nous allons maintenant découvrir ce qui est stocké dans chaque zone de disponibilité et nous vous vous donnerons un aperçu de la façon dont Scalingo les utilise.

Outscale Availability Zone eu-west-2a

Il s'agit de la zone de disponibilité primaire où nous hébergeons toutes vos applications et vos bases de données. Son datacenter est situé à Magny-les-Hameaux en région parisienne.

Vos applications, vos bases de données et le scheduler sont hébergés sur des instances virtuelles utilisant du disque attaché grâce au "software-defined Storage" proposé par Outscale. Les données sont persistées sur un stockage physique Outscale (nommé sur le schéma Outscale physical storage). Même si nous proposons de l'hébergement "cloud", il y a toujours un stockage physique, comme vous l'avez deviné.

Tous les fichiers de vos applications (code, logs, métriques), de vos bases de données (sauvegardes quotidiennes, sauvegardes PITR, logs, métriques) et celles du scheduler (configuration) sont stockés dans Outscale Object Storage (OOS). Nous vous donnons plus de détail sur OOS un peu plus bas.

Outscale Availability Zone eu-west-2b

Cette zone de disponibilité est située à Pantin qui se trouve également en banlieue parisienne.

Les données de Outscale Object Storage sont également disponibles dans cette zone de disponibilité.

Outscale Object Storage (OOS)

Outscale Object Storage est un service de stockage objet (d'où son nom) avec une API compatible S3.

Les données sont distribuées entre les 2 zones de disponibilité (AZ) de la région.

La redondance d'OOS est configurée pour supporter la perte complète d'une des deux AZ.

Outscale Backup Site

Enfin, la région Outscale dispose également d'un troisème site situé à environ 30 kilomètres de Magny-les-Hameaux et à environ 5 kilomètres de Pantin.

Ce site de sauvegarde est également appelé DRP, ce qui signifie Disaster Recovery Plan.

Dans ce site, des sauvegardes complètes du stockage physique Outscale des deux AZ sont effectuées toutes les 24 heures. Une pour eu-west-2a et une pour eu-west-2b.

Règle d'or 3-2-1 pour les sauvegardes

L'utilisation d'Outscale Object Storage pour stocker les sauvegardes nous permet de respecter la règle d'or 3-2-1 pour les sauvegardes :

  • Conservez au moins 3 copies de vos données.
  • Stockez 2 copies de sauvegarde sur des dispositifs ou des supports de stockage différents.
  • Conservez au moins 1 copie de sauvegarde hors site.

Conclusion

Chez Scalingo, notre vision est de faciliter le travail des développeurs et de construire la meilleure plateforme cloud en Europe pour les développeurs.

Nous prenons beaucoup de responsabilités pour vous afin que vous n'ayez pas à vous en soucier et que vous puissiez vous concentrer sur votre valeur ajoutée : les applications que vous développez et les fonctionnalités que vous apportez à vos clients.

Pour ce faire on s'appuie sur notre partenaire : l'IaaS d'Outscale est certifié ISO 27001 et leurs datacenters sont eux-mêmes certifiés ISO 27001.

Si vous avez besoin d'héberger vos données, n'hésitez pas à me contacter ou à contacter l'un des membres de l'équipe.

Photo by Alicia Mary Smith on Unsplash

Partager l'article
Yann Klis
Yann Klis
Yann KLIS a fondé Scalingo en 2015 avec son associé Léo Unbekandt avec la vision de proposer une plateforme cloud d'hébergement web, véritable alternative européenne et souveraine aux géants américains. Aujourd'hui Scalingo héberge plusieurs milliers d'applications web déployées par des clients du monde entier ! L'objectif de Scalingo est de devenir la plateforme cloud de référence pour les développeurs web en Europe. Auparavant, il a fondé Novelys, un studio de développement spécialisé dans la technologie Ruby on Rails.

Essayez gratuitement Scalingo

30 jours d'essai gratuit / Pas de CB nécessaire / Hébergé en France