Scrydon

Ressources

Exigences CPU, mémoire, disque et GPU pour les déploiements Scrydon

Utilisez ces exigences pour dimensionner le cluster avant d'exécuter helm install.

Minimum (évaluation / petites équipes)

RessourceExigence
CPU6 vCPU
RAM32 Go
Disque80 Go (base de données + StarRocks + images)
GPUNon requis

Ces chiffres supposent la pile complète par défaut : interface Plateforme, Agentic, Cortex, Analytics, Postgres intégré, SeaweedFS et StarRocks mono-pod pour les tables gérées. Pour fonctionner sur des nœuds plus petits (4 vCPU / 16 Go), réduisez les composants optionnels. Voir Helm → Réduction pour les installations à faibles ressources.

Recommandé (production)

RessourceExigence
CPU16 vCPU
RAM64 Go
Disque200 Go SSD
GPUFacultatif. Requis uniquement pour l'inférence de modèles IA locaux, par exemple Ollama dans le cluster.

Remarque : les ressources GPU sont sous licence contractuelle (votre JWT de licence reflète vos droits), mais Scrydon n'applique pas les limites GPU au runtime. Les nœuds GPU ne sont nécessaires que si vous prévoyez d'exécuter des modèles d'inférence locaux dans votre cluster.

Mémoire par service

Le chart Helm définit ces requests et limits mémoire par pod pour les valeurs par défaut mono-réplica. La request est ce que le scheduler réserve. Votre pool de nœuds doit satisfaire la somme des requests des services activés avant que les pods puissent être planifiés ; c'est donc votre plancher réservé. La limit est le plafond de burst avant qu'un pod soit OOM-killed.

Pour dimensionner les pools de nœuds : additionnez les requests comme plancher réservé, vérifiez la somme des limits pour le pire cas de burst, puis ajoutez environ 30 % de marge pour les pods kube-system, les sidecars Dapr (~250 MiB chacun), le plan de contrôle Dapr et la petite infra intégrée comme OPA / Lakekeeper (~128 MiB chacun).

ServiceRequest mémoireLimit mémoireNotes
platform (UI)1 GiB2 GiBShell SSR + routes de plan de contrôle
agentic (workflow app)2 GiB4 GiBApplication la plus lourde : moteur de workflow + runtime Dapr Workflow
agentic-realtime256 MiB512 MiBFan-out WebSocket
analytics (UI)1.5 GiB2 GiBSSR + rendu de graphiques ; RSS stable le plus élevé
cortex (chat UI)1 GiB2 GiBSSR + proxy de streaming LLM
api-platform (auth/API)1 GiB2 GiBCatalogue + sources de workspace
api-ontology256 MiB512 MiBOptionnel
api-table256 MiB512 MiBActivé par défaut ; soutient Managed Tables. Désactiver avec apiTable.enabled: false.
marimo-document128 MiB512 MiBMoteur de rendu de documents de notebook sans état et sans calcul
infra.db (Postgres)256 MiB1 GiBIntégré. Désactiver si vous utilisez Postgres géré.
infra.seaweedfs256 MiB1 GiBIntégré. Désactiver si vous utilisez S3 géré.
infra.starrocks2 GiB8 GiBActivé par défaut (allin1 mono-pod). Désactiver avec infra.starrocks.enabled: false ou remplacer par l'opérateur StarRocks pour du multi-AZ.

Le calcul isolé des notebooks s'ajoute à ces ressources et est planifié dans runtimePlane.workloadNamespace. Chaque runtime interactif actif réserve 4 GiB pour Marimo, 1 GiB pour le contrôle de source, 512 MiB pour son broker et 128 MiB pour l'enforcer de sortie (5,625 GiB au total). Un job de notebook réserve 4 GiB pour son runner, plus 128 MiB pour le broker et 128 MiB pour l'enforcer (4,25 GiB au total). Dimensionnez le pool de nœuds Kata/KVM pour le nombre prévu de sessions et de jobs simultanés ; l'ouverture des documents ne consomme pas cette capacité.

