Mode de gestion des instances

Les instances sont les unités de calcul dont se sert App Engine pour procéder au scaling automatique d'une application. À tout moment, votre application peut être exécutée sur une ou plusieurs instances, les demandes étant réparties sur toutes les instances.

Vos instances avec un scaling manuel et de base devraient fonctionner indéfiniment, mais il n'y a aucune garantie de disponibilité. Les pannes matérielles ou logicielles qui entraînent une résiliation anticipée ou des redémarrages fréquents peuvent survenir sans avertissement et prendre un temps considérable à résoudre.

Toutes les instances flexibles sont redémarrées toutes les semaines. Lors des redémarrages, les mises à jour critiques, à compatibilité ascendante, sont automatiquement déployées sur le système d'exploitation sous-jacent. L'image de votre application restera la même après les redémarrages.

Vérification de l'état des machines

App Engine envoie des demandes de vérification d'intégrité périodiques pour confirmer qu'une instance a été déployée avec succès et pour vérifier qu'une instance en cours d'exécution conserve un état satisfaisant. Chaque vérification de l'état doit recevoir une réponse dans un intervalle de temps spécifié. Une instance n'est pas opérationnelle lorsqu'elle ne répond pas à un nombre spécifié de demandes de vérifications de l'état consécutives. Une instance non opérationnelle ne recevra aucune demande client, mais des vérifications de l'état seront toujours envoyées. Si une instance non opérationnelle continue à ne pas répondre à un nombre prédéterminé de vérifications de l'état consécutifs, elle sera redémarrée.

Il existe deux types de vérifications de l'état : mis à jour et hérités. Les demandes de mise à jour de vérification de l'état sont activées par défaut et ont des valeurs de seuil par défaut. Vous pouvez personnaliser la vérification de l'état en ajoutant une section facultative sur la vérification de l'état du fichier app.yaml de votre application. Vous pouvez également désactiver entièrement les vérifications de l'état.

Quel que soit le type de vérification de l'état que vous décidez d'utiliser, une application saine doit répondre avec un code d’état HTTP de 200.

Contrôle de l'utilisation des ressources

La page Instances de la console GCP fournit une visibilité sur le fonctionnement de vos instances. Vous pouvez vérifier l'utilisation de la mémoire et du processeur de chaque instance, la disponibilité, le nombre de demandes et d'autres statistiques. Vous pouvez également lancer manuellement le processus d'arrêt pour n'importe quelle instance.

Emplacement des instances

Les instances sont automatiquement localisées par région géographique en fonction des paramètres du projet.

Scaling d'instance

Lorsqu'une application est en cours d'exécution, les demandes entrantes sont routées vers une instance existante ou nouvelle du service/de la version appropriée. Le type de scaling d'un service/d'une version contrôle la manière dont les instances sont créées. Les paramètres de scaling sont configurés dans le fichier app.yaml. Il existe deux types de scaling.

Scaling manuel
Un service avec scaling manuel utilise des instances résidentes qui exécutent en continu le nombre d'instances spécifié, quel que soit le niveau de charge. Cela permet d'effectuer des tâches, telles que des initialisations complexes, et de concevoir des applications qui dépendent de l'état de la mémoire au fil du temps.
Scaling automatique
Les services d'autoscaling utilisent des instances dynamiques créées en fonction du taux de requête, des latences de réponse et d'autres métriques de l'application. Toutefois, si vous spécifiez un nombre minimal d'instances inactives, ces dernières s'exécutent en tant qu'instances résidentes, tandis que les autres instances sont dynamiques.
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Environnement flexible App Engine pour les documents Ruby