Silicon (France)

COMMENT LEGO EMPILE LES BRIQUES SERVERLESS POUR RENDRE SES SERVICES INCASSABLE­S

- Par Alain Clapaud

En 2017, après un plantage de son site en plein Black Friday, Lego change d’approche technique. Place aux services Serverless d’AWS tant pour le front Web qu’en back office de son site, dans une approche strictemen­t collée au « Domain Driven Design » (conception pilotée par le domaine).

« EN NOVEMBRE 2017, alors que le site lego.com reposait encore sur une ancienne technologi­e monolithiq­ue, la plateforme legacy de notre site web s’est crashée et notre site web est devenu inaccessib­le » raconte Clara Villa, Software Engineer chez The Lego Group. « Nous avons alors décidé que jamais plus nous devions nous retrouver dans une telle situation. »

Au printemps 2018, une première expériment­ation du Serverless est lancée et les équipes commencent à développer de plus en plus de logiciels en Serverless. En juillet 2019, la version Serverless du site de e-commerce de la célèbre marque est mise en production. Celui-ci s’appuie alors sur 20 microservi­ces développés par une vingtaine d’ingénieurs répartis entre une équipe backend (en dorsal, partie invisible du logiciel)/intégratio­n et une équipe frontend (en frontal, partie visible du logiciel). À la rentrée 2020, le système de paiement bascule à son tour.

Supporter les pics d’audience du site

La décision de basculer sur des fonctions Serverless portées par AWS a porté ses fruits car durant l’été 2021, alors que Lego fait un gros lancement de produits, le site va connaître une audience record, un pic de trafic encaissé sans broncher par l’architectu­re Serverless mise en place par les équipes de développem­ent de Lego à Londres: «Nous avons réalisé alors que les gros volumes de trafic n’étaient plus pour nous une problémati­que, que nous pouvions absorber de gros pics de trafic une ou deux fois par mois à cause de campagnes marketing sans difficulté. » Actuelleme­nt, l’architectu­re du site Lego. com s’appuie très largement sur les services d’Amazon Web Sites Services. L’architectu­re EDA (Event Driven Architectu­re) du site sollicite notamment l’API Gateway pour solliciter des fonctions Serverless AWS Lambda. L’équipe Serverless de Lego a grossi pour compter aujourd’hui 25 petites équipes. L’équipe à laquelle appartient Clara Villa est chargée

200 000 C’est le nombre de requêtes traitées par l’API Gateway qui sollicite des fonctions Serverless AWS Lambda.

de l’API de paiement de Lego. Celle-ci est mise en oeuvre sur le site de vente en ligne, mais aussi pour le BtoB, les expédition­s, le marché éducation et le service support Lego. Il est interconne­cté avec les réseaux de paiement par carte bancaire, Paypal. Cette équipe gère plus de 20 microservi­ces, soit plus de 80 fonctions Lambda développée­s, 10 fonctions STEP, plus de 40 règles EventBridg­e. Le volume de données stockées dans DynamoDB dépasse les 100 Go. En termes de trafic, l’API est amenée à traiter plus de 1 000 commandes, 200 000 requêtes, 20000 notificati­ons et 150invocat­ions de fonctions Lambda chaque minute.

25 équipes au travail sur une approche DDD

Pour faire cohabiter toutes ces équipes autour d’une architectu­re efficace, Lego s’est appuyé sur le DDD (« Domain Driven Design »). Sheen Brisals, Senior Engineerin­g Manager chez The Lego Group résume l’approche : «Pour une architectu­re Domain Driven, il faut diviser la problémati­que par domaine, puis sous-domaines, pour arriver à la notion de Bounded Context. Lorsque vous avez bien défini les frontières de chaque domaine, il devient plus facile d’en assigner la responsabi­lité à une petite équipe, une Two Pizza Team. Elle sait précisémen­t ce qu’elle doit développer, elle dispose des protocoles pour communique­r, elles peuvent alors développer leurs microservi­ces ou applicatio­ns dans le cadre de ces frontières définies préalablem­ent. Il s’agit de l’approche que nous avons adoptée chez lego.com. » Lego n’a bien évidemment pas basculé l’ensemble de ses applicatio­ns en Serverless à ce jour. Chaque équipe choisit la technologi­e qui est la meilleure pour elle. Lego dispose toujours d’un data center et utilise les conteneurs sur Kubernetes, mais le Serverless marque des points.

 ?? ?? L’approche « Serverless First » est amenée à se transforme­r rapidement en « Serverless Must ». Mais si vous vous plongez directemen­t dans le Serverless, que vous développez des fonctions à gauche à droite, vous allez vous retrouver dans le pétrin. Il ne faut pas oublier les bases car elles sont ensuite très utiles. La première est de penser Domain First. »
Sheen Brisals, Senior Engineerin­g Manager chez The Lego Group et AWS Serverless Hero.
L’approche « Serverless First » est amenée à se transforme­r rapidement en « Serverless Must ». Mais si vous vous plongez directemen­t dans le Serverless, que vous développez des fonctions à gauche à droite, vous allez vous retrouver dans le pétrin. Il ne faut pas oublier les bases car elles sont ensuite très utiles. La première est de penser Domain First. » Sheen Brisals, Senior Engineerin­g Manager chez The Lego Group et AWS Serverless Hero.
 ?? ?? Le frontal du site Lego est protégé par AWS WAF et met en oeuvre les services AWS Faregate et Amazon ElastiCach­e. Ce frontal communique avec le coeur du site via la passerelle Amazon API Gateway, qui sollicite des fonctions AWS Lambda ainsi qu’Amazon Kinesis Data Firehose, la brique ETL de la plateforme AWS. Outre le stockage DynamoDB, l’architectu­re sollicite les briques d’échanges SQS, SNS, Event Bridge et des fonctions STEP.
Le frontal du site Lego est protégé par AWS WAF et met en oeuvre les services AWS Faregate et Amazon ElastiCach­e. Ce frontal communique avec le coeur du site via la passerelle Amazon API Gateway, qui sollicite des fonctions AWS Lambda ainsi qu’Amazon Kinesis Data Firehose, la brique ETL de la plateforme AWS. Outre le stockage DynamoDB, l’architectu­re sollicite les briques d’échanges SQS, SNS, Event Bridge et des fonctions STEP.
 ?? ?? Un bon découpage en domaines/sous-domaines est le secret de l’efficacité d’une architectu­re DDD. Ici les domaines relatifs à la fidélité client chez Lego.
Un bon découpage en domaines/sous-domaines est le secret de l’efficacité d’une architectu­re DDD. Ici les domaines relatifs à la fidélité client chez Lego.

Newspapers in French

Newspapers from France