Ne payez pas pour les GPU inactifs. Provisionnez la capacité de calcul juste-à-temps, traitez la charge de travail et déprovisionnez-la — transformant les dépenses en capital en un coût d'exploitation par tâche.
Votre charge de travail est en rafale — des tâches d'encodage vidéo qui augmentent fortement lors du téléchargement de contenu, des exécutions d'entraînement ML qui nécessitent 8 GPU pendant 4 heures puis rien, des tâches d'inférence par lots déclenchées par des événements commerciaux, ou des pipelines de rendu qui s'exécutent pendant la nuit. Vous êtes soit surprovisionné (payant pour des ressources inactives 80 % du temps), soit sous-provisionné (les tâches s'accumulent pendant des heures lors des pics). Vous avez besoin d'une architecture qui provisionne exactement la capacité de calcul dont vous avez besoin, quand vous en avez besoin, et la libère une fois la tâche terminée — sans la pénalité de démarrage à froid qui rend le "scale to zero" impraticable pour les charges de travail GPU.
Explore more design patterns and system architectures
Nos architectes peuvent vous aider à concevoir et construire des systèmes utilisant ce modèle pour vos besoins spécifiques.
Contactez-nous
L'architecture de scaling on-off gère les ressources de calcul via un pool chaud/froid, un provisionnement basé sur une file d'attente de tâches, et un déprovisionnement automatisé. Un pool chaud maintient un petit nombre d'instances pré-initialisées prêtes à l'emploi immédiat. Un pool froid provisionne une capacité supplémentaire à partir d'instances spot/préemptibles lorsque la demande dépasse celle du pool chaud. Un orchestrateur de tâches achemine le travail vers les instances disponibles, surveille la progression, gère les nouvelles tentatives en cas d'éviction spot, et déclenche la réduction d'échelle lorsque la file d'attente se vide. Ce modèle est particulièrement critique pour les charges de travail GPU où le démarrage à froid (téléchargement du conteneur + chargement du modèle) peut prendre 3 à 10 minutes.
Le système s'articule autour d'une file d'attente de tâches (SQS, Redis, ou personnalisée) qui met en mémoire tampon les requêtes de travail entrantes. Un contrôleur de scaling surveille la profondeur de la file d'attente et provisionne les instances à partir du pool chaud en premier, puis du pool froid (instances spot). Chaque instance de travail extrait les tâches de la file d'attente, exécute la charge de travail (encodage, entraînement, inférence), signale l'achèvement et retourne au pool ou se termine. Un gestionnaire de points de contrôle gère l'éviction spot en sauvegardant l'état intermédiaire sur S3, permettant aux tâches de reprendre sur une instance différente sans repartir de zéro.

System Architecture Overview
| Couche | Technologies |
|---|---|
| Calcul | AWS EC2 Spot (G5/P4), GCP Preemptible (A2/L4), RunPod Serverless, Modal |
| Orchestration | Kubernetes (Karpenter pour l'autoscaling), AWS Batch, orchestrateur de tâches personnalisé |
| File d'attente de tâches | AWS SQS, BullMQ (Redis), Temporal, Celery |
| Stockage | S3 (points de contrôle, artefacts de modèle), NVMe (cache de modèle), EFS (espace de travail partagé) |
| Surveillance | CloudWatch/Prometheus (profondeur de la file d'attente, utilisation des instances, latence des tâches), tableaux de bord de coûts personnalisés |
| Utiliser Quand | Éviter Quand |
|---|---|
| La charge de travail est en rafale — la demande de pointe est 5 fois supérieure à la demande moyenne | Le trafic est stable et prévisible — les instances réservées de taille appropriée sont moins chères |
| Tâches GPU/haut-calcul coûteuses à l'état inactif | La charge de travail est un traitement CPU léger adapté au serverless (Lambda) |
| Les tâches peuvent tolérer un démarrage à froid de 1 à 5 minutes pour le provisionnement du pool froid | Une latence de démarrage des tâches inférieure à la seconde est requise — vous avez besoin d'une infrastructure toujours active |
| L'optimisation des coûts est une préoccupation majeure et la tarification spot offre des économies de 60 à 90 % | Une interruption spot entraînerait une perte de données que le pointage de contrôle ne pourrait pas atténuer |
MW conçoit le scaling on-off sous l'angle du "coût par tâche" — nous modélisons le coût total de traitement d'une unité de travail (une vidéo, une exécution d'entraînement, une inférence par lots) à travers différentes stratégies de scaling et choisissons celle qui minimise les coûts tout en respectant le SLA de latence requis. Nos implémentations incluent des tableaux de bord de coûts en temps réel qui affichent le coût par tâche, l'utilisation de l'infrastructure et les économies spot. Nous avons construit une infrastructure GPU on-off qui a réduit les coûts de traitement vidéo de 70 % par rapport aux instances réservées, et des clusters d'entraînement ML qui provisionnent 64 GPU pour une exécution d'entraînement de 4 heures et les libèrent automatiquement.
La sécurité n'est pas une fonctionnalité que l'on ajoute après le lancement. C'est une propriété architecturale — soit le système a été conçu pour cela, soit il ne l'a pas été.
Les clients MicrocosmWorks ayant des charges de travail fortement axées sur les lots ou périodiques constatent généralement une réduction de 60 à 80 % des coûts du cloud après la mise en œuvre de l'on-off scaling, car les ressources de calcul ne fonctionnent que pendant les fenêtres de traitement actives au lieu de 24h/24 et 7j/7. Nous concevons des politiques de mise à l'échelle basées sur la télémétrie d'utilisation réelle—par exemple, un pipeline de traitement de données qui fonctionne 4 heures par jour ne paie que pour ces 4 heures au lieu des 24 complètes. Nos architectes analysent vos modèles de charge de travail lors d'une phase de découverte pour projeter les économies exactes avant le début de toute implémentation.
Les temps de démarrage à froid varient de 2-3 secondes pour les applications conteneurisées sur des pools de nœuds pré-chauffés à 5-10 minutes pour les charges de travail nécessitant des instances GPU spécialisées ou le chargement de grands modèles, et MicrocosmWorks utilise plusieurs techniques pour minimiser ce délai. Nous mettons en œuvre une mise à l'échelle prédictive qui active des ressources avant la demande anticipée en utilisant des modèles de trafic historiques et des événements planifiés, et nous utilisons le pré-chargement d'images de conteneurs et les réservations de pools chauds pour les charges de travail sensibles à la latence. Pour les applications qui ne peuvent tolérer aucun démarrage à froid, nous maintenons une base de référence chaude minimale qui s'intensifie agressivement lorsque la demande arrive.
MicrocosmWorks met en œuvre l'auto-scaling réactif avec des politiques de montée en charge agressives déclenchées par la profondeur de la file d'attente, l'utilisation du CPU ou des métriques d'application personnalisées, combinées à des politiques de réduction de charge plus progressives qui incluent des périodes de latence pour éviter l'emballement du système. Nous configurons des tampons de sur-provisionnement lors des événements de montée en charge afin que le système anticipe une croissance continue plutôt que de courir après la demande instance par instance. Pour les pics véritablement imprévisibles comme les ventes flash ou les événements viraux, nous pré-provisionnons la capacité en utilisant des déclencheurs événementiels provenant de votre calendrier marketing ou opérationnel.
MicrocosmWorks applique la mise à l'échelle marche-arrêt aux bases de données en utilisant des offres de bases de données serverless comme Aurora Serverless, Neon ou PlanetScale, qui réduisent le calcul à zéro pendant les périodes d'inactivité tout en maintenant le stockage persistant et instantanément disponible. Pour les charges de travail avec état qui ne peuvent pas utiliser de bases de données serverless, nous mettons en œuvre la mise à l'échelle des répliques en lecture, qui ajoute et supprime des répliques en fonction de la charge de requêtes tout en maintenant une instance principale minimale toujours en fonctionnement. Cette approche hybride offre aux clients les avantages de coûts de la mise à l'échelle pour leur couche de données, sans la complexité de la gestion de l'état de la base de données pendant les cycles d'arrêt et de redémarrage.
MicrocosmWorks déploie une observabilité complète de la mise à l'échelle qui suit en temps réel le nombre d'instances, la latence des événements de mise à l'échelle, les tentatives de mise à l'échelle échouées et l'écart entre la capacité souhaitée et la capacité réelle, à l'aide de tableaux de bord Grafana ou Datadog. Nous configurons des alertes multi-canaux pour les échecs de mise à l'échelle, une utilisation élevée et prolongée qui suggère que le plafond de mise à l'échelle est trop bas, et les anomalies de coûts qui indiquent une mise à l'échelle incontrôlée. Nos runbooks incluent une remédiation automatisée pour les modes de défaillance courants, tels que l'atteinte des limites d'instances du fournisseur de cloud ou la rencontre d'erreurs de capacité insuffisante dans des zones de disponibilité spécifiques.