Pour les applications de microservices dans Serverless App Engine (SAE), ajoutez des politiques d'Auto Scaling afin de mettre automatiquement à l'échelle les instances de l'application en réponse aux variations de trafic, telles que les pics soudains.
Vue d'ensemble
SAE prend en charge les méthodes de mise à l'échelle suivantes :
Mise à l'échelle manuelle : utilisez la mise à l'échelle manuelle pour répondre à des besoins urgents, tels que des pics de trafic imprévus.
Auto Scaling : utilisez l'Auto Scaling pour des besoins non urgents, tels que les variations périodiques du trafic, en configurant une politique d'Auto Scaling. SAE prend en charge les politiques d'Auto Scaling planifiées, basées sur des métriques et hybrides.
Cas d'utilisation
SAE prend en charge trois types de politiques d'Auto Scaling :
Politique d'Auto Scaling planifiée : convient aux applications dont l'utilisation des ressources suit des schémas prévisibles et périodiques. Ce scénario est courant dans les secteurs de la finance, de la santé, du gouvernement et de l'éducation.
Politique d'Auto Scaling basée sur des métriques : adaptée aux applications soumises à un trafic en rafale ou à des fluctuations périodiques. Cette configuration est fréquente dans les services Internet, le jeu vidéo et les réseaux sociaux.
Politique d'Auto Scaling hybride : idéale pour les applications qui doivent gérer à la fois des fluctuations périodiques de la demande en ressources et du trafic en rafale. Ce cas de figure se rencontre souvent dans les services Internet, l'éducation et la restauration.
Prérequis techniques
Vous pouvez créer au maximum cinq politiques d'Auto Scaling planifiées, une politique basée sur des métriques ou une politique hybride. Il est impossible d'utiliser ces trois types de politiques simultanément.
Lorsqu'une politique d'Auto Scaling est activée, n'effectuez pas d'opérations manuelles sur le cycle de vie de l'application, telles que la mise à l'échelle, le déploiement, la modification des spécifications, le redémarrage ou l'arrêt. Pour réaliser ces opérations, désactivez d'abord la politique d'Auto Scaling.
Si une application est en cours de mise à l'échelle horizontale (scale-out) ou verticale (scale-in), de déploiement (lot unique, par phases ou canary), de modification des spécifications, de redémarrage ou d'arrêt, attendez la fin du processus avant d'ajouter ou d'activer une politique d'Auto Scaling.
Le nombre maximal d'instances pour une seule application est de 50. Pour augmenter ce quota, rejoignez le groupe DingTalk (ID : 32874633) et demandez à être ajouté à la liste blanche.
Prérequis
Procédure
Dans la liste des applications SAE, sélectionnez la région et le namespace cibles en haut de la page, puis cliquez sur l'Application ID cible.
Sur la page Basic Information de l'application cible, cliquez sur l'onglet Auto Scaling. Dans la section Auto Scaling, cliquez sur Create Auto Scaling Policy.
Configurer une politique d'Auto Scaling
Politique planifiée
-
Dans le panneau Create Auto Scaling Policy, configurez les paramètres suivants, puis cliquez sur Next: Preview Scheduled Auto Scaling Policy.
Paramètre
Description
Exemple
Type de politique
Sélectionnez Politique d'Auto Scaling planifiée.
Politique d'Auto Scaling planifiée
Nom de la politique
Saisissez un nom personnalisé pour la politique.
demo
Période
Spécifiez si la politique est à court terme ou à long terme :
-
Court terme : indiquez une heure de début et une heure de fin.
-
Long terme : la politique reste active indéfiniment.
Long terme
Récurrence
Indique la fréquence de répétition de l'action de mise à l'échelle. Les options sont Quotidienne, Hebdomadaire ou Mensuelle.
Quotidienne
Programme de déclenchement quotidien
Heure de déclenchement : l'heure de la journée à laquelle l'action de mise à l'échelle se produit.
Nombre d'instances cibles : le nombre d'instances à maintenir après le déclenchement de l'action de mise à l'échelle.
Heure de déclenchement : 08:00 et 20:00
Nombre d'instances cibles : 10 et 3
-
Sur la page Preview Scheduled Auto Scaling Policy, vérifiez le nombre d'instances projeté pour les périodes spécifiques, puis cliquez sur Confirm.
Après avoir ajouté la politique d'Auto Scaling planifiée, activez-la.
Politique basée sur des métriques
-
Dans le panneau Create Auto Scaling Policy, configurez les paramètres suivants, puis cliquez sur Confirm.
Paramètre
Description
Exemple
Type de politique
Sélectionnez Politique d'Auto Scaling basée sur des métriques.
Politique d'Auto Scaling basée sur des métriques
Nom de la politique
Saisissez un nom personnalisé pour la politique.
demo
Conditions de déclenchement
Sélectionnez un type de métrique :
-
Utilisation du CPU
-
Utilisation de la mémoire
-
Connexions TCP actives
-
Total des connexions TCP
-
QPS de l'application
-
Temps de réponse de l'application (RT)
-
QPS du CLB orienté Internet
-
Temps de réponse du CLB orienté Internet
-
QPS du CLB interne
-
Temps de réponse du CLB interne
Remarque-
Pour plus d'informations sur l'agrégation des métriques, consultez les descriptions dans la console.
-
Vous pouvez définir plusieurs types de métriques.
Utilisation du CPU
Une action de mise à l'échelle est déclenchée lorsque la métrique spécifiée atteint cette valeur.
70 %
Nombre d'instances
Définissez les valeurs Minimum application instances, Maximum application instances et minimum available instances.
RemarqueMinimum available instances spécifie le nombre minimal d'instances qui restent disponibles lors d'une mise à jour progressive. Vous pouvez définir cette valeur par nombre ou par ratio.
-
Minimum application instances : 6
-
Maximum application instances : 50
-
Minimum available instances : défini par nombre à 3.
Paramètres avancés
(Facultatif) Configurez les paramètres suivants selon vos besoins :
-
Scale-out step size : le nombre maximal d'instances pouvant être ajoutées en une seule action de mise à l'échelle.
-
Scale-in step size : le nombre maximal d'instances pouvant être supprimées en une seule action de mise à l'échelle.
-
Scale-out stabilization window : pour éviter les fluctuations rapides lors de la mise à l'échelle horizontale (scale-out), l'algorithme utilise le nombre minimal d'instances requis calculé sur cette fenêtre de temps pour prendre une décision de mise à l'échelle.
-
Scale-in stabilization window : pour éviter les fluctuations rapides lors de la mise à l'échelle verticale (scale-in), l'algorithme utilise le nombre maximal d'instances requis calculé sur cette fenêtre de temps pour prendre une décision de mise à l'échelle.
-
Disable scale-in : si cette option est activée, l'application ne réduira jamais son nombre d'instances (scale-in). Cela permet d'éviter les interruptions de service causées par une réduction d'instances pendant les pics de trafic. Cette option est désactivée par défaut.
Consultez les Bonnes pratiques pour les paramètres avancés d'Auto Scaling.
-
Après avoir ajouté la politique d'Auto Scaling basée sur des métriques, activez-la.
Politique hybride
Une politique d'Auto Scaling hybride combine une politique d'Auto Scaling planifiée et une politique d'Auto Scaling basée sur des métriques.
-
Pour Policy Type, sélectionnez Politique d'Auto Scaling hybride et saisissez un Policy Name personnalisé.
Configurez les Metric Settings. Pour plus de détails, reportez-vous aux paramètres d'une politique d'Auto Scaling basée sur des métriques.
-
(Facultatif) Cliquez sur Advanced Settings et configurez les paramètres suivants selon vos besoins.
Paramètre
Description
Exemple
Scale-out step size
Le nombre maximal d'instances pouvant être ajoutées en une seule action de mise à l'échelle.
3
Scale-in step size
Le nombre maximal d'instances pouvant être supprimées en une seule action de mise à l'échelle.
2
Scale-out stabilization window
Pour éviter les fluctuations rapides lors de la mise à l'échelle horizontale (scale-out), l'algorithme utilise le nombre minimal d'instances requis calculé sur cette fenêtre de temps pour prendre une décision de mise à l'échelle.
300 secondes
Scale-in stabilization window
Pour éviter les fluctuations rapides lors de la mise à l'échelle verticale (scale-in), l'algorithme utilise le nombre maximal d'instances requis calculé sur cette fenêtre de temps pour prendre une décision de mise à l'échelle.
300 secondes
Disable scale-in
Si cette option est activée, l'application ne réduira jamais son nombre d'instances (scale-in). Cela permet d'éviter les interruptions de service causées par une réduction d'instances pendant les pics de trafic. Cette option est désactivée par défaut.
Activé
Configurez les Special Time Period Settings. Pour plus de détails, reportez-vous aux paramètres d'une politique d'Auto Scaling planifiée.
Dans l'assistant Preview Scheduled Auto Scaling Policy, vérifiez le nombre d'instances projeté pour les périodes spécifiques, puis cliquez sur Confirm.
Après avoir ajouté la politique d'Auto Scaling hybride, activez-la.
Vérifier la politique
Vérifiez l'efficacité de la politique d'Auto Scaling à l'aide de l'une des méthodes suivantes :
Vérifier le nombre d'instances
Accédez à la page Basic Information de l'application cible et cliquez sur l'onglet Auto Scaling. Vérifiez si le nombre d'instances correspond à celui spécifié dans la politique d'Auto Scaling. Si les valeurs correspondent, la politique est effective.
Le graphique Instance Count Trend with Scaling Metrics en haut de la page affiche les courbes d'évolution du nombre actuel d'instances de l'application et des métriques telles que l'utilisation du CPU. La zone bleue indique la plage de mise à l'échelle horizontale (scale-out), et la zone jaune indique la plage de mise à l'échelle verticale (scale-in). Le tableau Hybrid Auto Scaling Policy List ci-dessous présente les détails de configuration de chaque politique, tels que la Metric Target Value, le Maximum application instances et le Minimum application instances. Utilisez ces informations pour comparer le nombre actuel d'instances avec les paramètres de la politique.
Effectuer un test de charge
-
Ajoutez un endpoint public pour l'application.
Connectez-vous à la console SAE. Sur la page Basic Information, dans la section Application Access Settings, cliquez sur Add Internet-facing CLB Access.
-
Dans le panneau Add Internet-facing CLB Access, sélectionnez Create CLB (Pay-by-Specification), définissez le HTTP Port et le Container Port, puis cliquez sur OK.
Dans cet exemple, le HTTP Port est défini sur
80et le Container Port sur3210. -
Une fois l'endpoint ajouté, copiez l'adresse de l'endpoint public.
À droite de Public Endpoint, vous pouvez voir l'adresse générée (par exemple,
101.xxx:80) et le type de protocole HTTP.
-
Effectuez un test de charge sur l'application.
Connectez-vous à la console Performance Testing Service (PTS). Sur la page de présentation, saisissez l'adresse de l'endpoint au format
http://<Adresse de l'endpoint public>, puis cliquez sur Test.-
Dans le panneau Test Settings, saisissez le nombre de Requests Per Second (RPS). Cochez ensuite la case The test is permitted and complies with the applicable laws and regulations et cliquez sur Start.
Dans cet exemple, la Total Duration est définie sur
10minutes et les Requests Per Second (RPS) sur1000.
-
Retournez à la console SAE. Sur la page Basic Information de l'application cible, accédez à l'onglet Instance List. Vérifiez que le nombre d'instances de l'application a augmenté. Une mise à l'échelle horizontale (scale-out) réussie confirme l'efficacité de la politique.
RemarqueUne fois le test de charge terminé, le nombre d'instances est automatiquement réduit (scale-in). Ce processus peut prendre un certain temps.
Afficher les événements de mise à l'échelle
Accédez à la page Application Events de l'application cible. Filtrez par Source Type et définissez le type de source sur HorizontalPodAutoscaler pour afficher les événements de mise à l'échelle.
Après filtrage, la liste des événements affiche les événements liés à la mise à l'échelle. Un événement de niveau Normal avec la raison SuccessfulRescale indique une action de mise à l'échelle réussie. Développez les détails de l'événement pour afficher le résultat de la mise à l'échelle (par exemple, New size: 5) et la raison du déclenchement (par exemple, la métrique externe slb_incall_qps a dépassé le seuil cible).
Opérations supplémentaires
Sur la page Basic Information de l'application cible, cliquez sur l'onglet Auto Scaling.
Dans la section Auto Scaling de l'onglet Auto Scaling, localisez la politique cible. Dans la colonne Actions, vous pouvez Enable, Disable, Edit ou Delete la politique, ou consulter les Events déclenchés par celle-ci.