Descripción general
En este lab, deberás implementar una aplicación en App Engine y, luego, crear políticas de alertas para recibir notificaciones si no se puede acceder a la aplicación o esta genera errores.
Objetivos
En este lab, aprenderás a realizar las siguientes tareas:
- Descargar una aplicación de ejemplo desde GitHub
- Implementar una aplicación en App Engine
- Crear alertas y verificaciones de tiempo de actividad
- Opcionalmente, crear una política de alertas con la CLI
Configuración y requisitos
En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón Abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haga clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para ver un menú con una lista de productos y servicios de Google Cloud, haz clic en el menú de navegación que se encuentra en la parte superior izquierda o escribe el nombre del servicio o producto en el campo Búsqueda.
Después de completar los pasos iniciales de acceso, aparecerá el panel del proyecto.

Activa Google Cloud Shell
Google Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud.
Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

-
Haz clic en Continuar.
El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.
- Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list
Resultado:
Credentialed accounts:
- @.com (active)
Resultado de ejemplo:
Credentialed accounts:
- google1623327_student@qwiklabs.net
- Puedes solicitar el ID del proyecto con este comando:
gcloud config list project
Resultado:
[core]
project =
Resultado de ejemplo:
[core]
project = qwiklabs-gcp-44776a13dea667a6
Nota:
La documentación completa de gcloud está disponible en la
guía de descripción general de gcloud CLI
.
Ejecuta los siguientes comandos para actualizar el entorno de Python
python3 -m pip install --upgrade pip
python3 -m venv myenv
source myenv/bin/activate
Tarea 1. Descarga una app de ejemplo desde GitHub y pruébala
-
Clona el analista de datos de entrenamiento de Google de GitHub en tu entorno de Cloud Shell. El repo contiene una aplicación sencilla que es perfecta para los requisitos del ejercicio.
git clone --depth 1 https://github.com/GoogleCloudPlatform/training-data-analyst.git
-
Una vez completada la clonación, cambia a la carpeta deploying-apps-to-gcp en el repositorio que contiene nuestra app de ejemplo:
cd ~/training-data-analyst/courses/design-process/deploying-apps-to-gcp
-
Abre el archivo main.py en el editor de Cloud Shell. Si se te solicita, haz clic en Abrir en una nueva ventana. Dedica un momento a explorar la aplicación “Hello GCP” en Python Flask básica.
edit main.py
-
Cierra el editor y vuelve a la terminal de Cloud Shell. Haz clic en Abrir terminal en la parte superior derecha para abrir la ventana de terminal. Para probar el programa, carga todas las dependencias de aplicaciones de Python y, luego, inicia la app.
pip3 install -r requirements.txt
python3 main.py
-
Para ver el programa en ejecución, haz clic en el botón Vista previa en la Web en la barra de herramientas de Cloud Shell y, luego, selecciona Vista previa en el puerto 8080.

El programa debería abrir una nueva pestaña del navegador y mostrar el mensaje Hello GCP.
- Cierra la pestaña y, luego, vuelve a Cloud Shell. Después, presiona CTRL+C para salir del servidor Flask en ejecución.
Tarea 2. Implementa una aplicación en App Engine
Ahora que sabemos que la aplicación funciona, vamos a implementarla en App Engine.
-
Cámbiate al editor de código de Cloud Shell (o vuelve a abrirlo). Expande la carpeta training-data-analyst/courses/design-process/deploying-apps-to-gcp en el árbol del explorador de la izquierda.
-
En el menú File, selecciona New File y asigna el nombre app.yaml al archivo.
-
Pega lo siguiente en el archivo que acabas de crear:
runtime: python312
-
Para asegurarte de que se guarde el archivo, selecciona Archivo > Guardar.
Todos los proyectos requieren la creación de una aplicación de App Engine para poder usarla. Esto se hace una sola vez por proyecto a través de la consola o el comando gcloud app create. De cualquier forma, debes especificar la región en la que quieres que se cree la app.
-
Ejecuta el siguiente comando en tu terminal de Cloud Shell: Es posible que debas brindar tu autorización para que Cloud Shell realice ese cambio:
gcloud app create --region={{{project_0.startup_script.app_region|Region}}}
-
Implementa la aplicación básica en App Engine. El siguiente comando busca la aplicación en el directorio actual. Detecta el archivo app.yaml y lo declara una aplicación de Python, y supone que el resto de la carpeta contiene la aplicación misma, con el punto de partida en main.py. Carga las dependencias, empaqueta la aplicación y también la implementa en App Engine como servicio.
gcloud app deploy --version=one --quiet
-
Espera a que termine de implementarse la aplicación.
-
En el menú de navegación (
) de la ventana de la consola de Google Cloud, haz clic en Ver todos los productos > Sin servidores > App Engine > Panel.
-
En la parte superior derecha del panel, verás un vínculo a la aplicación similar al que aparece a continuación.

