Comment Amarena (groupe Cafom) s'est doté d'un stockage fiable dans Kubernetes

Filiale digitale du groupe de distribution Cafom, Amarena s'appuie sur la solution Ondat pour fournir un stockage distribué et persistant à ses applications e-commerce hébergées sur Kubernetes.
PublicitéAmarena est une filiale du groupe Cafom, un distributeur présent sur tous les territoires français d'Outre-mer. Dans les DOM-TOM, le groupe exploite un certain nombre de marques en franchise, notamment But et Darty via un contrat de licence de marque, mais il détient également ses propres marques. En 2020, Cafom a décidé d'entamer une transformation digitale en se lançant dans la création de sites e-commerce pour ces enseignes, mais aussi en développant de nouvelles activités inédites sur ces territoires. Le groupe a confié à sa filiale Amarena l'ensemble de ces projets ainsi que ses systèmes d'information
Ces projets, entamés le 2 janvier 2021, ont dû composer avec plusieurs contraintes. Parmi celles-ci figurait la présence d'un patrimoine applicatif difficile à intégrer. Ainsi, les différentes enseignes partenaires s'appuient sur des systèmes historiques peu ou pas documentés, développés pour la plupart sur AS/400, avec des serveurs installés localement. À cela s'ajoutent des problématiques d'accès réseau, avec des magasins qui jusqu'à récemment étaient encore reliés en ADSL.
Mettre en oeuvre un stockage distribué et persistant
Face à ces enjeux, Amarena a choisi de démarrer avec une infrastructure hébergée localement, excluant le recours au cloud au moins durant la phase de construction de son système d'information. « Nous avons fait appel à OVH, chez qui nous pouvons avoir du matériel performant, bien moins cher que l'équivalent sur le cloud. Nous avons également mis en place un réseau privé géré par un partenaire, qui n'est pas ouvert sur Internet pour des questions de sécurité », précise Paul Guichon, directeur SRE (site reliability engineering) chez Amarena. Pour répondre aux besoins de flexibilité, d'élasticité et de performance des futures applications, Amarena a décidé de déployer une infrastructure virtualisée et conteneurisée sur les machines bare metal fournies par OVH. Estimant que la plateforme Kubernetes était suffisamment mature aujourd'hui, Paul Guichon a choisi d'installer une distribution Rancher RKE sur l'hyperviseur de Proxmox. Trois clusters, destinés au staging, à la pré-production et à la production ont été mis en oeuvre. « Il s'agissait de bâtir quelque chose de simple, facilement documentable et transmissible, avec des métriques normalisées », explique Paul Guichon. Ce choix permettait en outre d'accélérer le développement, en permettant de porter facilement des portions de code legacy sur la nouvelle plateforme, afin d'en faire des services en attendant de pouvoir les réécrire.
Les projets envisagés étaient pour l'essentiel des applications transactionnelles stateful, qui nécessitaient des bases de données robustes, capables de réindexer rapidement et fréquemment des catalogues avec des milliers de fournisseurs et de produits. Amarena a choisi d'héberger ces bases directement sur Kubernetes. Toutefois, un autre enjeu a surgi à ce moment-là : la mise en oeuvre d'un stockage distribué et persistant sur cette infrastructure s'est révélée compliquée, car les mécanismes fournis dans Kubernetes ne sont pas adaptés à de gros projets avec des exigences fortes en termes de performance. Par ailleurs, dans la plateforme un volume persistant ne peut être attaché qu'à un cluster d'un seul noeud, avec tous les problèmes potentiels que cela peut entraîner en termes de résilience. « Si un noeud tombe, nous perdons l'application et les données. Dans une telle situation, le scheduler de Kubernetes déplace normalement la charge de travail vers un nouveau noeud, mais si les données sont liées à celui qui est tombé, cela ne suffit pas », explique Paul Guichon. Amarena s'est alors mise en quête d'une solution adaptée à ses exigences. « Nous avons testé un grand nombre de solutions pour assurer un stockage persistant : certaines offraient de bonnes performances, mais n'assuraient pas la réplication ; d'autres étaient impossibles à installer correctement. Finalement, nous avons découvert la solution de StorageOS, aujourd'hui renommée Ondat », relate Paul Guichon.
PublicitéDes performances au rendez-vous
Amarena a apprécié les performances offertes par la solution Ondat, ainsi que sa mise en oeuvre simple. Celle-ci permet à tous les noeuds de la plateforme d'accéder à un stockage local et performant en termes d'IOPS. « La solution nous offre le meilleur des deux mondes : côté back-end, un outil flexible et sophistiqué pour provisionner un vrai stockage d'entreprise dans Kubernetes, et côté front-end, un self-service simple permettant à notre équipe de développement de consommer directement des volumes persistants », souligne Paul Guichon. Pour cette équipe, qui utilise principalement le framework Django et Python côté serveur, Angular pour la partie client et Zeebe pour orchestre les microservices, la gestion du stockage s'effectue de façon quasiment transparente.
Une fois l'ensemble des choix effectués, l'installation de l'infrastructure a été rapide : une journée environ pour chaque cluster. Le plus long selon le directeur SRE a été de mettre en place un modèle de déploiement DevOps, avec toute la chaîne d'intégration et de déploiement continu. Un premier site e-commerce, celui de Darty DOM-TOM, a déjà été migré sur la nouvelle plateforme. Avec la crise sanitaire, plus longue dans les Dom-Tom, durant laquelle les clients se sont tournés massivement vers le commerce en ligne, la fiabilité des sites était un enjeu critique. Celle-ci a été au rendez-vous selon Paul Guichon, alors même que le site migré reposait sur des technologies un peu anciennes. D'autres migrations sont en cours, ainsi que le projet de place de marché. L'équipe travaille également sur plusieurs projets internes de refonte des systèmes d'information existants.
Article rédigé par

Aurélie Chandeze, Rédactrice en chef adjointe de CIO
Suivez l'auteur sur Linked In,
Commentaire
INFORMATION
Vous devez être connecté à votre compte CIO pour poster un commentaire.
Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire