Aller au contenu principal

Vue d'ensemble de l'architecture

STOA Platform est conçue comme une plateforme de passerelle cloud-native et multi-tenant, construite pour les API traditionnelles et les agents IA.

Architecture de haut niveau

STOA suit un modèle de séparation Plan de contrôle / Plan de données, similaire à Kubernetes et Istio.

Plan de contrôle vs Plan de données

AspectPlan de contrôlePlan de données
RôleConfiguration & gestionExécution du trafic
ComposantsAPI principale, Portail, ConsoleMCP Gateway, webMethods
LatenceÉchelle humaine (ms OK)Échelle machine (sub-ms)
Mise à l'échelleModéréeÉlevée (par requête)
Décision d'architecture

Cette séparation est documentée dans ADR-001 : Stratégie d'exposition des API.

Composants principaux

API du Plan de contrôle

L'API de gestion centrale construite avec Python et FastAPI.

AspectDétails
LangagePython 3.12+
FrameworkFastAPI (asynchrone)
Base de donnéesPostgreSQL + SQLAlchemy
Streaming d'événementsKafka/Redpanda
AuthKeycloak (OIDC)

Responsabilités :

  • Gestion des abonnements
  • Provisionnement des tenants
  • Catalogue d'outils
  • Suivi de l'utilisation
  • Application des politiques

MCP Gateway

La MCP Gateway gère les interactions du Model Context Protocol, permettant aux agents IA de consommer de manière sécurisée les outils d'entreprise.

AspectImplémentation actuelle
LangagePython 3.12+
FrameworkFastAPI (asynchrone)
Moteur de politiquesOPA (Open Policy Agent)
ProtocoleMCP (Model Context Protocol)

Responsabilités :

  • Gestion du protocole MCP
  • Routage des requêtes
  • Validation de l'authentification
  • Limitation de débit
  • Collecte des métriques
Feuille de route

Une implémentation haute performance en Rust + Tokio est prévue pour le Q4 2026, avec accélération eBPF au niveau du noyau. Consultez notre Feuille de route pour plus de détails.

Passerelle API

Le trafic API traditionnel est géré par la passerelle webMethods (implémentation actuelle).

AspectDétails
ProduitSoftware AG webMethods
FonctionnalitésLimitation de débit, transformations, politiques
ProtocoleREST, SOAP
Feuille de route

La migration vers une passerelle native Rust/eBPF est prévue pour la Phase 16+, offrant des performances améliorées et une charge opérationnelle réduite.

Portail UI

Portail développeur en libre-service construit avec React et TypeScript.

Fonctionnalités :

  • Navigation dans le catalogue d'API/outils
  • Gestion des abonnements
  • Génération de clés API
  • Tableaux de bord d'utilisation
  • Accès à la documentation

Console UI

Console d'administration construite avec React et TypeScript.

Fonctionnalités :

  • Gestion des tenants
  • Administration des utilisateurs
  • Configuration des politiques
  • Supervision du système
  • Journaux d'audit

Couche de sécurité

Keycloak

Gestion des identités et des accès fournissant :

  • Authentification OIDC/OAuth2
  • SSO (Single Sign-On)
  • RBAC (Contrôle d'accès basé sur les rôles)
  • Authentification multi-facteurs
  • Fédération d'utilisateurs

HashiCorp Vault

Gestion des secrets pour :

  • Chiffrement des clés API
  • Identifiants de base de données
  • Certificats TLS
  • Jetons de service

Couche de données

PostgreSQL

Base de données principale stockant :

  • Abonnements
  • Tenants
  • Utilisateurs
  • Définitions d'outils
  • Journaux d'audit

Kafka/Redpanda

Streaming d'événements pour :

  • Événements d'audit
  • Métriques d'utilisation
  • Communication inter-services
Usage interne uniquement

Kafka est strictement interne sans aucune exposition externe (ADR-017). Toutes les intégrations externes passent par les API REST.

Stack d'observabilité

ComposantUsage
PrometheusCollecte des métriques
GrafanaTableaux de bord & visualisation
LokiAgrégation des logs
AlertmanagerRoutage des alertes

Flux d'une requête

  1. L'Agent IA envoie une requête d'invocation d'outil avec une clé API
  2. La MCP Gateway valide la clé API auprès de Keycloak
  3. La Gateway vérifie le statut de l'abonnement auprès de l'API du Plan de contrôle
  4. Le Plan de contrôle confirme que l'abonnement est actif
  5. La Gateway transfère la requête au serveur MCP approprié
  6. Le Serveur MCP exécute l'outil et retourne la réponse
  7. La Gateway retourne la réponse à l'agent IA

Déploiement

STOA Platform s'exécute sur Kubernetes et peut être déployée via :

  • Charts Helm : Disponibles dans stoa-infra/charts/
  • GitOps : Compatible ArgoCD
  • IaC : Modules Terraform disponibles

Namespace Kubernetes

Tous les composants s'exécutent dans le namespace stoa-system :

kubectl get pods -n stoa-system

Points d'entrée Ingress

ServiceModèle d'URL
Portailportal.<domaine>
Consoleconsole.<domaine>
APIapi.<domaine>
Passerellegateway.<domaine>
Authauth.<domaine>

Résumé de la stack technologique

CoucheTechnologieNotes
Plan de contrôlePython, FastAPIAPI de gestion
MCP GatewayPython, FastAPI, OPAGestion du protocole MCP
Passerelle APIwebMethodsTrafic API traditionnel
FrontendReact, TypeScript, TailwindPortail & Console
Base de donnéesPostgreSQLStockage principal
Streaming d'événementsKafka/RedpandaÉvénements internes
AuthKeycloakOIDC/OAuth2
SecretsHashiCorp VaultChiffrement, identifiants
ObservabilitéPrometheus, Grafana, LokiMétriques, logs
InfrastructureKubernetes, Helm, ArgoCDDéploiement

Étapes suivantes