Unis pour mettre en place une version du site Reserve Civique dédié au Covid-19, 3DS Outscale et Scalingo ont réussi un véritable tour de force : en moins de 4 jours, ils ont adapté le code existant au cloud et conçu un site capable d’encaisser 600 transactions par seconde.

Par Marie Varandat

« C’était le mardi 17 mars, se souvient Yann Klis, CEO de Scalingo, éditeur d’une plateforme cloud qui gère le déploiement continu ainsi que la gestion des applications hébergées et propose des services de bases de données dans le cloud. Nous avons été contactés par Réserve Civique, une des start-up d’état du réseau d’incubateurs Beta-gouv : l’état s’apprêtait à annoncer quatre jours plus tard le lancement d’un site dédié à la mobilisation des solidarités dans le cadre de la crise sanitaire et tout restait à faire. En d’autres termes, nous avions quatre jours pour créer un site capable d’encaisser les pics de charge importants qui vont généralement de pair avec des annonces très médiatisées ».

Passer d’un modèle trois-tiers à la micro-segmentation

Yann Klis, CEO de Scalingo

En réalité, le site Réserve Civique existait déjà. Institué par la loi Egalité et Citoyenneté du 27 janvier 2017, il répond « au désir d’engagement des citoyens qui s’est largement manifesté après les attentats de 2015 ». Opérationnel depuis avril 2017, il a pour vocation de mettre en relation des organismes proposant des missions ponctuelles en faveur de l’intérêt général et des volontaires qui souhaitent les réaliser.

Conçu de manière très traditionnelle, le site était hébergé sur un serveur unique avec un code pensé pour une architecture de type trois-tiers. Dit autrement, il ne bénéficiait pas des optimisations pour le cloud : micro-segmentation du code, conteneurisation, etc. qui permettent de répartir la charge et optimiser les temps de réponse en cas de trafic important. « De plus, il supposait des adaptations au niveau des bases de données pour introduire de nouveaux champs liés à la nature des missions spécifiques à la crise sanitaire et bien entendu des mesures de sécurité adaptées au Covid-19, ajoute Yann Klis. La start-upReserve Civique avait réuni ses développeurs dans l’urgence mais en quatre jours la tache semblait irréalisable. En temps normal, nous n’intervenons pas dans le développement des applications de nos clients, notre plateforme s’utilisant en self-service. Mais pour les aider à relever le défi, nous avons mis nos experts à contribution afin de les décharger d’un certain nombre de sujets ».

Un code passé au peigne fin

Le site Réserve Civique dédié au Covid-19

Les experts de Scalingo ont ainsi analysé l’intégralité du site existant en partant du parcours nominal de chaque visiteur afin d’identifier les goulets d’étranglement et ensuite faire disparaître de l’existant toutes les configurations statistiques qui pouvaient freiner une répartition dynamique de la charge. Le code a ensuite été découpé en briques indépendantes, conteneurisées automatiquement par la plateforme afin de répartir la charge sur les serveurs de 3DS Outscale.

Parallèlement, en appui sur les services de bases de données de Scalingo, les développeurs ont construit de nouveaux schémas de données adaptés aux caractéristiques des missions Covid-19 et des volontaires pouvant répondre à ces missions.

Là encore le code a été adapté afin que la répartition des requêtes soit dynamiquement pilotée par la plateforme de Scalingo avec, si besoin, de nouvelles instanciations de bases de données à la volée pour tenir la charge. « L’enjeu de scalabilité était fondamental dans notre démarche. Il n’était pas envisageable que le site tombe comme c’est parfois le cas avec des start-up dont les sites sont submergés de requêtes après une émission de télévision. Nous devions impérativement prévoir une architecture qui tienne la charge après l’annonce du Président prévue le samedi, soit concevoir un site capable d’accueillir jusqu’à deux millions de visiteurs en une demi-heure. Sans les automatisations de notre plateforme pour monter des campagnes de tests et encore pour gérer automatiquement la scalabilité, nous n’y serions probablement pas parvenus dans le laps de temps imparti », ajoute Yann Klis.

Un succès sans faille

David Chassan, directeur de la stratégie de 3DS Outscale

Dans les faits, l’annonce du samedi du Président n’a jamais eu lieu. C’est finalement le Secrétaire d’Etat auprès du ministre de l’éducation nationale et de la jeunesse Gabriel Attal qui en parle le dimanche lors d’une allocution télévisée, l’information étant ensuite relayée le lundi suivant par le Premier Ministre à l’occasion d’une interview dans un journal télévisé et par le Président en milieu de semaine. « A chaque fois, nous avons enregistré d’importants pics de charges. Ils ont été moins importants que prévus à l’origine, l’information ayant été délayée dans le temps. L’architecture redimensionnée pour accueillir 600 transactions par seconde a donc fonctionné de manière optimale », se félicite le CEO de Scalingo.

Réalisée en pro-bono, l’opération a bénéficié de l’infrastructure labellisée SecNumCloud (ANSSI) de 3DS Outscale. « C’était important pour nous de faire bénéficier Reserve Civique des avantages de la plateforme de Scalingo sur une infrastructure hautement sécurisée. Et de manière plus générale de fournir à l’Etat et aux organismes engagés dans cette crise sanitaire des services immédiats et ainsi participer avec nos moyens à l’effort national », conclut David Chassan, directeur de la stratégie de 3DS Outscale.