Témoignages de clients / Logiciels et Internet

2020
Logo de Dropbox

Dropbox économise des millions en créant un magasin de métadonnées pouvant être mis à l'échelle sur Amazon DynamoDB et Amazon S3

1 an

Lancement d'un système de stockage de métadonnées sur AWS en un an.

5.5

Réduction des coûts d'utilisation de gigaoctets par utilisateur d'un facteur de 5,5.

Des millions économisés

Économies en coûts de développement se chiffrant en millions de dollars.

300 TO

Migration de 300 To de données en moins de deux semaines.

4 000 à 6 000 requêtes

Ingestion de données à raison de 4 000 à 6 000 requêtes par seconde.

Présentation

L'été 2018 était, pour Dropbox, synonyme de saturation des capacités dans son magasin de métadonnées sur site en raison de la croissance rapide des données de certaines partitions. L'équipe responsable des bases de données de Dropbox avait trois choix : doubler la capacité de stockage sur site (entraînant un coût se chiffrant à des millions de dollars), supprimer plusieurs métadonnées, ou trouver une nouvelle solution pouvant être mise à l'échelle, mais rentable. La troisième option était la meilleure, mais sa mise en œuvre représentait un réel défi. Il restait moins de deux ans avant que le système sur site de Dropbox atteigne sa capacité maximale, et l'équipe responsable de la mise en œuvre du projet n'était constituée que de deux employés.

Au vu de ces circonstances, Dropbox a décidé d'opter pour une solution gérée d'Amazon Web Services (AWS). Avec Amazon DynamoDB, une base de données NoSQL flexible et entièrement gérée dont les performances sont de l'ordre de quelques millisecondes, et ce, à n'importe quelle échelle, et Amazon Simple Storage Service (Amazon S3), un service de stockage d'objets dans le cloud, Dropbox a rapidement développé un nouveau système de stockage géré appelé Alki. L'entreprise s'est vue doter d'un espace pratiquement illimité pour ses métadonnées utilisateur. De plus, ce système a non seulement permis à l'entreprise d'économiser des millions de dollars, car elle n'a pas dû accroître son stockage sur site, mais a également réduit le coût par gigaoctet d'un facteur de 5,5.

701029600

Migration des données de journaux d'audit depuis une base de données héritée vers le cloud

Fondé en 2007 par deux étudiants du MIT (Massachusetts Institute of Technology), Dropbox est un outil mondial de collaboration et un service de partage de fichiers. L'entreprise Dropbox est devenue l'une des startups les plus prospères au monde, comptant plus de 600 millions d'utilisateurs qui chargent plus de 400 milliards de contenus.


À l'origine, les magasins de métadonnées de Dropbox étaient hébergés uniquement dans le magasin de données principal de l'entreprise, Edgestore, qui était lui-même hébergé dans une base de données distribuée sur site créée sur des clusters MySQL partitionnés. Au milieu de l'année 2018, les métadonnées froides en pleine croissance, qui sont des données rarement consultées, mais qui doivent être stockées de manière durable et disponibles instantanément, allaient submerger Edgestore en moins de deux ans. Toutefois, pour accroître la capacité de la base de données sur site, il aurait fallu répartir les partitions existantes et acheter de nouvelles machines pour les héberger, ce qui aurait coûté des millions de dollars par an et donc doublé le coût d'Edgestore. De plus, il n'était plus logique de stocker les métadonnées froides dans la même base de données que les métadonnées chaudes (fréquemment utilisées). « Si vous écrivez des données qui ne sont pas destinées à être lues souvent, leur utilisation sur des supports optimisés en matière de vitesse de récupération est extrêmement coûteuse, sans parler de leur stockage qui est inutile », explique Jonathan Lee, responsable technique de l'équipe responsable d'Alki de Dropbox.


