Projets

MonAlbumPhoto.fr monitore son site e-commerce hébergé dans le cloud

MonAlbumPhoto.fr monitore son site e-commerce hébergé dans le cloud
Benjamin Grelié, CTO de MonAlbumPhoto.fr, surveille avec Datadog les performances du site de e-commerce sur lesquels les clients peuvent charger jusqu'à 1,2 million d’images en un dimanche. (Crédit : D.R.)

Très sollicité à l'approche des fêtes de fin d'année, le site de e-commerce MonAlbumPhoto a migré depuis un an et demi sur Google Cloud Platform pour ses besoins de scalabilité. Pour suivre les performances de ses applications conteneurisées, l'équipe informatique du site de création d'albums photographiques s'appuie sur la solution de monitoring de Datadog.

PublicitéSur le site de e-commerce de MonAlbumPhoto.fr, spécialisé dans l'impression et le façonnage de photographies, le trafic est multiplié par 10 avec le rush des achats de Noël. Près de 40% du chiffre d'affaires annuel est réalisé en 3 à 4 week-ends. A l'été 2016, la société a engagé une migration de son infrastructure informatique vers la plateforme de cloud public de Google qui lui permet d'absorber beaucoup plus facilement la montée en charge spectaculaire de la fin d'année. Pour monitorer cette infrastructure et ses applications containerisées, l'équipe informatique s'appuie sur la solution de l'éditeur Datadog à laquelle s'ajoute Logmatic, outil de collecte et gestion des logs. Par rapport à d'autres sites de vente en ligne, MonAlbumPhoto.fr est un pure-player du e-commerce. Fondé en 2004, il a développé des interfaces pour permettre à ses clients de créer et personnaliser leurs albums photos, calendriers, faire-part et cartes ou objets (mugs, porte-clés, coques de smarphones...).

C'est aussi un industriel qui fabrique des livres et réalise des tirages de posters, sur canevas, toiles et objets décoratifs. La société installée à Rungis (Val de Marne) possède donc également une usine de fabrication située à Nanteuil le Haudouin, dans l'Oise. En période de rush, l'usine double sa capacité de prise en charge avec 150 à 170 personnes pour fabriquer les produits, avec des équipes travaillant en 3/8 et une informatique sur site s'appuyant sur des serveurs legacy sous Windows. Là aussi, les postes de travail sont monitorés à distance depuis Rungis via Datadog (occupation des disques, charge des processeurs, pannes, etc.).

Datadog chez MonAlbumPhoto

Dashboard de surveillance de l'infrastructure de MonAlbumPhoto dans Datadog. (crédit : MonAlbumPhoto)

« Pour notre migration vers le cloud, nous avions pris le parti de ne pas faire de big bang », expose Benjamin Grelié, le CTO de MonAlbumPhoto. « Nous nous étions largement développé sur du on-premise, mais le web a beaucoup évolué et nous nous sommes retrouvés avec des solutions cloud et des dettes techniques ». Désormais, l'infrastructure est devenue une commodité, pointe-t-il, en soulignant que le gap est assez important à franchir pour une équipe habituée à prendre en charge toute la stack, avec des compétences pour maintenir plusieurs niveaux. L'équipe informatique a d'abord dupliqué au maximum ses systèmes sur la Google Cloud Platform. « Puis nous avons cloudifié notre infrastructure avec des micro-services, des micro-serveurs ». Du côté du monitoring, dans ce nouveau contexte, ce ne sont plus des animaux de compagnie que l'on gère, mais du bétail, décrit de façon imagée le CTO.

Publicité 50 à 55 serveurs et 300 containers monitorés

« Depuis plusieurs mois, nous travaillons avec notre hébergeur Beartech, très compétents, qui nous a aidés dans cette transition du on-premise vers le cloud de Google et fait les benchmarks de performance ». Ce partenaire a aussi contribué à déterminer ce qui allait être monitoré avec Datadog. Une pré-production a été montée sur la Cloud Platform et les tests ont été très concluants, relate Benjamin Grelié. La solution de Datadog a alors été étendue à l'ensemble de l'infrastructure dont les serveurs internes, au fur et à mesure. « Nous avons négocié un nombre de machines à l'année, 50 à 55 serveurs monitorés à travers Datadog ». Depuis octobre, MonAlbum Photo utilise aussi le gestionnaire de containers Kubernetes. « Nous avons branché Datadog et tournons actuellement à 300 containers ». Une demi-douzaine de typologies de containers sont ainsi surveillés en permanence. « C'est assez simple de suivre les containers », assure Benjamin Grelié en ajoutant : « Nous complexifions notre infrastructure mais nous la surveillons mieux ».

