On parle d’architecture distribuée lorsque les briques logicielles d’un SI sont réparties soit plus sur plusieurs machines, soit sur plusieurs couches logicielles séparées éventuelles conçues sur des solutions hétérogènes. A l’inverse de ce type d’architecture on va parler d’architectures monolithiques. Il faut relever le fait qu’aujourd’hui les architectures micro-services ayant le vent en poupe sont une des implémentations d’architectures distribuées.
Le gros avantage de telles architectures réside dans :
- La grosse capacité de maintenance avec minimisation des effets de bord
- La séparation des préoccupations offrant la flexibilité d’évolution
- La grande capacité de résilience puisqu’une des couches peut échouer sans altérer le système complet
- La répartition plus fluide et optimale des tâches en mode développement projet selon les compétences des membres de l’équipe.
Il faut tout de même noter que cela nécessite une grande étude en amont dans l’objectif de bien s’approprier les métiers de l’entreprise concernée, afin d’adapter de façon efficace et efficiente les briques logicielles à constituer au besoin réel.
Nous terminerons par noter le fait qu’il existe 2 grands types d’architectures distribuées :
- Les architectures distribuées infrastructurelles: Qui donnent une vision plus physique de la stratégie de déploiement des machines à travers le réseau d’entreprise
- Les architectures distribuées logicielles: Le focus sur ce type d’architecture repose sur les découpages par briques logicielle.
Les 2 architectures étant fortement liées en ce sens que l’une porte/héberge l’autre.