web-dev-qa-db-fra.com

Le processus de déploiement de l'application de prévisualisation gcloud prend environ 8 minutes, est-ce normal?

Essayer un nouveau moteur d'exécution flexible pour les applications. Dans ce cas, un run Ruby on Rails runtime personnalisé basé sur le google fourni Ruby runtime).

Lors du tir de gcloud preview app deploy l'ensemble du processus prend environ 8 minutes, dont la plupart sont des "services de mise à jour". Est-ce normal? Et plus important encore, comment puis-je l'accélérer?

Cordialement,

Quartier

38
Ward Bekker

Oui, c'est tout à fait normal. La plupart des étapes de déploiement se déroulent loin de votre ordinateur et sont indépendantes de la taille de votre base de code, vous ne pouvez donc pas faire grand-chose pour accélérer le processus.

Les différentes étapes impliquées dans le déploiement d'une application sur App Engine peuvent être classées comme suit:

  1. Recueillir des informations sur app.yaml pour comprendre le déploiement global
  2. Collectez le code et utilisez l'image docker spécifiée dans app.yaml pour créer une image docker avec votre code
  3. Provisionner les instances de calcul, les règles de mise en réseau/pare-feu, installer les outils liés au docker sur l'instance, pousser l'image du docker vers l'instance et la démarrer
  4. Assurez-vous que tous les déploiements ont réussi, lancez des contrôles d'intégrité et, si nécessaire, transférez/équilibrez la charge.

Le seul processus qui prend la plupart du temps est la dernière partie où il effectue toutes les vérifications nécessaires pour s'assurer que le déploiement a réussi et commencer à ingérer du trafic. Selon la taille de votre code (téléchargement de code pour créer un conteneur) et les besoins en ressources (provisionnement de ressources personnalisées), les étapes 2 et 3 peuvent prendre un peu plus de temps.

Si vous effectuez une analyse, vous constaterez qu'environ 70% du temps est consommé à la dernière étape, où nous avons le moins de visibilité, mais le processus essentiel qui donne au moteur d'application la capacité de faire tout le travail lourd.

32
Vikram Tiwari

Le déploiement vers la même version m'a fait passer de 6 minutes à 3 minutes dans les déploiements suivants.

Exemple:

$ gcloud app deploy app.yaml --version=test
14
Eyal Levin

Assurez-vous de vérifier ce qui se trouve dans le fichier Zip qu'il télécharge (il vous indique l'emplacement de cela lors du déploiement), et assurez-vous que votre yaml skip_files est configuré pour inclure des éléments comme votre répertoire .git si vous en avez un, et node_modules

3
Tonester

Comme suggéré ci-dessus par @ludo, vous pouvez utiliser Google App Engine Standard au lieu de Flex. Ce qui prend environ 30 à 50 secondes après le premier déploiement.

Vous pouvez tester GAE Standard en exécutant ce didacticiel, qui ne nécessite pas de compte de facturation:

https://codelabs.developers.google.com/codelabs/cloud-app-engine-springboot/index.html#

Et d'accord. cela ne concerne pas GAE Flex mais donne quelques options pour accélérer pendant le développement.

0
Diego