Architecture
Avatars comporte deux composants principaux :
- La plateforme, qui peut être utilisée en mode SaaS ou déployée sur votre infrastructure.
- Le code client, installé localement.
Client
La plateforme Avatars expose une API HTTP conforme à OpenAPI utilisant JSON. Elle peut donc être consommée depuis n'importe quel client HTTP : curl, la bibliothèque requests de Python, etc.
Nous proposons également les clients spécifiques suivants :
- Client web
- Client Python
Composants de la plateforme
Lors d'un déploiement sur site, les composants suivants sont inclus :
- Composants sans état
- Un proxy HTTP (Nginx) assurant la terminaison HTTPS et la gestion des certificats TLS.
- Un serveur API exposant une interface HTTP/JSON.
- Un cluster Dask comprenant plusieurs workers exécutant les tâches d'anonymisation.
- Une interface web (GUI) simplifiant l'accès au processus d'anonymisation.
- Optionnel : un connecteur de bases de données qui ouvre les bases source et cible des exécutions sur base de données. C'est le seul composant qui embarque des pilotes de bases de données. Il n'est jamais exposé hors du cluster. Il est désactivé par défaut, et tout le reste fonctionne sans lui.
- Composants à état
- Une base de données PostgreSQL pour stocker les métadonnées (jeux de données, tâches) et la configuration (utilisateurs). Nous recommandons une version récente (14 à ce jour), mais les versions antérieures fonctionnent également car nous n'utilisons pas de fonctionnalités récentes de PostgreSQL.
- Un composant de stockage de fichiers compatible S3, actuellement seadweedfs.
En pointillés : le connecteur de bases de données, optionnel, nécessaire uniquement pour les exécutions sur base de données. Il est désactivé par défaut.
Pour plus de détails sur la sécurité, voir Sécurité