Configura tu app con app.yaml

Una aplicación Java en App Engine se configura con un archivo app.yaml que contiene los recursos de CPU, de memoria, de red y de disco, el escalamiento y otras configuraciones generales, incluidas las variables de entorno.

Puedes seleccionar el entorno de ejecución de Eclipse Jetty 9.3 o el entorno de ejecución de Java 8. Esto es más fácil con Maven o Gradle.

Acerca de los archivos app.yaml

Toda la configuración del entorno de ejecución de tu app de Java, incluidas las versiones y las URL, deben especificarse en el archivo app.yaml. Este actúa como un descriptor de implementación de una versión específica del servicio. Primero, debes crear el archivo app.yaml para el servicio default de tu app antes de que puedas crear e implementar los archivos app.yaml de servicios adicionales.

Puedes especificar un nombre único para tus archivos app.yaml, pero también debes especificar el nombre del archivo con el comando de implementación. Por ejemplo, si al archivo app.yaml lo nombras service-name-app.yaml o app.flexible.yaml, debes implementar la aplicación mediante una de las siguientes opciones:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Para obtener más información sobre cómo estructurar varios servicios y archivos app.yaml en tu aplicación, consulta Estructura servicios web. Según la complejidad del servicio de tu aplicación, es posible que solo necesites definir algunos elementos en el archivo app.yaml correspondiente. En el siguiente ejemplo se demuestra lo que una aplicación Java simple puede requerir en el entorno flexible:

runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored

Todos los elementos de configuración

Para obtener una lista completa de todos los elementos compatibles con este archivo de configuración, consulta la referencia de app.yaml.

Habilita la recopilación de métricas de máquinas virtuales de Java

Puedes configurar el entorno flexible de App Engine para que Java recopile métricas comunes de los procesos de la máquina virtual de Java (JVM). Las métricas se recopilan con el mismo complemento de supervisión de JVM que usa Cloud Monitoring. Para ver la lista completa de métricas de App Engine, consulta la guía de métricas de Google Cloud.

Si deseas recopilar estas métricas de las JVM para tu app:

  • appengine.googleapis.com/flex/instance/jvm/gc/count
  • appengine.googleapis.com/flex/instance/jvm/gc/time

Deberás configurar las siguientes propiedades del sistema JMX en las variables de entorno del archivo app.yaml e implementar tu app.

JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"