Les limits ont été révisées pour la dernière fois le 2026-05-18 (rollout de minification binaire v1.3.5-rc.54, PR #1142, qui a environ doublé le RSS stable des applications SSR ; la limit platform a ensuite été portée à 2 GiB le 2026-05-29). Les requests ont été ajustées le 2026-07-06 (PR #2257) pour suivre le RSS stable mesuré. Les anciennes requests sous-estimaient l'usage réel 2 à 4 fois, donc le scheduler surcompactait les nœuds et les pods étaient évincés pendant les rollouts sous pression mémoire. Si vous franchissez l'une de ces limites lors d'une mise à niveau sur un cluster existant, vérifiez la marge du pool de nœuds avant helm upgrade.

AI Gateway

L’AI Gateway s'exécute à l'intérieur du pod api-platform : son coût pèse donc sur le CPU de ce Deployment et non sur un service dédié. Le chart livre auth.resources avec une request de 500m et une limit de 2000m. Cette valeur par défaut couvre le trafic de plan de contrôle qu'api-platform sert déjà ; le trafic du router s'y ajoute, et c'est la seule charge de cette page qui évolue avec la façon dont vos équipes travaillent plutôt qu'avec le nombre de services activés.

Coût d'un tour

Le coût CPU d'un tour se compose d'une petite part fixe et d'une part proportionnelle au nombre d'événements diffusés, et non au nombre d'octets. Votre posture DLP modifie le terme événementiel : il y a donc trois courbes plutôt qu'une seule.

Mode DLPCPU par tour
disabled0,017 vCPU-s + 0,14 ms × événements
audit0,025 vCPU-s + 0,18 ms × événements
enforce0,026 vCPU-s + 0,20 ms × événements

C'est le terme événementiel qui compte. Un agent de code diffuse environ un événement par token généré : un tour qui écrit 600 tokens coûte donc à peu près cinq fois un tour qui en écrit 100, même si les deux réponses restent courtes. Notez que le DLP est presque entièrement un coût par événement, et non un coût fixe : il inspecte le flux au fil de son passage, donc une réponse plus longue paie davantage.

Longueur de réponseÉvénements diffusésdisabledauditenforce
~200 tokens (réponse courte, appel d'outil)~2000,05 vCPU-s0,06 vCPU-s0,07 vCPU-s
~600 tokens (tour d'agent typique)~6000,10 vCPU-s0,13 vCPU-s0,15 vCPU-s
~1 000 tokens~1 0000,16 vCPU-s0,20 vCPU-s0,23 vCPU-s
~2 000 tokens (écriture de code longue)~2 0000,30 vCPU-s0,38 vCPU-s0,43 vCPU-s

La taille du prompt est en comparaison quasi gratuite : un prompt de 150 Ko coûte à peu près autant qu'un prompt de 16 Ko, car le router analyse une requête une seule fois et ne la relit pas.

enforce ajoute par ailleurs environ 11 ms au temps de premier token, de façon constante : le flux est libéré par fenêtres gouvernées de 512 caractères, avec une retenue de 256 caractères pour qu'une détection à cheval sur une frontière soit tout de même prise. Ce coût est plat : il n'augmente pas avec la longueur de la réponse. audit n'ajoute aucun TTFT mesurable, car il inspecte sans rien retenir.

Dimensionner pour une population de développeurs

Dimensionnez à partir des tours par seconde, et non du nombre de développeurs disposant d'un compte. Un développeur ayant un agent ouvert ne diffuse pas en continu : il lit, édite et réfléchit entre deux tours. La fraction de temps pendant laquelle son outil diffuse réellement est le cycle d'activité, et c'est ce chiffre qui détermine votre CPU.

Pour 1 000 développeurs émettant des tours typiques de 600 tokens d'environ 15 secondes chacun :

Les vCPU provisionnés ci-dessous visent un taux d'utilisation de 65 %, pour les trois modes DLP :

Cycle d'activitéFlux simultanésTours/sdisabledauditenforceRéplicas
10 % — usage occasionnel1006,71,1 vCPU1,3 vCPU1,5 vCPU2
25 % — usage régulier d'agent de code25016,72,6 vCPU3,3 vCPU3,8 vCPU4
50 % — usage intensif, piloté par agents50033,35,3 vCPU6,7 vCPU7,5 vCPU8
100 % — tous les développeurs diffusent en même temps1 00066,710,5 vCPU13,4 vCPU15,1 vCPU16

Activer le DLP coûte environ 25 % de CPU en plus par tour en audit et 50 % en enforce, sur un tour d'agent typique. C'est un coût réel, mais rarement décisif : c'est le nombre de réplicas ci-dessous qui contraint d'abord.

C'est en général le nombre de réplicas qui contraint, pas le total de vCPU. Chaque pod accepte auth.llmRouter.maxInFlight tours ouverts (64 par défaut) : le nombre minimal de réplicas vaut donc flux simultanés ÷ 64, quelle que soit la marge CPU d'un pod. À 250 flux simultanés cela fait 4 réplicas qui se partagent environ 3,5 vCPU — bien en dessous de la limit de 2000m autorisée à chacun. Augmentez maxInFlight et la limit CPU ensemble, ou ajoutez des réplicas ; n'augmentez pas l'un sans l'autre.

Valider vos propres chiffres

Les valeurs ci-dessus sont un point de départ, pas un substitut à la mesure de votre trafic réel. La longueur des tours, la posture DLP et le degré d'automatisation par agents déplacent le résultat davantage que l'erreur de modélisation. Une fois le trafic réel, les métriques décrites dans la section capacité de l’AI Gateway indiquent où vous vous situez :

  • scrydon_llm_router_streams_in_flight comparé à votre maxInFlight — à quelle distance un pod se trouve du délestage.
  • scrydon_llm_router_admission_rejections_total — durablement non nul en régime établi signifie qu'il faut ajouter un réplica, pas des retries côté client.
  • scrydon_llm_router_overhead_ms face à scrydon_llm_router_provider_ttfb_ms — sépare le temps passé dans votre plateforme du temps passé chez le fournisseur, ce qui distingue un problème de capacité d'un modèle lent.

Une organisation unique connaît un second plafond, indépendant du CPU. Chaque tour écrit une preuve d'audit chaînée par hachage, et cette preuve est ordonnée par organisation : le débit de tours soutenu d'un même locataire est donc borné par la vitesse de commit de sa chaîne d'audit, et ajouter des réplicas ne déplace pas cette limite. Deux écritures d'audit par tour, ou quatre lorsque le DLP s'exécute en enforce.

Notre suite de capacité mesure ce commit entre 3 et 10 ms, ce qui situe une organisation entre environ 100 et 380 écritures d'audit par seconde — largement au-dessus de chaque ligne du tableau ci-dessus, sauf la dernière en enforce. Si vous placez les 1 000 développeurs dans une seule organisation et que vous exécutez le DLP en enforce et que vous attendez une diffusion simultanée, validez cette combinaison avant de vous y engager. Un trafic réparti sur plusieurs organisations ne partage pas cet ordonnancement et n'est pas concerné.

Sur cette page

Sur cette page