Aller au contenu
Achraf Abderrazik
Tous les projets
Académique · Équipe de 5Étude de cas 05 / 05

Service de Model Serving distribué

API d’inférence répliquée

Une API d’inférence scalable : un service de modèle FastAPI répliqué derrière une passerelle Nginx, avec un registre de modèles versionné.

Contexte
Module Systèmes Distribués · 5 personnes
Année
2026
Déploiement
Docker Compose
Réponses valides
100 %
Chaque requête du test de charge documenté a reçu une réponse valide : 100 requêtes, 20 à la fois.
Répliques FastAPI
2
Des copies identiques du service de modèle, avec Nginx comme point d’entrée unique devant elles.

01 Contexte

Un projet d’équipe de cinq personnes pour le module Systèmes Distribués : transformer un modèle de machine learning entraîné en un service d’inférence conçu pour monter en charge horizontalement.

02 Problème

Un serveur d’inférence unique est à la fois un goulot d’étranglement et un point de défaillance unique. L’objectif : une API qui monte en charge en ajoutant des instances, avec chaque version de modèle suivie.

03 Architecture

  1. 01Client

    Requêtes d’inférence

  2. 02Passerelle

    Nginx

    Point d’entrée unique

  3. 03Service

    FastAPI · instance 1

    03Service

    FastAPI · instance 2

  4. 04Registre

    Modèles versionnés

    Registre de modèles

Deux répliques FastAPI derrière une passerelle Nginx, orchestrées avec Docker Compose.

04 Équipe

Projet d’équipe (5 personnes) consacré à une API d’inférence scalable, avec un service FastAPI répliqué sur deux instances derrière une passerelle Nginx, un déploiement Docker Compose et un registre de modèles versionné.

05 Choix techniques

  • 01

    Monter en charge horizontalement

    Le service FastAPI tourne en répliques identiques : la capacité augmente en ajoutant des instances plutôt qu’avec un serveur plus puissant.

  • 02

    Une seule passerelle

    Nginx est le point d’entrée unique ; les clients ne s’adressent jamais directement à une réplique.

  • 03

    Des modèles versionnés

    Un registre de modèles versionne chaque modèle que le service peut charger.

  • 04

    Un déploiement reproductible

    Docker Compose définit la passerelle et les répliques comme une seule pile reproductible.

06 Résultats

  • Une pile de serving complète, de la passerelle au registre de modèles, reproductible avec Docker Compose
  • Testée en charge sous requêtes concurrentes, avec des résultats documentés

07 Stack

  • Python
  • FastAPI
  • Nginx
  • Docker Compose
  • scikit-learn

Il n’y a pas de dépôt public pour ce projet. D’autres projets sont sur GitHub.