La crise de la composabilité : gérer le chaos des API
Les microservices sont excellents jusqu'à ce qu'ils ne le soient plus. Comment utiliser les couches d'orchestration pour empêcher vos 20 API de se détacher.
« Composable Commerce » était le mot à la mode de 2024. Cassez tout ! Utilisez Contentful pour le contenu, Shopify pour le paiement, Algolia pour la recherche, Klaviyo pour le courrier électronique. Du coup, vous avez 15 API à gérer. Si Algolia tombe en panne, votre site est vide. Si Contentful modifie sa structure de données, votre frontend plante.
La couche d’orchestration
Nous résolvons ce problème avec un BFF (Backend for Frontend) ou « Middleware ». Au lieu que le frontend communique directement avec 15 services, il communique avec notre API. Notre API regroupe les données, les normalise, les met en cache et envoie une seule charge utile JSON propre au frontend.
Avantages
- Résilience : si le CMS est en panne, notre API sert des données obsolètes en cache. Le site reste actif.
- Performance : Le navigateur effectue 1 requête au lieu de 15. L’agrégation s’effectue côté serveur, où la bande passante est bon marché.
- Sanatisation : Nous supprimons les champs privés avant qu’ils n’atteignent le client.
Fédération
Nous utilisons GraphQL Federation pour assembler ces schémas. Pour le développeur frontend, cela ressemble à une base de données géante. Pour l’ingénieur backend, c’est une symphonie de services indépendants. Organisez le chaos.