Nota: De forma predeterminada, la URL a App Engine tiene el formato https://project-id.wl.r.appspot.com.
-
Haz clic en el vínculo para probar la app que acabas de implementar. Debería funcionar exactamente de la misma manera que cuando la ejecutamos en Cloud Shell.
-
Haz clic en actualizar varias veces, de manera que Google Cloud pueda recopilar una muestra de datos.
Haz clic en Revisar mi progreso para verificar el objetivo.
Implementar una aplicación en App Engine
Tarea 3. Examina los registros de App Engine
-
Vuelve a la consola y, en el lado izquierdo, debajo de App Engine, haz clic en el vínculo Versiones.
-
Selecciona Registros en la columna Diagnóstico.

- En los registros, puedes ver las solicitudes que acabas de hacer. Si llegas aquí demasiado rápido, espera unos segundos y haz clic en el botón Pasar a los más recientes.
Tarea 4. Crea una alerta de latencia de App Engine
Ahora que la aplicación está en ejecución, vamos a crear una alerta para detectar una latencia inusualmente alta. Para comenzar, vamos a explorar la latencia actual de la aplicación.
Verifica la latencia de la aplicación actual en el Explorador de métricas
-
En el menú de navegación de la consola de Google Cloud, haz clic en Ver todos los productos y, luego, ve a Observabilidad > Supervisión > Explorador de métricas.
-
Haz clic en el menú desplegable Selecciona una métrica y desmarca la opción Activa.
-
Configura la Métrica como Aplicación en GAE > HTTP > Latencia de respuesta. Haz clic en Aplicar. Asegúrate de que la métrica sea de App Engine y no una métrica de verificación de tiempo de actividad. La segunda opción no funcionará, porque actualmente no tenemos una verificación de tiempo de actividad.
-
En el campo Agregación, haz clic en el menú desplegable y selecciona Percentil 99.
-
Tómate un momento para examinar el gráfico.
No tenemos muchos datos, pero deberíamos tener los suficientes como para ver una línea en el gráfico que indique el tiempo promedio que le tomó a la aplicación devolver una respuesta en el 99% de las solicitudes más rápidas, eliminando el 1% de las anomalías.
Crea una alerta basada en la misma métrica
Ahora, nuestra aplicación funciona según lo esperado. Es posible que hubiera algunas respuestas lentas cuando se inició la aplicación, pero, en promedio, deberías ver tiempos de respuesta inferiores a 200 ms.
Vamos a crear una alerta para recibir una notificación si se producen tiempos de respuesta que superen los 5 s durante más de un minuto.
-
En el menú de navegación (
) de la consola de Google Cloud, haz clic en Ver todos los productos > Observabilidad > Supervisión > Alertas.
-
En la parte superior, haz clic en Editar canales de notificación y desplázate hacia la sección Correo electrónico. Usa la opción Agregar nuevo para agregar tu dirección de correo electrónico como un canal de notificación válido. Para la opción Display name, elige el nombre que desees y, luego, haz clic en Guardar.
-
Vuelve a la página principal de Alertas y haz clic en Crear política.
-
Haz clic en Seleccionar una métrica y desmarca la opción Activa para mostrar la misma página del Explorador de métricas. Una vez más, configura la Métrica como Aplicación en GAE > HTTP > Latencia de respuesta. Haz clic en Aplicar. Configura la ventana progresiva como 1 min y, luego, haz clic en Siguiente.
Notarás la nueva sección de Configuración que se agregó a la ventana del Explorador de métricas estándar en la parte inferior izquierda.
-
Establece una condición que active una alerta si Cualquier serie temporal tiene incumplimientos de la Posición del umbral que se define como Por encima del umbral y el Valor del umbral que se configura como 8000ms.
-
Configura el nombre de la condición como Latencia de respuesta [MEDIA] para el 99% superior a 8 s.
-
Dedica un momento a analizar el gráfico de alertas. Es el mismo gráfico que creamos antes con el Explorador de métricas, pero, esta vez, debería haber una línea de alerta dibujada en 8 s.
-
Haz clic en Siguiente.
-
Para Notifications and name, expande el Notification Channel, márcate a ti mismo y haz clic en Aceptar (el canal de notificación que creaste previamente en esta sección).
-
Dale a la alerta el nombre Hola, demasiado lento y haz clic en Siguiente. Revisa la alerta y haz clic en Crear política.
-
Actualiza el código de la aplicación para agregar un retraso. Vuelve al editor de código de Cloud Shell. Expande la carpeta training-data-analyst/courses/design-process/deploying-apps-to-gcp en el árbol del explorador de la izquierda.
-
Haz clic en main.py para abrirlo en el editor. Cerca de la parte superior, en la línea 2, agrega las siguientes sentencias de importación (algunas se utilizarán más adelante en el ejercicio):
import time
import random
import json
-
Reemplaza la función main() actual por la que aparece abajo. Esta nueva versión incluye un comando de suspensión que pausa el código durante 10 s en medio de cada solicitud. Esto estará muy por encima del umbral.
@app.route("/")
def main():
model = {"title": "Hello GCP."}
time.sleep(10)
return render_template('index.html', model=model)
-
Ahora, vuelve a implementar la aplicación ejecutando nuevamente lo siguiente:
gcloud app deploy --version=two --quiet
-
Espera a que el comando finalice la implementación.
-
Una vez que el comando se complete, vuelve a Sin servidores > App Engine > Panel y asegúrate de que el vínculo funcione.
-
Para generar una carga coherente, en Cloud Shell, ingresa el siguiente comando:
while true; do curl -s https://$DEVSHELL_PROJECT_ID.appspot.com/ | grep -e "<title>" -e "error";sleep .$[( $RANDOM % 10 )]s;done
Nota: Este comando realiza solicitudes a la aplicación de App Engine de forma continua en bucle. El comando grep muestra el título de la página cuando funciona la solicitud. También muestra el error si no funciona. Con cada iteración, el subproceso se suspende una cantidad aleatoria de tiempo, menos de un segundo, pero con el retraso de 10 s en el tiempo de respuesta parecerá mucho más.
-
Espera y después de unos pocos minutos (en general, alrededor de 5), recibirás un correo electrónico con la notificación de la alerta. Cuando la recibas, vuelve a la terminal de Cloud Shell y usa CTRL + C para detener el bucle del verificador de carga.
-
En el menú de navegación (
) de la consola de Google Cloud, haz clic en Ver todos los productos > Observabilidad > Supervisión > Alertas.
Observa que se activó una alerta y se creó un incidente.
-
Haz clic en el incidente para ver los detalles.
-
Investiga la página de detalles, desplázate hasta la parte superior y selecciona Confirmar incidente.
-
Regresa a la página principal de Alertas y observa los cambios.
Haz clic en Revisar mi progreso para verificar el objetivo.
Crear una alerta de latencia de App Engine
Tarea 5. (Opcional) Crear una política de alertas con la CLI
La CLI (y la API) de alertas puede ser muy eficaz cuando se aplican políticas de alertas con código o secuencias de comandos.
-
Vuelve al editor de código de Cloud Shell. Selecciona la carpeta training-data-analyst/courses/design-process/deploying-apps-to-gcp en el árbol del Explorador de la izquierda.
-
Desde el menú File, selecciona New File y dale el nombre app-engine-error-percent-policy.json.
-
Crea una política de alertas que divida la cantidad de errores 500 por el número total de respuestas y active una alerta cuando los errores 500 superen el 1%. Pega lo siguiente en el archivo que acabas de crear:
{
"displayName": "HTTP error count exceeds 1 percent for App Engine apps",
"combiner": "OR",
"conditions": [
{
"displayName": "Ratio: HTTP 500s error-response counts / All HTTP response counts",
"conditionThreshold": {
"filter": "metric.label.response_code>=\"500\" AND metric.label.response_code<\"600\" AND metric.type=\"appengine.googleapis.com/http/server/response_count\" AND resource.type=\"gae_app\"",
"aggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"project",
"resource.label.module_id",
"resource.label.version_id"
],
"perSeriesAligner": "ALIGN_DELTA"
}
],
"denominatorFilter": "metric.type=\"appengine.googleapis.com/http/server/response_count\" AND resource.type=\"gae_app\"",
"denominatorAggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"project",
"resource.label.module_id",
"resource.label.version_id"
],
"perSeriesAligner": "ALIGN_DELTA"
}
],
"comparison": "COMPARISON_GT",
"thresholdValue": 0.01,
"duration": "0s",
"trigger": {
"count": 1
}
}
}
]
}
-
Guarda el archivo. Asegúrate de estar en la carpeta correcta y de que la política de alertas se haya guardado allí.
cd ~/training-data-analyst/courses/design-process/deploying-apps-to-gcp
ls
-
Implementa la política de alertas con el siguiente comando:
gcloud alpha monitoring policies create --policy-from-file="app-engine-error-percent-policy.json"
-
En el menú de navegación (
) de la consola de Google Cloud, haz clic en Observabilidad > Supervisión > Alertas. En la sección Políticas, deberías ver la política de alertas que acabas de implementar.
-
Haz clic en tu política HTTP error… para ver los detalles. Edita el canal de notificaciones de manera que recibas un correo electrónico cuando se active la alerta.
-
Implementa la aplicación de App Engine con un error aleatorio para probar esta política. Vuelve al editor de código de Cloud Shell. Expande la carpeta training-data-analyst/courses/design-process/deploying-apps-to-gcp en el árbol del explorador de la izquierda.
-
Abre el archivo main.py en el editor de Cloud Shell.
-
Reemplaza la función main() actual por la que aparece abajo. Esta nueva función quita nuestro comando de suspensión y utiliza el generador de números aleatorios para devolver un error 500 alrededor del 2% del tiempo. Esto debería ser suficiente para que se active la política de recuento de errores de HTTP.
@app.route("/")
def main():
num = random.randrange(49)
if num == 0:
return json.dumps({"error": 'Error thrown randomly'}), 500
else:
model = {"title": "Hello GCP."}
return render_template('index.html', model=model)
-
Vuelve a implementar tu aplicación con el siguiente comando:
gcloud app deploy --version=two --quiet
-
Espera a que el comando finalice la implementación.
-
Una vez que el comando se complete, vuelve a App Engine > Panel y asegúrate de que el vínculo funcione.
-
En Cloud Shell, vuelve a ejecutar el comando del generador de cargas usado previamente:
while true; do curl -s https://$DEVSHELL_PROJECT_ID.appspot.com/ | grep -e "<title>" -e "error";sleep .$[( $RANDOM % 10 )]s;done
En Cloud Shell, deberías ver que aparece un error aleatoriamente alrededor del 2% del tiempo. Deja el comando en ejecución.
-
En el menú de navegación (
) de la consola de Google Cloud, haz clic en Observabilidad > Supervisión > Alertas y espera unos minutos más. Deberías ver que se activa un incidente de alerta. También deberías recibir un correo electrónico. Esto no sucederá de inmediato, ten un poco de paciencia.
-
Una vez que recibas el correo electrónico y veas el incidente activado, regresa a Cloud Shell y presiona CTRL + C para detener las solicitudes.
Si esperas unos minutos más, verás que el incidente se resuelve solo y recibirás otro correo electrónico.
-
Para asegurarte de no recibir ningún correo electrónico una vez que se elimine el proyecto, borra los canales de notificación. Haz clic en la política HTTP error count… para ver los detalles. Haz clic en el vínculo Editar, expande el canal de notificaciones y desmárcate. Desactiva la opción Usar el canal de notificaciones. Guarda los cambios y, luego, borra la política.
-
Repite el paso anterior para tu política de alertas de verificaciones de tiempo de actividad.
Repaso
En este ejercicio, usaste la consola de Google Cloud y la CLI para crear y probar políticas de alertas. ¡Muy bien!
Finalice su lab
Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.
Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.
La cantidad de estrellas indica lo siguiente:
- 1 estrella = Muy insatisfecho
- 2 estrellas = Insatisfecho
- 3 estrellas = Neutral
- 4 estrellas = Satisfecho
- 5 estrellas = Muy satisfecho
Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.
Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.
Copyright 2025 Google LLC. Todos los derechos reservados. Google y el logotipo de Google son marcas de Google LLC. El resto de los nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que están asociados.