Le Blog Amazon Web Services
Comment Dow Jones a migré et modernisé ses bases de données essentielles en une seule fois pour gagner en efficacité et en rentabilité
À propos de l’architecture de plateforme de Market Data
À pleine capacité, Dow Jones traite plus de 3 000 demandes par seconde via la plateforme Market Data. Les données vont de la tarification officielle de fin de journée des bourses aux données de tarification en temps réel, en passant par des informations sur les entreprises et des données cartographiques. La plateforme Market Data de Dow Jones ingère, normalise et fait apparaître ces données de marché dans l’ensemble du Dow Jones. Compte tenu de sa valeur stratégique pour l’entreprise, la plateforme doit être hautement fiable, évolutive et rapide, et fournir des données de marché en temps réel aux consommateurs en quelques millisecondes, tout en se protégeant des temps d’arrêt.
Avant la modernisation de la plateforme, le système était composé de plus de 44 applications distinctes exécutées sur 200 serveurs sur site répartis en quatre groupes principaux.
La principale couche de stockage de données de la plateforme était un système de gestion de base de données relationnelle sur site de 2 To basé sur Microsoft SQL Server 2008 R2. Cette base de données a servi de référentiel central pour toutes les données relatives au marché, en stockant toutes les données pour le système d’application. Par exemple, elle hébergeait des données sur chaque entreprise directement liées à sa cotation en bourse. La base de données du serveur stockait également les données opérationnelles de Market Data pour le traitement des transactions, y compris toutes les données de prix historiques remontant aux années 1970.
Certaines applications qui gèrent et fournissent des données de marché aux consommateurs étaient centrées autour de la base de données SQL Server. La migration vers AWS a permis le retrait de ces systèmes, notamment :
- DJ Symbology System, qui fournissait le mappage réel des « codes d’entreprise » (par exemple, le symbole Dow Jones Ticker) avec des cotations en temps réel ou différées pour des entreprises américaines, canadiennes et mondiales.
- Le groupe d’applications Real-Time Feed Processor, qui était chargé de maintenir des données à la seconde près lorsque les marchés étaient ouverts et que les actions se négociaient. Ces applications étaient connectées à de nombreuses sources, ingérant des données et les intégrant à la plateforme Market Data.
- Les systèmes intrajournaliers étaient chargés de maintenir l’état du marché. Enfin, les API orientées client ont été migrées. Il s’agit des systèmes de rapports utilisés pour générer des fichiers XML pour les clients et le produit imprimé, ainsi que le système de création de graphiques et l’API Market Data principale.
Chacune de ces applications était responsable d’une partie différente de l’architecture de Market Data, comme la gestion des alertes, le calcul des index, la diffusion des prix et la mise à jour de son moteur de requêtes.
Du point de vue architectural, la base de données Market Data SQL Server sur site comprenait jusqu’à 15 instances de serveur de base de données individuelles, réparties dans deux centres de données disparates aux États-Unis. Dow Jones a utilisé la mise en miroir de bases de données SQL Server pour améliorer la disponibilité et la protection des données en cas d’échec. Quatre instances principales ont été mises en miroir dans les deux centres de données disparates, tandis que les autres instances de serveur ont été divisées en 2 instances Distributeur et 9 instances Abonné. L’instance principale du serveur principal a servi la base de données pour tous les clients à partir d’un seul centre de données. Entre-temps, l’instance de miroir principale a fait office de serveur de secours à chaud en cas d’échec du serveur principal. Une instance Distributeur dans chaque centre de données gérait la réplication synchrone vers les nœuds Abonné locaux. Toutes les écritures ont été traitées par le serveur principal dans le centre de données principal, tandis que les lectures ont été traitées par les 9 instances Abonné réparties dans les deux centres de données.
Présentation de la migration et de la modernisation de Dow Jones
Pour accélérer le délai de production, l’équipe de Dow Jones a utilisé une stratégie de migration vers le cloud « lift-and-shift » pour migrer les composants principaux de son application Market Data vers AWS. Cette stratégie a permis à Dow Jones d’accélérer la migration avec un minimum de modifications de code, sans avoir à repenser l’ensemble de l’application. Cette approche serait transitoire : une fois que Dow Jones a adopté AWS, l’entreprise avait prévu de se moderniser et de passer à une approche native cloud. Les services cloud et les optimisations d’AWS ont apporté des avantages significatifs qui ont permis de plus facilement mettre à niveau et restructurer le système.
Afin de gérer les coûts de licence au cours de ce processus, l’entreprise a mis à niveau sa base de données MS SQL Server sur site existante de 2 To vers une base de données native cloud, ce qui lui a permis de tirer pleinement parti de la fiabilité, de la capacité de mise à l’échelle, de la gestion et de l’optimisation des coûts que ce type de base de données AWS fournit. Market Data a donc été restructuré à l’aide d’Amazon Aurora. Amazon Aurora est une base de données relationnelle compatible avec MySQL conçue pour le cloud qui combine les performances et la disponibilité des bases de données commerciales haut de gamme avec la simplicité et la rentabilité des bases de données open source.
Selon Luke Sawatsky, responsable de l’ingénierie logicielle chez Dow Jones, « la migration d’une base de données SQL Server sur site vers Amazon Aurora MySQL a été un processus simple qui a nécessité plusieurs étapes clés ».
Étape 1 : Convertir le schéma de base de données
Conversion automatique du schéma à l’aide d’AWS Schema Conversion Tool
Avant de déplacer ses bases de données de 2 To de MS SQL Server vers une base de données cible Amazon Aurora MySQL, Dow Jones devait créer le schéma cible. Pour faciliter ce processus, l’entreprise a utilisé AWS Schema Conversion Tool (AWS SCT) afin de convertir son schéma de base de données existant de MS SQL Server vers Amazon Aurora MySQL.
Dans le cadre de ce processus, Dow Jones a généré le rapport d’évaluation de la migration de la base de données AWS SCT. Ce rapport évaluait la part du projet pouvant être réalisée à l’aide d’AWS Schema Conversion Tool et les autres mesures à prendre pour terminer la conversion. Le rapport était un outil extrêmement précieux car il résumait toutes les tâches de conversion de schéma et détaillait les actions du schéma qui n’ont pas pu être converties en instance de base de données cible Aurora MySQL.
Après avoir terminé cette analyse, Dow Jones a découvert que 99,8 % de ses objets de stockage de base de données (par exemple : schémas, tables, index, types, type de table, etc.) et 52 % des objets de code de base de données (par exemple : déclencheurs, vues, procédures, fonctions) pouvaient être convertis automatiquement ou avec des modifications minimales à l’aide d’Amazon Aurora compatible avec MySQL en tant que cible de migration. En outre, 97 % de l’ensemble du schéma de la base de données de Dow Jones a pu être converti automatiquement vers Amazon Aurora (compatible avec MySQL).
Conversion de schéma manuelle
Alors que la plupart des tâches de migration pouvaient être automatisées, certains aspects nécessitaient une intervention manuelle. Le rapport signalait un objet de stockage de base de données et 38 objets de code de base de données avec des « actions importantes » nécessitant une intervention manuelle.
Par exemple, l’un des principaux problèmes d’objet de code de base de données était lié à l’utilisation par Dow Jones de curseurs globaux :
Il s’avère que le cadre de curseurs Aurora MySQL était plus simple que SQL Server et ne fournit que les types de serveurs de base. Si le code de Dow Jones s’était appuyé sur des fonctions avancées du curseur, il aurait fallu le réécrire complètement. Au lieu de cela, Dow Jones a pu résoudre ce problème en utilisant des tables temporaires.
Dow Jones a rencontré un deuxième problème lié à une fonction SQL Server. Cette fonction utilisait une déclaration SQL imbriquée pour obtenir une arborescence d’enregistrements et ses registres parents. Comme cette récursion ne pouvait pas être recréée dans MySQL, Dow Jones a dû réécrire la déclaration SQL en C#.
Pour chaque problème de conversion, Dow Jones a modifié les objets de la base de données SQL Server source afin qu’AWS SCT puisse convertir ces objets dans la base de données Aurora MySQL cible avec succès. Grâce à SCT, Dow Jones a pu vérifier le rapport d’évaluation après chaque itération.
Au cours de cette étape, plusieurs petites preuves de concept ont été exécutées en parallèle pour valider que les modifications de code fonctionnaient comme prévu. Dow Jones a poursuivi ce processus jusqu’à ce qu’il ne trouve aucun autre problème de conversion. Au total, Dow Jones estime qu’il a fallu un mois à un ingénieur pour réécrire le code de ses procédures stockées. Dow Jones a constaté que la résolution d’un problème de code permettait souvent de résoudre d’autres problèmes simultanément, réduisant ainsi le temps total passé. Une fois toutes les conversions terminées, Dow Jones a appliqué les modifications de schéma à la base de données Aurora MySQL et était prêt pour l’étape suivante, la migration des données.
Étape 2 : Migrer des données avec AWS Database Migration Service
En utilisant AWS Database Migration Service (AWS DMS), Dow Jones a pu migrer rapidement et en toute sécurité ses données en continu depuis le serveur SQL sur site vers Amazon Aurora MySQL. La base de données source est restée pleinement opérationnelle pendant la migration, ce qui a permis de minimiser les temps d’arrêt des applications Market Data qui s’appuyaient sur sa base de données. Lors de la configuration de la tâche de migration de la base de données, Dow Jones a choisi l’option « Migrer des données existantes et répliquer des modifications en cours ». Cela a permis à AWS DMS de saisir et d’appliquer les modifications, même après le chargement des données en masse. AWS DMS a géré la complexité de la migration complète des données et a mené à bien le processus en 24 heures. Enfin, la tâche de réplication d’AWS DMS a été mise à jour vers « CDC uniquement » afin de garantir la synchronisation des deux bases de données jusqu’au basculement final.
Étape 3 : Phase de test interne et évaluation d’AWS Well Architected
Au cours de l’étape suivante de la migration, Dow Jones a lancé une longue période de tests internes afin de s’assurer que la plateforme Market Data était prête pour la production. Pendant cette période, Dow Jones a collaboré avec des experts AWS pour effectuer une évaluation AWS Well-Architected Review (WAR) de la plateforme. Cette étape cruciale a permis à Dow Jones d’utiliser les bonnes pratiques afin de garantir l’excellence opérationnelle, la sécurité, la fiabilité et l’efficacité des performances. Pour garantir son succès, Dow Jones a pris la décision stratégique de surapprovisionner la capacité plutôt que d’optimiser les coûts. L’optimisation des coûts a ensuite été prévue dans le cadre d’une initiative post-migration.
L’évaluation Well-Architected de Market Data a permis de découvrir plusieurs problèmes techniques clés liés à l’architecture AWS actuelle qui nécessitaient une attention et des solutions immédiates. Plus important encore, l’équipe de Market Data a pu proposer un plan d’action détaillant les recommandations de bonnes pratiques suivantes :
- Allouer des types/tailles d’instance de base de données identiques pour les réplicas en lecture et le nœud Écrivain dans le cluster global Aurora afin de protéger la base de données en cas d’échec.
- Équilibrer le nombre d’instances entre les régions principale et de sauvegarde.
- Définir une durée de vie DNS appropriée (1 seconde) pour l’application.
- Mettre à l’échelle horizontalement pour répondre à la demande.
- Implémenter l’automatisation pour garantir que le cluster ne tombe jamais en dessous d’un seuil défini.
- Surapprovisionner pour la quantité maximale et réduire la taille et/ou la classe d’instance hors pointe à l’aide de l’automatisation/de la mise à l’échelle automatique.
- Exécuter des tests complets de charge et de résilience « à grande échelle » de la base de données Aurora avant la date de mise en service.
Le résultat final : Dow Jones a réussi à moderniser sa base de données SQL Server héritée sur site en une architecture de base de données native cloud évolutive et résiliente. Cette base de données native cloud comportait un cluster mondial Amazon Aurora avec un nœud Écrivain et cinq nœuds Lecteur en Virginie (us-east-1) et six nœuds Lecteur dans l’Ohio (us-east-2).
Étape 4 : Basculer la base de données Aurora MySQL en production
À ce stade du processus de migration, Dow Jones disposait de deux environnements de base de données parallèles opérationnels pour Market Data :
- Une base de données Aurora MySQL native cloud fonctionnant en mode test sur AWS ; et
- Un serveur MS SQL Server sur site qui fournit des données de production aux clients.
Ensuite, Dow Jones s’est efforcé de faciliter le passage à Aurora MySQL sans que chaque client doive modifier ses points de terminaison. Afin de relever ce défi, l’équipe de Market Data a utilisé un service de mandataire appelé NGINX pour rediriger les demandes de données des clients sur site vers AWS. Les clients de Dow Jones ont ainsi pu bénéficier d’un service ininterrompu. En 8 heures, des mandataires ont été installés, les entrées DNS ont été mises à jour et les clients de Market Data ont été connectés avec succès à la base de données Aurora MySQL sur AWS. Deux semaines plus tard, la base de données MS SQL Server sur site a été officiellement arrêtée et tout le trafic de production atteignait la base de données Aurora MySQL sur AWS. Le basculement vers Aurora MySQL est terminé.
Étape 5 : Optimiser les bases de données après la migration
Le parcours de migration de Dow Jones ne s’est pas terminé une fois qu’il a migré vers AWS. Il y a eu une étape post-migration. Au cours de cette étape, Dow Jones a abordé les opportunités d’optimisation des coûts et de redimensionnement dans l’ensemble de son infrastructure AWS. À l’aide des métriques Amazon CloudWatch et du logiciel de gestion CloudHealth pour analyser les données, Dow Jones a rapidement déterminé, sur la base des exigences actuelles en matière de performances et d’utilisation pour la charge de travail de Market Data, que les types/tailles d’instances de base de données qu’il utilisait pour Aurora MySQL étaient considérablement surapprovisionnés. À la suite de cette analyse, Dow Jones a pris des mesures pour ajuster le type/la taille d’instance de la base de données Aurora MySQL afin de mieux répondre aux exigences de capacité actuelles et d’éliminer deux nœuds Lecteur par région pour encore plus d’économies. Après le redéploiement, Dow Jones a pu réduire ses dépenses de manière significative.
Conclusion
Dow Jones devait s’assurer que sa plateforme Market Data stratégique reste sécurisée, performante, résiliente et efficace. En migrant et en modernisant Microsoft SQL Server sur site vers Amazon Aurora, Dow Jones a démontré des avantages en termes de coûts, tout en profitant des outils natifs cloud. Grâce à des fonctions telles que l’approvisionnement automatique du stockage et les réplicas d’Amazon Aurora, il est plus facile pour Dow Jones de maintenir et de répliquer ses données.
AWS peut vous aider à évaluer comment votre entreprise peut tirer le meilleur parti du cloud. Rejoignez les millions de clients AWS qui nous font confiance pour migrer et moderniser leurs applications les plus importantes dans le cloud. Pour en savoir plus sur la modernisation de Windows Server ou SQL Server, visitez Windows sur AWS. Contactez-nous pour commencer votre migration dès aujourd’hui.