Depuis notre déploiement, nous n'avons pas eu de problème majeur avec la plateforme Confluent. À notre échelle, c'est très impressionnant.
Phillipe Pujalte
Infrastructure and Operations Director, Euronext
Première bourse paneuropéenne - couvrant la Belgique, la France, l'Irlande, les Pays-Bas, le Portugal et le Royaume-Uni -, Euronext exploite des marchés réglementés de valeurs mobilières et de produits dérivés à Amsterdam, Bruxelles, Lisbonne et Paris, ainsi qu'un marché réglementé des titres en Irlande et au Royaume-Uni. Euronext a récemment développé une nouvelle plateforme de négociation événementielle, Optiq®, qui décuple la capacité de négociation et offre une latence moyenne de performance de 15 microsecondes pour les ordres aller-retour et les données du marché.
La plateforme Optiq s'appuie sur une couche de persistance que l'organisation de développement d'Euronext a construite à l'aide de Confluent Platform. Confluent Platform fournit une infrastructure de streaming fiable et évolutive pour Optiq, et prend en charge les latences en millisecondes sans perte de messages. « Quand nous nous sommes lancés, la technologie Kafka ne nous était pas familière, et nous avions décidé de l'utiliser pour une application très critique de notre système », explique Philippe Planchon, Architecte et Directeur des Solutions de Trading Innovantes chez Euronext. « Avec Confluent, nous nous sommes sentis soutenus dans notre décision. Nous savions que nous pourrions bénéficier du niveau d'expertise et de support nécessaires pour nous préparer ou résoudre tout problème potentiel. » C'était un élément clé de notre succès. »
Défi
Lors de la conception et du développement d'Optiq, les équipes Euronext ont fortement insisté sur la fiabilité et la capacité d'évolution à grande échelle. « Il s'agissait d'un énorme projet : une infrastructure de courtage de messages ultra-fiable et facile à faire évoluer en ajoutant des nœuds au fil de l'évolution des besoins commerciaux, » explique Philippe Pujalte, Infrastructure & Operations Director chez Euronext. Les critères de performance pour cette infrastructure de messagerie étaient extrêmement stricts. « Il nous fallait une plateforme de streaming capable de consommer jusqu'à un million de messages par seconde, avec une latence en temps réel de l'ordre de la milliseconde. C'est pourquoi nous avons commencé à nous intéresser à Kafka, » ajoute Philippe Pujalte.
Euronext est au cœur de l'économie européenne. Des marchés financiers entiers dépendent de cette plateforme, d'où la nécessité d'une solution fiable. « Notre objectif était de construire une plateforme centrale pour soutenir la capitalisation boursière de six pays européens,* » rappelle Alain Courbebaisse, Chief Information Officer chez Euronext. « En tant qu'organisation, nous sommes très attachés à la notion d'open source. C'était donc un critère supplémentaire à prendre en compte, et nous voulions absolument être accompagnés par des experts. » Euronext souhaitait bénéficier d'un support spécialisé sur trois points principaux : « À l'approche de la date de lancement, nous avons voulu nous assurer que nous avions pris les bonnes décisions d'implémentation, que nous n'aurions pas de problème avec le déploiement de l'infrastructure et que nous serions en mesure de l'exploiter pleinement. »
Solution
Après avoir évalué plusieurs alternatives de plateformes de streaming, Euronext a choisi Confluent Platform et Apache Kafka® pour la couche de persistance de la plateforme de trading multimarchés Optiq.
L’équipe de développement d’Euronext a commencé par un prototype de validation de principe : un moteur de « matching » basé sur Kafka pour un carnet d’ordres avec acheteurs et vendeurs. Les essais avec ce prototype, dans lequel les données ont été transmises à de multiples consommateurs via Kafka, ont démontré qu'il était capable de répondre aux exigences globales de haute performance de la plateforme.
« Grâce à notre premier benchmark avec Kafka, nous avons constaté que la capacité à ingérer des messages jusqu’à un taux d’un million par seconde était facilement atteinte », explique Philippe Pujalte. « De plus, l’intégration de Kafka avec notre environnement C++ était simple à mettre en œuvre via l’API et la bibliothèque. Dès le début de ce grand projet, il était évident que Kafka était le bon choix pour nous. »
Suite au succès de ce proof-of-concept, l'équipe a lancé un projet en plusieurs phases avec pour objectif de construire la plateforme de production. La première étape clé consistait à remplacer les passerelles des données du marché de l'infrastructure existante par une nouvelle version basée sur Kafka. Cette passerelle gère plusieurs milliards de messages chaque jour : les données de marché sont envoyées aux vendeurs ainsi qu'aux traders sur Euronext pour leur permettre d'optimiser leurs stratégies.
« La nouvelle passerelle de données du marché envoie une quantité phénoménale de données via Kafka, » explique Philippe Pujalte. « Ce projet a encore confirmé que Kafka était la bonne solution pour nous, et nous a permis d'apprendre à utiliser Kafka en conditions réelles. »
Au moment du déploiement de la passerelle de données, l'équipe avait déjà commencé à développer d'autres composants, notamment un Matching Engine et des passerelles pour les membres. Durant cette même période, l'équipe a commencé à collaborer avec des ingénieurs Confluent pour ajuster certains aspects de l'implémentation afin d'assurer des performances constantes, même en cas de surcharge. « Le support de Confluent était un véritable avantage pour nous. Confluent nous a aidés à optimiser notre structure de données pour améliorer nos performances, » ajoute Philippe Pujalte.
Pour optimiser la couche de persistance des données, l'équipe a développé de nombreuses applications Kafka, notamment des applications pour communiquer avec des chambres de compensation, surveiller les temps de latence, fournir des passerelles de données utilisées par les régulateurs, envoyer des données vers une base SQL pour des opérations de marché, dupliquer des données pour réduire les risques en cas de sinistre, ou encore les enregistrer dans des entrepôts de données conformes aux régulations.
L'équipe a aussi développé des applications qui s'appuient sur la librairie Kafka Streams API pour enrichir les données en temps réel. Par exemple, elle a conçu une application qui utilise les messages et les ordres apparentés, et combine leurs informations pour créer un message plus complet, qui contient toutes les données requises par les régulateurs.
Pour tous ses marchés au comptant, Euronext utilise désormais la plateforme de trading Optiq, agrémentée de sa couche de persistance des données établie avec Confluent Platform.
Résultats
Objectif de fiabilité des opérations 24 h/24 et 5 j/7 atteint et maintenu sur la durée. « Il est essentiel pour nous d'avoir une forte disponibilité et de pouvoir opérer de manière fiable 24 h/24 et 5 j/7, » explique Philippe Pujalte. « Depuis notre déploiement, nous n'avons pas eu de problème majeur avec Confluent Platform. À notre l'échelle, c'est très impressionnant. »
Dépassement des attentes en matière de performance. « Confluent Platform nous a permis de répondre à nos critères les plus stricts en matière de débit et de latence », explique Philippe Pujalte. « Confluent Platform prend en charge les opérations en temps réel avec une latence de l'ordre de la milliseconde, et elle est en mesure de traiter plusieurs millions de messages par seconde, pendant des heures. »
Un soutien spécialisé et dédié. « Avant notre lancement, nous avons travaillé étroitement avec les ingénieurs de Confluent, qui nous ont aidés durant la phase de préparation », explique Philippe Planchon. « Notre plateforme de trading, propulsée par Confluent Platform, a été lancée avec succès et sans problèmes majeurs, ce qui a confirmé à nos yeux la qualité de l'expertise et du soutien dont nous avons bénéficié. »
Lancez-vous sur Confluent dès aujourd'hui
Pour toute inscription, recevez 400 $ à dépenser sous 30 jours.