Challenges / Science et Avenir : La migration vers le stack AWS pour regagner la maîtrise de l’infrastructure et faire avancer la culture DevOps
Pour répondre à la demande croissante des lecteurs d’accès au contenu en ligne, Challenges a décidé de migrer son infrastructure vers le Cloud AWS. Ce qui lui a aussi permis de redynamiser la collaboration entre le DevOps et les développeurs.
Challenges / Science et Avenir : La migration vers le stack AWS pour regagner la maîtrise de l’infrastructure et faire avancer la culture DevOps
Les deux magazines, appartenant au groupe Perdriel, ont par leur site web Challenges.fr et Sciencesetavenir.fr su saisir les opportunités présentées par le numérique et disposent d’une présence en ligne affirmée : « Cette année 2020 nous a vu battre plusieurs records. Le site de Challenges reçoit 7 à 8 millions de visites par mois. De son côté, Sciences & Avenir connaît une fréquentation mensuelle moyenne située autour de 9.5 millions visites avec 29 millions de pages vues au mois de mars.. » raconte Clémence Baudouin, Responsable de projets digitaux chez Challenges.
Les développements de leurs activités numériques n’étaient pas simples à cause d’une infrastructure technique complexe, mal maitrisée et insuffisamment documentée. Conseillés par Pentalog, société spécialisée dans les solutions digitales, Challenges et Sciences et Avenir ont entrepris en 2019 une migration vers les services AWS.
Objectifs :
L’équipe souhaitait avant tout mettre en place une structure qui puisse soutenir la croissance et les pics d’audience des sites Challenges et Sciences et Avenir, mais aussi réussir à automatiser certains process, réduire les risques et encourager de nouveaux développements. Enfin, le groupe avait la volonté de favoriser la collaboration entre les équipes développeurs et ingénieurs infrastructure.
La migration vers une infrastructure plus flexible et mieux maîtrisée
Les équipes de Pentalog ont rapidement identifié plusieurs problématiques dans l’infrastructure historique des sites de Challenges et de Sciences et Avenir, un environnement on-premise basé sur un datacenter classique sur lequel les entreprises louaient des serveurs. Pour ajouter un serveur, les délais pouvaient être très longs (négociation commerciale, installation, provisionnement et configuration…) et pouvaient atteindre un mois et demi. Hormis les périodes de pic, les serveurs étaient en surcapacité par rapport à la fréquentation moyenne. L’entreprise faisait face à une dette technique importante car un certain nombre de développeurs ayant travaillé sur cette infrastructure étaient partis. Le manque de connaissance et de documentation était un véritable problème.
L’infrastructure s’avérait par ailleurs rigide et présentait plusieurs contraintes, que décrit Clémence Baudouin :
« Auparavant, les développements étaient manuels ce qui compliquait les process et obligeait de mener une variété de tests afin de réduire les risques. Nous avions des instabilités à chaque déploiement et étions contraints à faire les développements très tôt le matin pour ne pas déranger les rédactions et les lecteurs. Le moindre changement était vraiment compliqué à gérer. »
Une fois le process de migration vers la nouvelle infrastructure AWS initié, Challenges a pu adopter plusieurs services de l’écosystème AWS :
« La migration nous a permis d’utiliser des services répandus tels qu’EC2 avec des load balancers. Notre approche a été celle d’un « lift and shift » (stratégie consistant à transférer une ou plusieurs activités vers le cloud sans procéder à une refonte) de notre applicatif basé sur Drupal en ajoutant de la scalabilité. Nous avons aussi adopté RDS pour gérer nos bases de données, Cloudfront pour notre réseau de diffusion de contenu ainsi qu’Elasticache.» détaille Guillaume Pousseo, Chief DevOps Officer chez Pentalog.
La migration a résolu les problèmes de flexibilité inhérents à l’infrastructure précédente tout en augmentant la maitrise des équipes. Elle a surtout apporté la scalabilité et la stabilité de l’applicatif. Challenges peut désormais utiliser l’auto-scaling automatique, l’infrastructure peut ainsi réagir aux montées en charge. Durant la crise du coronavirus la hausse de trafic constatée a été gérée sans soucis. D’un point de vue technique, les équipes sont beaucoup plus performantes et rapides, elles peuvent automatiser et aller bien plus vite sur les modifications et ajouts sur l’infrastructure qu’elles maitrisent totalement.
Un renouvellement de la culture DevOps facilité par CDK
Pour cette migration, le choix s’est porté sur le Cloud Development Kit (CDK) qui permet une meilleure documentation et traçabilité des modifications sur la plateforme. C’est un outil de provisionning qui permet de faire de l’infrastructure « as-code ».
« CDK est une extension de Cloudformation qui venait de sortir à l’époque et nous avons sûrement été parmi les premiers en France à l’utiliser sur un projet de cette ampleur. », explique Guillaume Pousseo.
Plutôt que de créer des environnements à la main, tout est fait sous forme de langage de programmation. On peut ainsi beaucoup mieux suivre les évolutions et changements de l’infrastructure car on peut les mettre dans un outil de versionning, ce qui permet à l’équipe de disposer d’un l’historique des modifications. Il est ainsi possible de revenir en arrière si nécessaire, d’avoir une excellente traçabilité et un bon partage au sein des équipes.
L’utilisation de CDK a également impulsé une nouvelle culture de collaboration au sein de l’équipe. Disponible sous forme de langage de programmation, cet outil permet de partager des scripts de provisionnement de l’infrastructure avec les équipes de développement sous des langages qu’elles maîtrisent. L’ingénieur DevOps a également l’opportunité de se mettre dans la logique des langages de programmation. Cela représente un grand pas pour Challenges dans les pratiques DevOps en permettant un meilleur partage de culture, un partage des tâches et une meilleure multidisciplinarité des équipes entre développeurs et ingénieurs infrastructure.
Clémence Baudouin ajoute : « La migration vers AWS nous a donné l’opportunité d’intégrer le DevOps au sein de l’équipe et de « casser les silos » entre DevOps et développeurs. Elle a également permis aux équipes de s’impliquer sur un gros projet et de se l’approprier. Contrairement à l’infrastructure précédente qui non seulement était complexe mais avait été construite par d’autres, leur maitrise est maintenant totale puisqu’ils connaissent tout l’historique de la migration. On a pu assister à un nouvel élan de l’équipe depuis ce projet. »
Elle exprime d’ailleurs de la confiance et de l’enthousiasme pour ce que les équipes vont maintenant pouvoir accomplir :
« Cela fait un an qu’on est passé en cloud. Cela nous a permis de vraiment reprendre la main sur la technique, nos serveurs, notre infrastructure. Grâce à cette remise à plat, nous pouvons désormais construire sur des bases plus solides. Nous disposons d’un ensemble cohérent qui nous permet de tester de nouvelles choses. Le datalake par exemple représente une base de données très riche que nous souhaitons mettre à profit afin de proposer de nouveaux formats aux lecteurs. Nous étions sereins face aux records d’audience, notre infrastructure tient la charge ! Nous n’avons pas eu de downtime y compris au moment de la migration. Nous bénéficions d’une souplesse et d’une stabilité primordiale. » ajoute-t-elle.
À propos de Challenges
Le magazine Challenges occupe une place incontournable dans le paysage médiatique français. Avec une diffusion hebdomadaire supérieure à 190 000 exemplaires, il demeure une référence de l’actualité économique et ses célèbres classements sont attendus avec impatience chaque année. Sciences et Avenir propose de son côté à ses lecteurs des articles de vulgarisation scientifique dans un format mensuel.
Bilan
- Une infrastructure plus réactive et stable (capable de répondre à des pics allant jusqu’à 28 millions de pages vues pour Sciences & Avenir en mars) avec des délais de provisionnement réduits.
- Une infrastructure maîtrisée, automatisée et documentée, plus propice à produire des nouvelles fonctionnalités et à innover.
- Une culture de développement renouvelée suite à un projet commun fédérateur qui accorde plus de place à la multidisciplinarité.
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) est un service Web qui fournit une capacité de calcul sécurisée et redimensionnable dans le cloud.
Amazon RDS
Amazon Relational Database Service (Amazon RDS) vous permet d'installer, de gérer et de mettre à l'échelle facilement une base de données relationnelle dans le cloud.
Amazon CloudFront
Amazon CloudFront est un réseau rapide de diffusion de contenu (CDN) qui distribue en toute sécurité des données, des vidéos, des applications et des API à vos utilisateurs, avec une faible latence et des vitesses de transfert élevées, le tout dans un environnement convivial pour les développeurs.
Amazon ElastiCache
Amazon ElastiCache vous permet de configurer, d'exécuter et de mettre à l'échelle de manière transparente les magasins de données en mémoire compatibles open source courants dans le cloud.