C'est votre anniversaire et vous recevez une belle boite de Legos. Vous allez devoir construire une caserne de pompiers avec son fameux camion rouge et une maison en feu ! Probablement sans le savoir, vous allez adopter une approche MACH : votre construction sera constituée de plusieurs éléments indépendants, remplaçables, duplicables et fournis avec une notice.
Définition de l'architecture MACH
L'architecture MACH est une architecture globale orientée cloud qui suit quatre principes exprimés autour de l'acronyme : Microservices, API-first, Cloud-native, Headless
Microservices
L'application est décomposée en services indépendants et autonomes. Chacun de ces services est responsable d'une fonctionnalité spécifique de l'application.
Dans notre exemple de Legos, la caserne, la maison enflammée et le camion rouge pourraient constituer nos microservices.
API-First
Toutes les fonctionnalités sont accessibles via une API, un ensemble de services utilisables depuis l'extérieur. Elle doit donc être documentée et accessible. Cette API définit la spécification fonctionnelle.
L'API pourrait être représentée par la notice de la boite de Legos
Cloud-native
L'application a été conçue et développée pour être déployée dans un environnement cloud et en utiliser les avantages qui en découlent (continuité de service, scalabilité, mise à niveau, etc...).
La partie cloud-native pourrait être représentée par le fait qu'on peut constituer une caserne géante construite à partir de plusieurs boites de Legos.
Headless
L'expérience utilisateur offerte par le front est totalement indépendante du back-end. Le front est totalement libre sur la technologie utilisée.
Il est possible de dessiner le rendu finale de la construction Lego sans attendre que celle-ci soit construite. De même, il est possible de faire la construction sans attendre le dessin du rendu final.
L'architecture MACH n'est pas seulement une simple agrégation de quatre concepts. C'est une véritable approche vers l'agilité numérique, et on vous explique pourquoi ici !