Walmart a récemment apporté la touche finale à sa plateforme de cloud hybride. Avec pour les développeurs de logiciels la possibilité de consommer une variété de types d'infrastructures et de services via une console unique. Par le biais de sa solution baptisée Cloud Native Platform, le géant mondial de la distribution souhaite fournir à ses milliers d'ingénieurs logiciels une couche de simplification afin de consommer de manière commune les infrastructures et services du cloud public et ceux détenus et exploités par Walmart.

« L'idée est de simplifier l'infrastructure sous-jacente pour qu'elle ait la même apparence, afin que les équipes d'application et les développeurs n'aient pas à se soucier des différences entre l'infrastructure Azure ou Walmart, par exemple », a déclaré Kevin Evans, vice-président des services d'infrastructure chez Walmart. Kevin Evans travaille au sein de l'équipe d'ingénierie de la plateforme chez Walmart, qui se concentre sur trois domaines : la construction d'une couche d'infrastructure commune et d'un ensemble de capacités cloud pour tous les développeurs, le maintien d'un environnement central de données et l'amélioration de la productivité des développeurs grâce à un outillage commun optimisé et automatisé.

Proposer une plateforme unique et accessible

« Nous fournissons une plateforme de conteneurs ou de VM et cela devient le point d'interface unique sur lequel nos ingénieurs peuvent écrire, tout en exposant les meilleures capacités pour qu'ils puissent les utiliser », ajoute-t-il. Les développeurs de l’entreprise peuvent accéder à ce catalogue de services gérés via la console interne DX.io. « Ils peuvent choisir une capacité ou une ressource à la carte dont ils ont besoin », ajoute Kevin Evans. Par exemple, ils sont libres de choisir entre les bases de données Azure Cosmos DB ou Google Cloud Spanner. « Ce sont des capacités qui sont spécifiques à leurs plateformes, mais qui s'intègrent à notre suite d'options de pointe », explique M. Evans.

Les développeurs disposent actuellement d'une certaine flexibilité quant au lieu et à la façon dont ils exécutent leurs applications. Mais il existe également une gamme croissante de modèles préétablis pour résoudre des problèmes technologiques spécifiques laissant aux développeurs moins de flexibilité quant à la façon dont ils veulent construire et exécuter quelque chose. « Au fur et à mesure que nous mûrissons, nous voulons intégrer dans la plateforme les décisions relatives à l'emplacement d'un élément et diriger ce processus de décision en fonction d'exigences et de configurations codifiées », a déclaré M. Evans. Naturellement, cela crée un compromis entre opinion et simplification. M. Evans ne veut pas que les plateformes de développement de l’entreprise deviennent trop rigides au point d'empêcher les développeurs de tirer le meilleur parti de ce que les fournisseurs de cloud computing ont à offrir. « Nous devons être conscients de cela », a-t-il déclaré.

Suresh Kumar est vice-président exécutif et directeur général de la technologie (CTO) et directeur du développement (CDO) de Walmart. (Crédit : Walmart)

Le modèle de cloud « Triplet » prend forme

Walmart travaille avec Azure et Google Cloud en tant que partenaires de cloud, mais pas avec Amazon Web Services, comme c'est le cas pour de nombreuses entreprises de ce secteur. La stratégie de la firme, appelée Triplet Model, est hybride de par sa conception et s'articule autour de la possibilité pour les développeurs de travailler de manière cohérente avec les centres de données Walmart existants, les plateformes de cloud public et un nombre croissant de sites périphériques. « En associant les cloud publics à nos cloud privés Walmart via un modèle de cloud régional à travers les États-Unis (Ouest, Centre et Est), nous permettons à 10 000 edge node dans le cloud de fonctionner dans nos installations et de rapprocher la puissance de calcul et les données de nos clients et de nos associés », a écrit Suresh Kumar, responsable mondial de la technologie chez Walmart, dans un post LinkedIn.

En pratique, cela signifie que Kevin Evans et son équipe doivent maintenir à la fois une grande flotte de conteneurs, en utilisant Kubernetes, ainsi qu'une grande plateforme de cloud privé OpenStack pour les charges de travail basées sur les VM (appelée OneOps en interne). Pour l'instant, les conteneurs sont la méthode préférée pour créer des applications chez Walmart, mais Kevin Evans admet que « notre paysage est très vaste et que les VM en feront partie pendant longtemps ». Ensuite, il y a l'edge, où l’entreprise américaine espère tirer parti de l'informatique dans ses quelque 6 000 magasins, centres de distribution et opérationnels à travers les États-Unis. Alors que certaines applications d'entreprise sont mieux placées dans un centre de données central Walmart, d'autres applications seront mieux hébergées dans le magasin ou l'entrepôt pour offrir une plus grande résilience opérationnelle et une faible latence pour les charges de travail sensibles comme les applications de caisse et de tarification.

Économiser de l'argent, rationaliser le développement

Le modèle Triplet ouvre la voie à la productivité des développeurs et aux opportunités d'innovation, et l’entreprise peut réaliser jusqu'à 18 % d'optimisation annuelle des prix. Walmart estime qu'il est désormais en mesure d'apporter 170 000 ajustements au back-end de son site web chaque mois, soit 1 700 fois plus que ce qui était possible avant ces changements. « Le fait de positionner les charges de travail aux bons endroits nous permet d'accroître les performances des applications et de réduire la latence de manière générale », écrit Suresh Kumar. « En outre, le modèle Triplet offre une capacité accrue, ce qui nous permet de mieux réagir aux moments de pic de demande des consommateurs, comme la saison des achats des fêtes ou un prix exceptionnel sur une console de jeu très demandée ».

De son côté, Kevin Evans estime que 70 % des applications de Walmart sont de « nature générique », c'est-à-dire qu'elles peuvent « fonctionner presque partout ». Cela les rend plus portables à travers la gamme croissante de zones d'atterrissage de Walmart. « Nous voulons qu'il soit facile de déplacer les charges de travail et que cela soit une capacité de la plateforme plutôt qu'une décision du développeur », ajoute-t-il. « En éliminant autant de frictions que possible, cela nous permet de placer quelque chose à un endroit plus rentable ». Bien que cela semble être une solution gagnante à court terme, ce vice-président des services d'infrastructure de l’entreprise est parfaitement conscient qu'à mesure que Walmart devient plus dépendant des services de cloud public, cette gravité des données pourrait conduire à des factures de cloud plus importantes à l'avenir si elle n'est pas soigneusement surveillée. « Ces services sont parfois étonnamment chers dans le cloud public, nous avons donc travaillé avec nos partenaires pour déterminer le meilleur endroit pour exécuter les charges de travail », conclut-il.