Séparation des services : la communication

Publié le 16-01-2023 à 16:29:20 ‐ Lecture 3 min

Au moment de la création de l'architecture avec services séparés, un des aspects centraux est la définition du réseau. La communication des services est essentielle au bon fonctionnement de l'ensemble.

Mais la gestion du réseau est également important en terme de confidentialité et de sécurité.

Nous allons partir d'un exemple simple : je veux avoir un serveur d'envoi et de réception de courriel. Ainsi il faut :

  • un service LDAP ;
  • deux services DNS :
    • un serveur faisant autorité pour la zone local,
    • un service résolveur ;
  • un serveur de relai SMTP ;
  • un service de réception et d'envoi de courriel.

Il existe plusieurs schémas réseaux possible. En voici trois exemples.

Réseau à plat

La solution la plus évidente est le réseau à plat. Souvent appelé DMZ.

Dans ce type de réseau, tous les service sont sur le même sous réseaux et peuvent communiquer ensemble (flèche jaune dans le schéma). Les services peuvent être accessible depuis l'extérieur (flèche verte dans le schéma).

L'avantage évident de ce choix est la simplicité de mise en place. Par contre tout le trafic est mélangé. Pour plus de sécurité il faut également configurer un pare-feu sur les différents services.

Schema

Réseau par grappe de services

Un autre solution est de classer les services dans différentes "grappes". Les services sont donc regroupés par "affinité".

Chaque grappe de services aura alors un réseau interne sur lequel les différents services de cette grappe peuvent communiquer (flèche jaune).

Les grappes sont ensuite reliées à un réseau a plat permettant d'exposer un ou des services de la grappe. Cela permet la communication avec d'autres services interne (flèche marron clair) ou externe (flèche verte).

Il est toujours possible qu'un service dans une grappe puisse communiquer avec un service non exposé dans une autre grappe (flèche marron foncé).

Schema

Réseau par service

Le réseau a plat ne permet pas de séparer les différents flux de communication entre les services.

Le réseau par grappe de services permet une séparation par affinité. Ce type de réseau est particulière adapté aux services à forte solicitation. Par exemple un site web fréquenté aura sa propre base de données. Mais ce n'est pas idéal pour les petites infrastructures limités en ressource où la base de données sera utilisée par plusieurs services.

De plus les flux sont tout de même mélangés et le réseau peut devenir rapidement complexe.

Une autre approche est le réseau par service.

Les flux réseaux passent par des réseaux interne qui sont spécialisés. Dans l'exemple nous avons trois réseaux interne :

  • le réseau LDAP (flèche marron clair) ;
  • le réseau SMTP (flèche marron foncé) ;
  • le réseau DNS (flèche jaune).

Dans chacun des réseaux, le flux est donc bien spécialisés par service. Aucun autre flux réseau ne devrait être autorisé. Cela signifie que seul le ou les serveurs qui rendent ce service doivent être en écoute.

Schema