En conséquence, deux employés ont quitté l'équipe responsable des bases de données pour créer Alki, la solution de stockage rentable des métadonnées. Ces derniers se sont particulièrement concentrés sur les données de journalisation d'audit, soit le principal cas d'utilisation des métadonnées froides d'Edgestore. Étant confrontée à un délai serré qui, s'il n'était pas respecté, pourrait entraîner la perte des métadonnées utilisateur, la petite équipe responsable d'Alki a décidé de mettre en œuvre les services gérés d'AWS. Grâce à Amazon DynamoDB et Amazon S3, Dropbox a rapidement prototypé et déployé un magasin de métadonnées froides sur AWS, en un an seulement. Les architectes de solutions AWS ont appuyé l'équipe responsable d'Alki de Dropbox, en lui fournissant des recommandations et en l'aidant dans le processus de mise en œuvre.


« Lorsque vous créez un système de stockage, vous devez réfléchir à de nombreux aspects, notamment la réplication, les sauvegardes et la gestion des capacités. Amazon DynamoDB et Amazon S3 répondent parfaitement à ce besoin ; ce sont des normes du secteur », déclare Lee. « La résolution de ces problèmes se fait sur plusieurs années. Mais Amazon DynamoDB et Amazon S3 simplifient ces problèmes, car AWS gère de nombreuses tâches complexes, telles que la réplication des données, la gestion de la durabilité des données et le provisionnement du matériel. Amazon DynamoDB et Amazon S3 évoluent automatiquement selon nos besoins en matière de capacité. Nous n'avons plus besoin de planifier la capacité sur site et de budgétiser les achats de matériel, et nous ne sommes plus contraints de subir nos décisions pendant quatre ans. »

kr_quotemark

Lorsque vous créez un système de stockage, vous devez prendre en compte la réplication, les sauvegardes et la gestion des capacités. Amazon DynamoDB et Amazon S3 simplifient les problèmes inhérents, car AWS gère de nombreuses tâches complexes. »

Jonathan Lee
Alki Team Tech Lead, Dropbox

Création de magasins de métadonnées chaudes et froides à l'aide des solutions AWS

L'équipe responsable d'Alki, aidée par les architectes de solutions AWS, a créé un système de stockage de métadonnées basé sur un arbre de fusion structurée en journaux (arbre LSM), qui comporte deux couches de stockage de données : une couche supérieure pour les métadonnées chaudes et une couche inférieure pour les métadonnées froides. Amazon DynamoDB agit en tant que couche de stockage à chaud en ingérant les données de journalisation d'audit dans six tables DynamoDB à raison de 4 000 à 6 000 écritures par seconde et par table. Chacune de ces tables stocke 50 à 80 Go par jour. À la fin de chaque journée, l'équipe décharge les métadonnées de ces tables vers Amazon S3 aux fins d'un stockage permanent, et les tables dans Amazon DynamoDB sont ensuite supprimées.

Au début de l'année 2019, moins de six mois après que l'équipe responsable d'Alki avait porté son choix sur Amazon DynamoDB et Amazon S3, Alki en était à la phase bêta de production, ingérant toutes les données et desservant un sous-ensemble des lectures. En octobre 2019, environ 300 To de données des journaux d'audit, soit un quart de l'ensemble des données stockées dans EdgeStore, avaient été migrés vers Alki, qui était désormais en pleine production.

La capacité de mise à l'échelle d'Amazon DynamoDB et d'Amazon S3 a permis à l'équipe de Dropbox de migrer ces données en moins de deux semaines. « Normalement, vous pouvez concevoir un système selon une échelle 10 fois supérieure à celle à laquelle vous vous attendriez pour une utilisation permanente », explique Lee. « Mais nous avons pu effectuer une mise à l'échelle de 100 à 1 000 fois supérieure sur AWS sans concevoir le système à l'avance. » L'équipe responsable d'Alki attendait une utilisation permanente de 4 000 requêtes par seconde, mais elle a pu provisionner Amazon DynamoDB pour gérer 600 000 requêtes par seconde lors de la migration.

