Le blog des décideurs du digital sur toutes les tendances tech, architecture, organisation et produit

5 conseils pour réussir l'implémentation d'une architecture MACH

Dans le précédent article présentant les bénéfices et inconvénients d’une architecture MACH, nous avons vu que l’approche MACH apporte scalabilité, évolutivité et accélère le time-to-market pour une plateforme ecommerce. Néanmoins, ces avantages ne sont pas garantis si l’implémentation n’est pas réussie.

Au cours de cet article, nous allons voir les principaux éléments à respecter pour réussir l’implémentation d’une architecture MACH.

1er conseil : Découpler les différents services

Créer du couplage entre services est l’erreur classique avec les architectures micro-services. Si plusieurs services sont couplés, chaque modification sur un service entraîne des modifications sur d’autres services. Cela fait directement perdre les promesses de modularité, évolutivité et d’interchangeabilité.

Ce couplage peut intervenir après un mauvais découpage métier des différents services : en faisant des services trop petits, on crée du couplage entre ces services qui auraient dû être au sein d’un même service.

Ce couplage peut également intervenir avec une mauvaise architecture applicative. Au sein du code, il faut créer des couches de sérialisation afin de transformer les données telles qu’elles sont envoyées par un service avant de les utiliser. Ainsi, si l’on souhaite remplacer un service on peut directement le faire en modifiant uniquement cette couche de sérialisation. Cette pratique, couramment utilisé entre services backend, doit également être mis en place sur les frontends, permettant ainsi de ne pas coupler ces frontends avec les backends.

2ème conseil : S’appuyer au maximum sur des Saas existants plutôt que de les réinventer (”Buy” vs “Build”)

Grâce à la modularité apportée par l’architecture MACH, l’intégration de Saas externe est facilitée et est recommandée. On parle alors de stratégie “Buy vs Build”, et acheter des services Saas plutôt que les construire permettra d’accélérer grandement le time-to-market. De nombreux outils existent dans des domaines variés, par exemple Algolia pour la recherche, Contentful pour l’édition de contenu, BigCommerce ou Shopify pour des solutions core ecommerce, ou encore des Storefront comme NextJS Commerce. Certains de ces outils sont certifiés par la MACH Alliance, organisation qui garantit le respect des principes MACH sur ces solutions et donc leur interchangeabilité.

Ces outils fournissent d’ailleurs des connecteurs entre eux afin d’accélérer leur intégration. En quelques clics, vous pouvez par exemple retrouver vos produits et contenus sur votre moteur de recherche, synchroniser votre catalogue avec vos contenus, ou encore connecter votre storefront à un store Shopify ou BigCommerce.

3ème conseil : Favoriser des solutions “Best-of-breed” plutôt que “All-in-one”

On peut être tenté de choisir des solutions “all-in-one” pour simplifier les process, et couvrir un maximum de domaines métier d’un seul coup. Mais dans une architecture MACH, on va plutôt rechercher à exploiter le meilleur de chaque solution dans leur domaine métier, apportant ainsi une expérience de pointe.

De plus, même si les solutions “all-in-one” proposent de plus en plus d’APIs pour s’intégrer à d’autres services, les intégrations ne sont pas aussi fluides et les possibilités de customisation pas aussi élevées que des solutions “best-of-the-breed”, conçu by-design pour être intégrée facilement. En effet, ces solutions sont généralement conçues dès le début pour être intégrées via APIs, avec des contrats d’interfaces simples et génériques, tandis que les solutions all-in-one ont des APIs qui ont été rajoutées par la suite et qui héritent de la complexité du système global.

4ème conseil : Construire son architecture MACH progressivement

Une erreur commune est de vouloir construire tout de suite l’architecture parfaite cible. Ou bien de se dire que l’approche MACH ne convient pas car elle est trop complexe. On va plutôt privilégier une approche progressive. Si on démarre un nouveau projet, l’architecture peut simplement être composée d’un front et d’une solution core e-commerce, puis on ajoutera les nouvelles briques au gré des nouveaux besoins. Si on réalise une refonte, on peut refondre progressivement module par module en privilégiant les fonctionnalités avec le plus de valeur.

Une approche progressive va permettre de sortir très rapidement des fonctionnalités, par exemple en utilisant une solution Saas, et il ne faut pas craindre de changer de solution par la suite. Car grâce à la modularité apportée par l’architecture MACH, changer de solution aura un faible coût.

5ème conseil : S’entourer d’experts sur ces sujets

La mise en place d’une architecture MACH, qui apporte son lot de bénéfices mais également son lot de complexité, n’est pas à la portée de tous. Mal implémentée, celle-ci peut s’avérer coûteuse et les promesses peuvent ne pas être au rendez-vous. Il est important de recruter ou de s’entourer d’experts sur le sujet.

Les experts sur les architectures MACH sauront éviter les différents pièges classiques et mettre en place une architecture qui ne dégrade pas la qualité et la performance.

De plus, des experts MACH ayant l’habitude des différentes solutions sur le marché faciliteront leurs intégrations. A force d’utiliser ces outils, il est également courant pour ces experts de développer des partenariats avec les providers, permettant ainsi de bénéficier d’une formation continue et d’une hotline privilégié pour résoudre rapidement les différents obstacles pouvant être rencontrés durant une implémentation.

Conclusion

Nous avons vu que les principaux éléments permettant de réussir l'implémentation d'une architecture MACH n'ont pas lieu durant cette implémentation mais plutôt en amont, lors de la définition de l'architecture technique, lors du choix des outils et Saas utilisés, ou encore lors du recrutement de l'équipe technique.

A Theodo, nous avons pu développer une expertise sur ces sujets après plus de 13 ans passés chez des clients allant de start-up, scale-up aux grands groupes. Si ces enjeux vous concernent, contactez-nous afin d’en discuter.

Topics: e-commerce