L'architecture microservices découpe une application monolithique en services autonomes, chacun responsable d'une fonctionnalité métier. Chaque microservice a sa propre base de données, son propre déploiement et communique avec les autres via des API.
Les avantages incluent : déploiement indépendant, scalabilité granulaire, résilience (un service défaillant n'impacte pas les autres) et liberté technologique (chaque service peut utiliser un langage différent).
Les défis incluent la complexité de l'orchestration, la gestion des transactions distribuées et le monitoring. Les microservices sont souvent déployés avec Docker et Kubernetes.