Les architectes de solutions AWS ont été d'une grande aide à l'équipe responsable d'Alki tout au long de la migration, selon Lee. « Nous n'avons que des choses positives à dire à propos de notre interaction avec l'équipe AWS qui travaille sur Alki. Cette dernière a toujours été très proactive en nous aidant à détecter les problèmes, en nous indiquant comment accélérer le processus, ou en identifiant les domaines pour lesquels nous devions être plus prudents sur le plan opérationnel », explique Lee. L'équipe responsable d'Alki et les architectes de solutions AWS ont pu rester en communication constante via des canaux en temps réel. L'équipe responsable d'Alki continuera de récolter les fruits de cette collaboration grâce aux services gérés d'AWS. « L'exécution durable d'un système requiert de l'expertise. Nous n'en avions pas », explique Stas Ilinskiy, software engineer au sein de l'équipe responsable d'Alki. « Mais le fait d'utiliser Amazon DynamoDB nous a également permis de nous doter de personnes disposant de cette expertise. »

Alki a permis à Dropbox d'économiser des millions de dollars en coûts de développement et de réduire considérablement les coûts d'utilisation de gigaoctets par utilisateur grâce à Amazon DynamoDB et Amazon S3. Le système Edgestore de Dropbox coûterait aux utilisateurs 5,5 fois plus qu'Alki, en ce qui concerne l'utilisation de gigaoctets par utilisateur et par an.

Création en continu d'une expérience de stockage de qualité supérieure pour les utilisateurs

L'équipe responsable d'Alki étudie comment utiliser Amazon EMR pour décharger plus efficacement les données depuis Amazon DynamoDB vers Amazon S3, un processus actuellement géré par le système de traitement par lots de Dropbox. De plus, afin de réaliser davantage d'économies, Dropbox a migré une autre base de données contenant 300 To de métadonnées froides depuis Edgestore vers Alki en octobre 2020. Cela plante le décor et permet à Dropbox de réfléchir à l'utilisation future d'Alki pour optimiser et réduire davantage les coûts ; l'entreprise pourrait l'utiliser en tant que magasin de métadonnées froides à usage général. « Plutôt que de transférer des cas d'utilisation spécifiques, pourrions-nous intégrer Alki à Edgestore et déplacer les données de manière transparente entre les deux systèmes ? » se demande Lee. « C'est la vision de l'avenir. »

En utilisant Amazon DynamoDB et Amazon S3, l'équipe responsable d'Alki a pu rapidement lancer un stockage de métadonnées durable et pouvant être mis à l'échelle, qui a permis à Dropbox de réaliser des économies considérables. Les services gérés proposés par AWS font de la maintenance de ce stockage une option durable à long terme. La solution a également permis à Dropbox de lancer plusieurs projets que l'entreprise n'était pas en mesure de lancer sur Edgestore. « L'ensemble du projet Alki a été suivi de très près par l'ensemble de la direction », explique Lee. « Nous sommes très satisfaits des performances d'Alki et donc des performances d'Amazon DynamoDB et d'Amazon S3. »

À propos de Dropbox

Dropbox, dont le siège social se situe à San Francisco, propose un emplacement unique pour organiser votre vie et faire avancer votre travail. Avec plus de 600 millions d'utilisateurs enregistrés dans 180 pays, Dropbox a pour mission de concevoir un mode de travail plus simple.

Services AWS utilisés

Amazon S3

Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets qui offre une capacité de mise à l'échelle, une disponibilité des données, une sécurité et des performances de pointe.

En savoir plus »

Amazon DynamoDB

Amazon DynamoDB est une base de données de clés-valeurs et de documents, offrant des performances de latence de l'ordre de quelques millisecondes, quelle que soit l'échelle.

En savoir plus »

Amazon EMR

Amazon EMR est la plateforme leader de big data dans le cloud, dédiée au traitement de grandes quantités de données à l'aide d'outils open source comme Apache Spark, Apache Hive, Apache HBase, Apache Flink, Apache Hudi et Presto.

En savoir plus »

D'autres témoignages de clients du secteur des logiciels et de l'Internet

Aucun élément trouvé 

1

Démarrer

Les organisations de toutes tailles et de tous secteurs transforment leur activité et exécutent leurs missions au quotidien à l'aide d'AWS. Contactez nos experts et démarrez votre transition vers AWS dès aujourd'hui.