18 commentaires
Exactement. On finit par passer plus de temps à débugger le réseau entre les services qu'à coder la feature métier.
Si ton monolithe est bien structuré avec des modules, tu peux avoir des cycles de release indépendants. Pas besoin de réseau pour ça.
Le problème, c'est la dette technique. Dans un monolithe, tout le monde touche à tout. Dans les microservices, tu forces les contrats d'API avec du protobuf ou du json, ce qui impose une discipline.
La discipline s'impose par le code, pas par une infrastructure complexe. Si tu es indiscipliné, tes microservices seront juste un monolithe distribué avec les pire défauts des deux mondes.
Le vrai souci est le déploiement. Si tu veux tester une feature isolée, c'est l'enfer sur un gros monolithe. Sur des microservices, tu peux tester ton module indépendamment.
On oublie aussi le monitoring. Gérer 50 services avec des logs éparpillés, c'est impossible sans une stack ELK massive. Le monolithe, c'est un seul point d'entrée pour les logs.
Il y a un juste milieu : le monolithe distribué. Tu sépares par domaine mais tu gardes une plateforme commune pour éviter la duplication de code.
C'est exactement ce que je voulais dire. Le "distributed monolith" est la pire architecture possible.
Le monolithe modulaire est une excellente transition. Si tu ne peux pas découper ton code en modules clairs, ne touche pas aux microservices.
Clairement, avant de splitter, demandez-vous : est-ce que mon équipe est prête à gérer l'observabilité sur 20 services différents ?
Merci pour ces retours. Je reste convaincu que le monolithe est largement sous-estimé par pure volonté de suivre la mode DevOps actuelle.
Laisser une réponse
Vous devez être connecté pour poster un message !
Je vois de plus en plus d'équipes foncer tête baissée dans une architecture microservices alors que leur produit tient sur un seul repo. On crée une complexité opérationnelle monstre avec du service mesh et du tracing distribué pour gérer trois pauvres micro-services. Est-ce qu'on n'a pas perdu le sens des réalités ?
Pour moi, le monolithe modulaire reste la solution la plus saine pour 90% des boîtes avant d'atteindre une échelle critique. Qu'en pensez-vous ?