Séparation des services

Publié le 16-01-2023 à 11:12:15 ‐ Lecture 3 min

La séparation des services signifie que chaque service doivent être installés dans des systèmes différents. Aujourd'hui cette séparation peut être réalisée facilement grâce aux conteneurs ou aux machines virtuelles.

Par exemple si on installe une application qui nécessitant une base de donnée, il faut installer l'application qu'un côté et la base de donnée de l'autre.

Un autre exemple, pour un serveur DNS on peut séparer le service qui fait autorité et le résolveur.

Pourquoi faire cette séparation ?

Facilités de mise en place

Limite les conflits

Installer plusieurs services sur un même système peut provoquer des conflits (port, dépendance, ...).

Hétérogénéité des sources

Lorsqu'on installe plusieurs services dans un même système, toutes les applications doivent être adapté à lui. Par exemple si on installé une distribution Debian, tous les services sont installés dans les versions proposées par cette distribution.

Séparer les services permets de choisir le système le plus adapté pour chacun.

Facilités de maintenance du service

Mises à jour incrémentales

On n'est pas obligé de mettre à jour l'ensemble des services en même temps. La mise à jour peut demander des adaptations qu'il est nécessaire de tester.

Ne pas mettre à jour les services en même temps, permet de valider les non régression service par service et d'identifier la source de celle-ci. Un retour en arrière est toujours plus simple lorsque cela concerne qu'un seul service.

Je ne parle pas, bien entendu, des mises à jour de sécurité, celle-ci doivent être appliqué dès que possible.

Migration du service

Pour rendre un service, il est parfois nécessaire de changer de logiciel qui rend le service :

  • le logiciel n'est plus maintenu
  • le logiciel a évolué dans une direction différente de nos besoins
  • un autre logiciel est plus adapté à mes usages
  • changement de licence ou de condition d'utilisation

Migrer d'un logiciel à autre n'est jamais sans risque. Si le service est séparé, il est plus facile d'avoir l'ancien est le nouveau service fonctionnant en parallèle et de revenir en arrière si nécessaire.

Déplacement du service et redondance

Le fait que les services soient séparés permet, si cela est nécessaire, de pouvoir déplacer facilement un serveur sur une autre machine. De même, géré la redondance et la répartition de la charge s'en trouve facilité.

Décommissionnement du service

Si un service n'est plus utile, il suffit de supprimer le système. Si tous les services sont imbriqués, c'est souvent difficile d'en retirer un proprement et complètement.