Tout savoir sur l'architecture MACH - ACSEO

Tout savoir sur l'architecture MACH

MACH : Microservice, API First, Cloud native SaaS and Headless.

Cela fait maintenant plusieurs années que développement du Cloud ou des services en SaaS ont profondément impacté notre façon de concevoir et de développer des applications Métiers.

mach alliance

Ces technologies ont permis d’envisager de nouvelles architectures applicatives, moins monolythiques, et plus facilement scalables. Ainsi, il devient potentiellement possible à toute entreprise de déployer des solutions performantes, avec un Time to Market accéléré car s’appuyant sur des solutions sur étagères.

Bien entendu, un tel type d’architecture peut aussi sembler plus complexes à déployer et maintenir, et il est très important de bien préparer sa mise en oeuvre.

Créé en 2020, la MACH Alliance est le fer de lance de la promotion de cette architecture.

Plus d’infos sur https://machalliance.org

MACH dans le détail


  •  Microservice : Un « service » représente un ensemble de traitements spécifiques bien définis techniquement et fonctionnellement. Ces services peuvent fonctionner de façon autonome. Ils peuvent être conçus et développés et mise en œuvre individuellement. Dans le cadre d’un projet e-commerce, on peut se représenter les services de la gestion de compte utilisateur, indépendant de la gestion des produits ou du tunnel de commande. Chacun de ces services pourrait être soit développé sur mesure ou être une solution SaaS. Peu importe dans les architecture MACH, tant qu’ils sont…
  •  API First : Nos services doivent exposer une API, et interagir avec d’autres services par des appels d’API.
  •  Cloud Native : Nos services doivent pouvoir être déployés dans le Cloud, ce qui signifie qu’ils doivent respecter les principes liés à ces infrastructures (paramétrage, sécurité) pour pouvoir bénéficier de ses avantages (disponibilité, scalabilité entre autre).
  •  Headless signifie qu’il existe un découplage total entre les parties Métier (Backend) en charge des traitements et la partie Visible (Frontend). Ce type de raisonnement s’explique par le fait que le Backend expose des API qui seront consommés par le Frontend (comme par exemple un site développé avec React). Cette architecture permet de “garantir” que n’importe quel type de Client Frontend (App Mobile, Borne, autre site) pourra être mis en oeuvre sans trop de difficultés.

MACH dans la vraie vie

#Microservices #API First


Chez ACSEO, nous n’avons pas attendu la création de la MACH Alliance pour travailler sur ce genre d’architecture, car, pour chaque brique fonctionnelle d’un projet, nous nous posons la question suivante :

  • Existe-t-il une solution Open Source qui répond en totalité ou partiellement au besoin ?
  • Existe-t-il une solution du marché (Software ou SaaS) qui répond en totalité ou partiellement au besoin ET qui propose une API ? Et à quel prix ?
  • Le besoin est-il tellement spécifique qu’il nécessaire d’être développé sur-mesure ?

Ce type de raisonnement nous permet de créer si besoin des architectures hybrides agrégeant différents types de services, voire différents langages de développement dans un même projet.

#Cloud Native


D’autre part, après avoir mis en place une véritable usine logicielle DevOps chez ACSEO, nous avons fait le choix de créer Keenobi pour proposer des services de Conseil, Hébergement, Infogérance spécialisés dans le Cloud, et certifié sur AWS et Azure. Cette approche nous permet de tirer le meilleur parti des solutions Cloud actuelle, tout en assurant la continuté entre le la partie logicielle et la partie infrastructure des projets.

#Headless


Nous travaillons depuis de nombreuses années avec des solutions Headless en prenant également en compte les enjeux connexes, tels que les besoins Marketing (SEO / SSR), la collecte de données (Event Sourcing), et la sécurité des applications. Nous savons également placer le curseur et packager des applications existantes ou legacy pour les rendre conformes aux exigences de ce type d’architecture (voir notre article ici).

Cas d’usage : Solution e-Commerce


Le schéma ci-dessous représente les briques à mettre en oeuvre dans un projet e-commerce (source : MACH Alliance).

application diagram

Il permet d’illustrer que chacune des briques peut faire l’objet d’une implémentation d’une solution qui répondra le mieux au besoins du projet : coût / budget / fonctionnalités.

Typiquement, il semble peu pertinent de développer un moteur de recherche (Search) sur mesure. On pourra au choix s’appuyer sur une solution SaaS (Algolia), Open Source (Typesense), ou hybride (ElasticSearch). Il en sera de même pour chacune des briques.

Conclusion


Faire le choix d’une architecture MACH permet de structurer de façon solide et pérenne un projet de développement d’une application Métier ou d’un site e-Commerce.

Chez ACSEO, nous avons implémenté avec succès ce type d’approche, pour des clients tels que Andros, Novétude Santé, le Centre Français des Fondations.

N’hésitez pas à nous contacter pour en savoir plus.

Publié le 25/01/2024 à 13:10
Tout savoir sur l'architecture MACH

Les avantages du développement sur mesure

Lorsque vous avez des besoins spécifiques pour votre activité, vous pouvez soit travailler avec une solution existante "sur étagère" soit partir sur une création sur mesure. Comment choisir ?

Collaborer efficacement avec un AMOA

Un AMOA est une compétence clé dans la réussite d'un projet digital. Il devra identifier les besoins et les traduire en objectifs et en spécifications.

Tout savoir sur l'architecture MACH

Tout savoir sur l'architecture MACH

Les avantages du développement sur mesure

Lorsque vous avez des besoins spécifiques pour votre activité, vous pouvez soit travailler avec une solution existante "sur étagère" soit partir sur une création sur mesure. Comment choisir ?

Collaborer efficacement avec un AMOA

Un AMOA est une compétence clé dans la réussite d'un projet digital. Il devra identifier les besoins et les traduire en objectifs et en spécifications.

Tout savoir sur l'architecture MACH
Une idée, un projet ? Nous sommes à votre disposition pour discuter. Contactez-nous