Architecture micro-services

Origine : Evolution naturelle des architectures orientés services (SOA)

Découpage : les services sont des modules métiers de petite taille, indépendants et très faiblement liés. Ils peuvent être déployés de manière indépendante, et sont responsables de leur propre persistance

Orchestrateur d’API (Passerelle):  C’est le point d’entrée de tous les appels client. En d’autres termes un routeur de service.

Quand utiliser ce style d’architecture :

  • Les applications volumineuses qui exigent une grande rapidité de déploiement.
  • Les applications complexes qui doivent offrir une grande scalabilité.
  • Les applications dotées de domaines étoffés ou d’un grand nombre de sous-domaines.
  • Une organisation constituée de petites équipes de développement.

Gros avantages de cette architecture :

  • Déploiements indépendants: vous pouvez mettre à jour un service sans avoir à redéployer l’application entière et effectuer une restauration ou une restauration par progression si une mise à jour est une source de problèmes. Les résolutions de bogues et les diffusions de fonctionnalités sont plus faciles à gérer et moins risquées.
  • Développement indépendant: une même équipe de développement peut créer, tester et déployer un service. Résultat : l’innovation est continue et la cadence des diffusions est supérieure.
  • Petites équipes spécialisées: les équipes peuvent se concentrer sur un seul service. la portée de chaque service étant plus limitée, le code base est plus facile à comprendre et les nouveaux membres d’équipes s’intègrent plus facilement.
  • Isolation des erreurs: si un service tombe en panne, il n’impacte pas l’ensemble de l’application. Cependant, cela ne signifie pas pour autant que vous bénéficiez d’une résilience ex nihilo. Vous devez toujours suivre les bonnes pratiques de résilience et les modèles de conception.