Autoscaling
Autoscaling
L'autoscaling ajuste automatiquement le nombre d'instances (réplicas) d'un service en fonction de sa charge CPU : plus de trafic, plus d'instances ; accalmie, retour au minimum.
Activer l'autoscaling
Dans le panneau du service, onglet Observabilité / Scaling :
| Paramètre | Rôle |
|---|---|
| Min | Nombre d'instances plancher (jamais moins) |
| Max | Plafond d'instances (jamais plus) |
| Cible CPU (%) | Seuil d'utilisation moyenne qui déclenche l'ajustement |
Exemple : min 1, max 4, cible 70 %. Si la moyenne CPU des instances dépasse 70 %, une instance est ajoutée (jusqu'à 4). Quand la charge retombe durablement, les instances superflues sont retirées (jusqu'à 1).
Scaling manuel
Sans autoscaling, vous fixez le nombre de réplicas à la main dans le même onglet. Passer de 1 à 2 instances double la capacité et apporte de la redondance : un redémarrage d'instance ne coupe plus le service.
Prérequis côté application
Plusieurs instances de votre application tournent en parallèle derrière le même domaine. Votre code doit être prêt :
- Pas d'état en mémoire partagé entre requêtes (sessions, caches locaux) : externalisez-le dans Redis ou la base.
- Uploads et fichiers : écrivez dans un volume persistant ou un stockage objet, pas dans le système de fichiers local de l'instance.
- Les WebSockets fonctionnent, mais un client est connecté à une instance : diffusez les messages inter-instances via Redis pub/sub si nécessaire.
Bien choisir la cible CPU
- 70 % est un bon défaut : de la marge pour absorber un pic le temps qu'une instance démarre.
- Une cible trop basse (30 %) scale trop tôt et coûte des ressources ; trop haute (90 %), le service sature avant que le renfort n'arrive.
- Surveillez le comportement réel dans les métriques du service après activation.
Le nombre maximal d'instances reste borné par les limites de votre plan (voir Limites et ressources).