Ne payez pas pour les GPU inactifs. Provisionnez la puissance 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 intermittente — des tâches d'encodage vidéo qui augmentent brusquement lorsque du contenu est téléchargé, 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 sur-provisionné (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 puissance 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 "cold-start" 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 pooling chaud/froid, un provisionnement basé sur une file d'attente de tâches et un déprovisionnement automatisé. Un warm pool maintient un petit nombre d'instances pré-initialisées prêtes à l'emploi immédiat. Un cold pool provisionne une capacité supplémentaire à partir d'instances spot/préemptibles lorsque la demande dépasse le warm pool. Un job orchestrator achemine le travail vers les instances disponibles, surveille la progression, gère les nouvelles tentatives en cas d'éviction spot et déclenche le scale-down lorsque la file d'attente se vide. Le modèle est particulièrement critique pour les charges de travail GPU où le cold start (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é) qui met en mémoire tampon les demandes de travail entrantes. Un scaling controller surveille la profondeur de la file d'attente et provisionne des instances depuis le warm pool en premier, puis depuis le cold pool (instances spot). Chaque worker instance 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 checkpoint manager 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 recommencer.

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, job orchestrator personnalisé |
| File d'attente de tâches | AWS SQS, BullMQ (Redis), Temporal, Celery |
| Stockage | S3 (checkpoints, artefacts de modèle), NVMe (cache de modèle), EFS (espace de travail partagé) |
| Monitoring | 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 intermittente — la demande de pointe est 5x+ 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/à haute intensité de calcul qui sont coûteuses lorsqu'inactives | La charge de travail est un traitement CPU léger qui convient au serverless (Lambda) |
| Les tâches peuvent tolérer un cold start de 1 à 5 minutes pour le provisionnement du cold pool | Une latence de démarrage de tâche 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 le prix spot offre 60 à 90 % d'économies | Une interruption spot entraînerait une perte de données que le checkpointing ne peut 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 le coût à la latence SLA requise. 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 de MicrocosmWorks ayant des charges de travail lourdes en lots ou périodiques constatent généralement des réductions de 60 à 80 % des coûts cloud après avoir mis en œuvre 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 scaling 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 heures complètes. Nos architectes analysent vos modèles de charge de travail pendant une phase de découverte afin de projeter les économies exactes avant le début de toute implémentation.
Les cold-start times varient de 2 à 3 secondes pour les applications conteneurisées sur des pre-warmed node pools à 5-10 minutes pour les charges de travail nécessitant des GPU instances spécialisées ou un chargement de grands modèles, et MicrocosmWorks utilise plusieurs techniques pour minimiser ce délai. Nous mettons en œuvre le predictive scaling qui démarre des ressources avant la demande anticipée en utilisant les modèles de trafic historiques et les événements planifiés, et nous utilisons le container image pre-pulling et les warm pool reservations pour les charges de travail sensibles à la latence. Pour les applications qui ne peuvent tolérer aucun cold start, nous maintenons une minimal warm baseline qui scale up agressivement lorsque la demande arrive.
MicrocosmWorks met en œuvre le reactive auto-scaling avec des scale-up policies agressives déclenchées par la queue depth, la CPU utilization ou des custom application metrics, combinées à des scale-down policies plus progressives qui incluent des cooldown periods pour éviter le thrashing. Nous configurons des over-provisioning buffers pendant les événements de scale-up afin que le système anticipe une croissance continue plutôt que de courir après la demande une instance à la fois. Pour les pics réellement imprévisibles comme les flash sales ou les viral events, nous pré-provisionnons la capacité en utilisant des event-driven triggers de votre calendrier marketing ou d'opérations.
MicrocosmWorks applique l'on-off scaling aux bases de données en utilisant des serverless database offerings comme Aurora Serverless, Neon ou PlanetScale qui scalent le compute à zéro pendant les périodes d'inactivité tout en maintenant le stockage persistant et instantanément disponible. Pour les stateful workloads qui ne peuvent pas utiliser de serverless databases, nous mettons en œuvre le read-replica scaling qui ajoute et supprime des réplicas en fonction de la charge de requêtes tout en maintenant une instance primaire minimale toujours en fonctionnement. Cette approche hybride offre aux clients les avantages de coût du scaling pour leur data tier sans la complexité de gérer l'état de la base de données pendant les cycles d'arrêt et de redémarrage.
MicrocosmWorks déploie une scaling observability complète qui suit le nombre d'instances, la scaling event latency, les failed scaling attempts et l'écart entre la capacité souhaitée et réelle en temps réel à l'aide de tableaux de bord Grafana ou Datadog. Nous configurons des alertes multi-canaux pour les scaling failures, l'utilisation élevée soutenue qui suggère que le scaling ceiling est trop bas, et les anomalies de coût qui indiquent le runaway scaling. Nos runbooks incluent une remédiation automatisée pour les modes de défaillance courants comme l'atteinte des cloud provider instance limits ou la rencontre d'erreurs de capacité insuffisante dans des availability zones spécifiques.