Hola mundo en App Engine

Clase 6 de 29Curso de Google App Engine

Contenido del curso

Resumen

Crear y publicar un Hola Mundo en la nube puede ser simple y rápido si dominas los conceptos clave. Aquí verás, paso a paso y sin rodeos, cómo hacerlo con Python 2.7, Webapp2 y App Engine estándar, aprovechando su capa gratuita y el SDK de Google Cloud para un flujo ágil de desarrollo y despliegue.

¿Qué tecnologías y entorno se usan para el hola mundo?

Trabajarás con App Engine estándar (no flexible) porque el ejemplo es pequeño y usa Python 2.7 con Webapp2, un microframework similar a Flask y Django. El SDK ya trae librerías, así que no necesitas entorno virtual. Puedes usar el editor que prefieras: Atom, Sublime o incluso bloc de notas.

  • Tecnologías: Python 2.7, Webapp2, App Engine estándar.
  • Archivos mínimos: main.py y app.yaml.
  • Enfoque: microframework y contenido de texto plano para la respuesta.
  • Buenas prácticas: nombres y comentarios en inglés para código más estándar.
  • Puertos locales: 8080 para la app y 8000 para el módulo de administración.
  • Depuración: activar debug para recarga automática y ver errores 500 en consola.

¿Cómo se programa el manejador web y el enrutamiento?

Primero defines una clase que hereda de RequestHandler y atiende el método GET. La respuesta será texto plano con “Hola Mundo”. Luego creas la aplicación WCGI de Webapp2 y enrutas la raíz “/” a esa clase. Con debug=True podrás corregir rápido errores de sintaxis y ver los cambios sin reiniciar.

¿Cómo luce el archivo main.py?

# main.py import os import urllib import webapp2 class MainPage(webapp2.RequestHandler): def get(self): # Returns plain text response. self.response.headers['Content-Type'] = 'text/plain' self.response.write('Hola Mundo') app = webapp2.WSGIApplication([ ('/', MainPage), ], debug=True)

Puntos clave del flujo:

  • Clase manejadora: MainPage con método get.
  • Respuesta: text/plain con el mensaje Hola Mundo.
  • App WCGI: lista de rutas que mapea “/” a la clase.
  • Depuración: debug=True para recarga y trazas inmediatas.

¿Cómo se configura app.yaml y se despliega con gcloud?

App Engine requiere un archivo de configuración mínimo para saber el runtime, la versión de API, si aceptará solicitudes simultáneas y qué handlers atenderán las URLs. Luego pruebas en local y finalmente haces deploy con gcloud, eligiendo la región y publicando en la URL por defecto.

¿Qué contiene app.yaml?

# app.yaml runtime: python27 api_version: 1 threadsafe: true handlers: - url: /.* script: main.app

Claves del archivo:

  • runtime: python27.
  • api_version: 1.
  • threadsafe: true para solicitudes simultáneas.
  • handlers: todo “/.*” va a main.app (la app definida en main.py).

¿Qué comandos se usan para probar y desplegar?

  • Prueba local: correr el servidor incluido en el SDK con el archivo de configuración.
    • Ejemplo: appserver.py app.yaml.
    • App en 8080 y módulo de administración en 8000.
  • Autenticación en la cuenta de Google Cloud:
    • gcloud auth login.
  • Seleccionar el proyecto correcto (usa tu project ID):
    • gcloud config set project PROJECT_ID.
  • Desplegar a App Engine estándar:
    • gcloud app deploy.
  • Elegir región al primer despliegue: por ejemplo, US Central.
  • URL por defecto tras publicar: PROJECT_ID.appspot.com para acceder al Hola Mundo público.

Con esto, tu Hola Mundo queda corriendo primero en local y luego en la nube, con monitoreo básico en el panel de App Engine: servicios, versiones e instancias disponibles para seguir iterando.

¿Tienes dudas o quieres compartir cómo te fue con el despliegue? Escribe tus comentarios y cuéntame qué te gustaría construir después.