Back Market reconditionne son IT de cloud en cloud
Back Market migre son infrastructure IT d’AWS vers GCP, un projet d’envergure visant à redonner la main sur les données aux métiers et à découp(l)er un monolithe devenu pesant pour ses équipes.
La société derrière la fameuse plateforme e-commerce de mise en relation entre clients et vendeurs de produits high tech reconditionnés a annoncé le 19 mars dernier un partenariat avec Google Cloud. Ce type d’annonce intime généralement la préparation à une migration vers le cloud cible. En réalité, cette phase est déjà bien avancée, selon Dawn Baker, CTO de Back Market.
Fondée en 2014, la scale-up valorisée plus de 5 milliards d’euros a levé près de 900 millions d’euros au total. Elle a su s’imposer comme une figure de la French Tech. Elle a déployé sa place de marché dans 18 pays. Cela ne s’est pas fait sans heurts. Récemment, Back Market a essuyé quelques critiques concernant la transparence des informations sur sa marketplace. Un processus que la société tente d’améliorer, selon les dires de ses représentants. En janvier 2023, elle a organisé un plan de départ volontaire concernant 93 de ses 715 collaborateurs pour « s’approcher de la rentabilité ».
Côté IT, l’infrastructure de Back Market commençait à accuser le coup de cette croissance rapide. « Nous voilà dix ans plus tard et la technologie a changé », déclare Dawn Baker qui a rejoint Back Market en juillet 2022. « Nous savons qu’il y a des choses que nous pouvons faire plus efficacement. Nous pouvons mieux profiter des architectures cloud natives qu’à nos débuts et de choses qui n’existaient pas. Par exemple [les fournisseurs de cloud] ont fait des avancées considérables en matière de Kubernetes managé en dix ans ».
Cette réflexion était déjà en cours avant l’arrivée de Dawn Baker : la décision de migrer vers GCP a été prise avant son arrivée.
« Nous avons procédé à une évaluation de notre situation actuelle, ainsi que des mesures que nous pouvons prendre aujourd’hui pour jeter les bases de notre avenir. Cela inclut beaucoup de choses », lance la CTO.
Une migration induite par un changement de plateformes de données
Les deux aspects les plus importants de cette refonte concernent le monolithe de Back Market et son architecture de traitement de données. La scale-up a débuté son projet par ce second aspect.
La société a signé son contrat avec Google Cloud en août 2023 et s’est donné le temps de préparer la migration en fin d’année.
« Les périodes automnales et hivernales sont cruciales pour notre activité, car le gros des achats des clients se fait au cours du quatrième trimestre. Nous ne pouvons pas perturber le site », justifie la CTO.
« Nous avons donc passé l’automne à planifier la manière de bien exécuter notre migration, puis nous avons commencé la migration de nos bases de données en janvier », poursuit-elle.
Il a notamment été décidé de changer la base de données des sites Web, de passer de MySQL à PostgreSQL. Le mois de janvier 2024 a été l’occasion d’effectuer ce changement de base de données sur AWS. « Nous avons standardisé notre plateforme de base de données dans le cadre de la migration. Cela a été la chose la plus risquée que nous ayons effectuée dans le cadre de ce projet », affirme Dawn Baker.
Selon la CTO, il n’est jamais évident de passer d’une base de données à une autre, à cause des risques que cela implique, des incompatibilités potentielles et des inconnus.
« Nous avons ensuite migré vers AlloyDB, une version managée de postgres sur Google Cloud. Nous avons eu à régler des problèmes, ce que nous avons fait rapidement. Cela n’a pas eu d’impact majeur sur la production ».
L’environnement de préproduction était prêt en février dernier. Le passage en production a débuté au mois de mars et devrait se terminer en avril 2024, selon la CTO.
Ce n’est pas réellement une première pour la startup. Avant l’arrivée de Dawn Baker, Back Market a entamé la migration de ses données de Snowflake sur AWS vers BigQuery sur GCP.
« La manière dont nous avions configuré Snowflake au départ était un peu naïve. Ce n’était pas très sophistiqué en matière de traitement de données et de gestion des coûts », constate la CTO. « Si vous ne faites pas bien attention, cela peut devenir très coûteux ».
En l’occurrence, les équipes de Back Market subissaient cette configuration qui causait des problèmes de stabilité dans la production de rapports BI quotidiens. « Ce n’était pas la faute de Snowflake, mais la nôtre. Cela fait partie des choses que nous avons pu “nettoyer” dans le cadre de cette migration », affirme-t-elle.
L’autre raison de ce changement concerne l’accès aux données par les métiers. « Nous voulions améliorer l’accès aux données par les différentes entités métier et par la même occasion la démocratisation des données », assure Dawn Baker.
Il a été décidé d’adopter une approche de type Data Mesh. « Notre équipe responsable de la plateforme de données doit fournir les outils et les connaissances afin que les producteurs de données – les métiers – possèdent leurs propres données. Ce n’était pas le cas avant la migration vers Google Cloud », note la directrice technique.
Ce passage de Snowflake à BigQuery a « clairement contribué » à cet effort de migration complet vers GCP. « Cela a généré beaucoup de coûts de sortie des données (egress cost) entre les fournisseurs cloud », indique-t-elle.
Un monolithe à découp(l)er
Par effet de bord, cela a donc entraîné la migration du monolithe écrit en Python de Back Market.
« Presque toutes les entreprises démarrent avec une base de code monolithique. Cela ne vous sert qu’un temps, à moins que vous n’ayez fait très attention à la façon dont vous l’avez construit, ce qui n’est généralement pas le cas », remarque Dawn Baker.
« Il [le monolithe] vous accélère lorsqu’il est petit et vous ralentit lorsqu’il grossit. Au fur et à mesure que vous grandissez, vous commencez à spécialiser vos produits, et vous voulez savoir combien cela coûte de servir chaque partie de ce que vous offrez, il est très difficile de le faire dans un monolithe », ajoute-t-elle.
Dawn BakerCTO, Back Market
Après une phase de réflexion, les équipes IT de Back Market ont décidé d’orchestrer une migration plutôt qu’une refonte sur l’infrastructure existante, AWS.
« L’une des raisons pour lesquelles nous avons choisi d’opérer une migration cloud à cloud, c’est qu’il est plus simple de “rembourser” la dette technique. C’est quelque chose qui est beaucoup plus difficile à faire sur une infrastructure legacy », explique la CTO.
Selon elle, l’opération a permis de détecter des inefficiences dans le code qui n’étaient pas forcément visibles avant la migration, mais qui auraient pu devenir un problème quelques années plus tard. « Nous avons appliqué une méthode proche du lift and shift, avec des exceptions quand il était urgent de rembourser la dette technique ». Ce monolithe est en cours de modularisation. « Nous avons fait beaucoup d’efforts pour découpler certains services clés. Nous avons procédé à une refonte et créé des microservices », relate-t-elle.
Il n’est pas encore question de décomposer entièrement ce monolithe qui porte la place de marché. « Un ensemble de fonctionnalités resteront dans le monolithe, soit parce qu’elles sont stables et nous n’y touchons pas souvent, soit parce que leur extraction peut être un peu plus complexe, ce qui implique une planification minutieuse », déclare Dawn Baker.
Au-delà des gains de performances, il s’agit de pouvoir analyser plus finement l’origine des coûts de chaque service. « Quand vous commencez à spécialiser vos produits, vous devez savoir combien ils vous coûtent et cela est très difficile à faire dans un environnement monolithique ».
Près de deux tiers des opérations de migration ont été effectuées, d’après la directrice technique. L’équipe de Back Market s’est appuyée sur ses propres moyens et a fait appel à l’équipe de Google Cloud dans une phase de POC. Si en tant qu’ancienne directrice de l’ingénierie chez GCP, la CTO a une bonne connaissance des services Google Cloud, ce n’était pas le cas de l’équipe IT. « Ce POC de deux semaines nous a permis de valider la faisabilité de la migration et de renforcer la confiance de notre équipe dans sa capacité de maîtrise des environnements GCP ».
Pour l’instant, les équipes responsables du développement produit chez Back Market n’ont pas été fortement mobilisées, et ce de manière intentionnelle. Il y aura pourtant des « impacts inévitables » sur leur travail à l’avenir. « La manière dont vous modifiez votre infrastructure affecte le design des applications », signale Dawn Baker. « Si nous voulons un meilleur plan de continuité, si nous voulons améliorer les performances, la manière dont l’infrastructure et les logiciels se complètent, il y aura davantage de changements d’architecture à faire côté logicielle », anticipe-t-elle.
Pourquoi Back Market a choisi Google Cloud
Quant aux choix de Google Cloud en lui-même, il s’explique non seulement par la pertinence de sa plateforme de données pour Back Market, son approche du FinOps, mais aussi par le fait qu’il ne soit pas un concurrent potentiel.
« Je pense qu’un des défis dans le monde du retail, c’est qu’Amazon est votre compétiteur. Même si Amazon et AWS sont des entités commerciales séparées, cela présente un conflit inhérent », note la CTO. « Certains grands noms de la distribution se passent d’AWS ou ont migré pour cette raison. C’est quelque chose de difficile à ignorer ».
Dernière raison et non des moindres, Back Market, en tant que spécialiste de la vente de produits high tech reconditionnés, souhaite affiner sa comptabilité carbone.
« Back Market est très attentif aux deux aspects les plus importants de cette refonte qui concerne le monolithe de Back Market et son architecture de traitement de données. Google Cloud est l’un des fournisseurs les plus avancés en la matière », vante Dawn Baker. « C’est important pour nous qui représentons une entreprise à mission. L’équipe de GCP nous aide dans cette phase de calcul et nous donne plus largement accès aux points clés de sa feuille de route ».
Cette « calculette » consacrée aux émissions carbone de son infrastructure IT n’est pas encore en production, puisque la migration n’est pas terminée. « Cela va devenir un composant important pas seulement dans notre manière de rendre des comptes aux métiers concernant notre empreinte carbone, mais aussi pour détailler le coût d’exécution par fonctionnalité », conclut la CTO.