fr

Comment ça fonctionne?

Monolithique ou microservice ?

Le directeur technique de votre entreprise, lors de la planification du lancement d'une plateforme financière, devra choisir une option d'architecture de projet. Quelles options d'architecture s'offrent à lui et laquelle vaut-il mieux choisir ?

Commencez par l'architecture la plus simple qui préserve des limites claires

Une nouvelle plateforme d'investissement dispose d'une seule équipe, d'un seul déploiement et d'une seule base de données. À ce stade, le coût d'un système distribué est entièrement payé en frais généraux : des appels réseau là où un appel de fonction suffirait, une cohérence à terme là où une transaction suffirait, et une charge opérationnelle pour laquelle personne n'a de personnel.

C'est pourquoi l'implémentation est modulaire par défaut : l'intégration, les offres, les investissements, les paiements, les documents, le service et le reporting vivent derrière des limites explicites au sein d'un seul système déployable. Ce qui la rend modulaire, ce n'est pas la structure des dossiers, mais le fait que chaque module a un contrat, possède ses données et est couvert par ses propres tests.

Un service est extrait quand quelque chose le justifie

Un module devient un service séparé lorsqu'il existe une raison concrète, et ces raisons sont commerciales, non liées à une mode architecturale :

  • l'échelle — une partie du système doit croître ou échouer indépendamment du reste
  • la sécurité — une limite nécessite une isolation plus forte que celle qu'offre un module au sein d'un même processus
  • la conformité — un régulateur ou un audit exige une séparation des tâches ou des données
  • le déploiement — une partie doit être publiée selon un rythme différent ou par une équipe différente
  • les intégrations — un système externe impose son propre profil de disponibilité et de débit
  • l'organisation — des équipes distinctes doivent posséder des éléments distincts sans coordonner chaque publication

Comme les limites et les contrats existent déjà, l'extraction est une opération planifiée plutôt qu'une réécriture. C'est là tout l'intérêt de cette approche : l'option reste ouverte et reste économique.

Asynchrone là où cela se justifie

Le travail qui ne doit pas bloquer un utilisateur — le rapprochement des règlements, la génération de documents, les rappels des fournisseurs, le reporting — passe par des files d'attente. Les courtiers de messages tels que RabbitMQ ou Kafka entrent en jeu lorsque le débit ou la topologie des intégrations le justifie, et non par défaut. PostgreSQL reste le système d'enregistrement ; Redis est utilisé là où un cache à faible latence ou une coordination est réellement nécessaire.

Ce que nous ne faisons pas

Nous ne vendons pas un monolithe, et nous ne vendons pas de microservices. Les deux sont des réponses à des questions que personne n'a encore posées. Nous ne construisons pas non plus un système distribué pour donner à une plateforme un air sérieux : le théâtre architectural est coûteux à exploiter et difficile à transmettre.

Votre architecture est choisie en fonction de votre échelle, de vos obligations réglementaires, de vos intégrations et de la taille de l'équipe qui l'exploitera — et elle est conçue pour pouvoir évoluer avec eux.