Architecture logicielle où l'application est découpée en services indépendants.
L'architecture microservices consiste à concevoir une application comme un ensemble de services indépendants, faiblement couplés, chacun responsable d'une fonctionnalité métier précise et déployable indépendamment. Cette approche s'oppose à l'architecture monolithique où toute l'application est packagée et déployée en un bloc.
Les avantages : scalabilité indépendante de chaque service, choix technologique libre par service, équipes autonomes (modèle two-pizza team d'Amazon), résilience accrue (panne d'un service n'impacte pas les autres si bien conçu), déploiements fréquents. Les inconvénients : complexité opérationnelle (orchestration, monitoring, tracing distribué), latence réseau entre services, consistance des données difficile (eventual consistency), debugging plus complexe.
Les microservices reposent souvent sur Docker + Kubernetes pour le déploiement, des API REST/gRPC pour la communication, des message brokers (Kafka, RabbitMQ) pour l'asynchrone, et des outils d'observabilité (Prometheus, Jaeger, Grafana). Service mesh (Istio, Linkerd) gère la communication inter-services.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →