Architecture du système
La plateforme HIC suit un pipeline linéaire de l’ingestion à la consommation. Les systèmes sources sont interrogés par Prefect, les données brutes atterrissent dans des tables de staging PostgreSQL, dbt les transforme vers l’entrepôt de données, et les outils BI interrogent directement l’entrepôt.
Flux de données
Composants de la plateforme
| Composant | Technologie | Rôle |
|---|---|---|
| Entrepôt de données | PostgreSQL (StackGres sur K8s) | Stockage central de toutes les données de santé |
| Transformation | dbt (Python 3.11) | Couches brut → staging → DWH → reporting |
| Orchestration | Prefect 3.3.2 | Planification et supervision de tous les pipelines |
| Traitement distribué | Apache Spark 3.5.1 + Livy | Charges analytiques à grande échelle |
| Plateforme BI | Apache Superset | Tableaux de bord et requêtes ad hoc |
| Application web | GreenRiver (NestJS + React) | Portail HIC pour le personnel du Ministère de la Santé |
| Analyse interactive | JupyterHub | Notebooks de science des données |
| Stockage objet | MinIO (compatible S3) | Fichiers du data lake, sauvegardes, exports |
| Cache | Valkey (compatible Redis) | Mise en cache des sessions et des requêtes |
| Authentification | AWS Cognito + OAuth2/Dex | SSO sur l’ensemble des services |
Déploiement
Toutes les charges de travail s’exécutent sur AWS EKS. Le cycle de vie des applications est géré via ArgoCD (GitOps) avec des charts Helm administrés par Helmfile. La couche d’infrastructure est provisionnée avec des stacks AWS CDK en TypeScript.
- Cluster : AWS EKS
- GitOps : ArgoCD sur
gitops.awseks.rhos.africa - Gestion Helm : Helmfile (~20 charts)
- Maillage de services : Istio
- Opérateur de base de données : StackGres (PostgreSQL sur K8s)
Dernière mise à jour le