Pendant les pics de trafic sur le site web, l'équipe IT suit les chargements d'images effectués par les clients. A la mi-novembre, 800 000 photos ont par exemple été récupérées entre 18 et 22h30 le dimanche, soit un peu moins de 2 To. « Nous avons plusieurs containers distribués et disposons de statistiques sur le nombre d'images processées par seconde, le nombre de mégaoctets processés par seconde, le temps moyen de traitement... », indique le CTO de MonAlbumPhoto. Ces métriques renseignent sur la performance des containers et la capacité à intégrer plus de trafic. Elles ont été mises en place pour mieux dimensionner le cluster. Au passage, cela a également permis de changer les machines taillées pour faire du calcul CPU en baissant les coûts mensuels. Par la suite, d'autres parties de l'infrastructure pourront ainsi être mieux ajustées.

Des containers spécialisés par type de traitement

Couplée à Datadog, la solution Logmatic centralise la collecte des logs. En cas d'incident, elle permet de plonger dans ces données et d'obtenir un niveau de détail très fin. « Les logs sont rattachés au niveau applicatif, une cinquantaine de serveurs génèrent des messages, il y a beaucoup de faux positifs mais c'est indispensable pour traquer l'origine du problème. Par exemple, si la charge est très élevée, les outils de logs permettent d'aller regarder quelle est l'application qui bloque », explique Benjamin Grelié en notant tout l'intérêt de pouvoir fusionner Logmatic avec Datadog (le 1er a été racheté par le 2nd) et de corréler les machines dans une seule interface avec une vision complète de la pile d'infrastructure, depuis les serveurs jusqu'aux applications. « Nous avons été sélectionnés en septembre pour le programme bêta que nous sommes en train de mettre en place et nous voyons les premiers effets du rapprochement », explique le CTO. « Les capacités de l'outil sont encore en bêta, mais c'est très pratique de surveiller sur un même écran les logs et des machines ».

Sur le site de e-commerce, la partie la plus importante du trafic se fait sur le traitement des images envoyées par les clients. « Pour que cela se passe au mieux, nous avons décidé de conteneuriser », explique Benjamin Grelié, alors qu'auparavant, la scalabilité s'opérait de façon horizontale sur les serveurs. « L'idée, c'est de découper en petits services l'ensemble du processus et de scaler les containers par le jobs, par exemple, celui qui traite les images ». Pour manipuler les photographies, des miniatures sont générées, une opération consommatrice. Une fois chargées et traitées, les images sont mises à disposition dans le cloud. Tout cela constitue des files de traitement. Les containers sont spécialisés, respectivement axés sur le chargement d'images, le stockage, le traitement d'images, les téléchargements effectués sur des sources externes comme Facebook, Instagram ou à la récupération d'images sur des API tiers, ou encore consacrés au traitement de PDF. « Tout est écrit en Go », précise le CTO. [NDLR : le langage open source de Google vient d'être livré dans sa dernière version en bêta]

Le nombre de serveurs multiplié jusqu'à 15 pendant le week-end

Kubernetes distribue les applications sur les serveurs en fonction de leur charge et de leur type, les uns ayant plus de mémoire, d'autres plus de processeurs, etc. « Par exemple, si le trafic triple pendant le week-end, le nombre de serveurs dans le noeud est augmenté de 2 à 15 et il faut le monitorer. En entrée, nous manipulons des millions d'images avec des SSD très costauds de 14 To ». Le service de messagerie temps réel interapplicatif Google Pub/Sub est également utilisé pour gérer le pipeline de traitement d'images. Sur un dimanche pluvieux -MonAlbumPhoto est souvent plus sollicité les jours de mauvais temps - jusqu'à 1,2 million d'images pourront être montées sur le site. Avant le passage sur la Google Cloud Platform, en période de rush, il fallait ajouter des lames dans le datacenter, les baies et les noeuds étaient saturés. En 2015, une lame a dû être remplacée en catastrophe, ce qui a déclenché une panne. Le manque à gagner est de plusieurs milliers d'euros par minute en période de pic. Le site web spécialisé dans la personnalisation d'objets photographiques réalise aujourd'hui un chiffre d'affaires annuel de 30 millions d'euros.

Partager cet article

Commentaire

Avatar
Envoyer
Ecrire un commentaire...

INFORMATION

Vous devez être connecté à votre compte CIO pour poster un commentaire.

Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire

    Publicité

    Abonnez-vous à la newsletter CIO

    Recevez notre newsletter tous les lundis et jeudis