Introducción a App Engine

Google App Engine es una plataforma como servicio (PaaS) que permite a los desarrolladores construir y desplegar aplicaciones en la infraestructura de Google. App Engine gestiona automáticamente la infraestructura subyacente, permitiendo a los desarrolladores centrarse en escribir código.

Características Clave de App Engine

  • Escalado automático: App Engine ajusta automáticamente la cantidad de recursos asignados a tu aplicación en función de la demanda.
  • Entorno gestionado: Proporciona un entorno gestionado que incluye actualizaciones automáticas y parches de seguridad.
  • Compatibilidad con múltiples lenguajes: Soporta varios lenguajes de programación como Python, Java, Node.js, Go, PHP, y Ruby.
  • Integración con otros servicios de GCP: Se integra fácilmente con otros servicios de Google Cloud como Cloud SQL, Cloud Storage, y BigQuery.

Configuración Inicial

Paso 1: Crear un Proyecto en GCP

  1. Accede a la Consola de Google Cloud.
  2. Haz clic en el menú desplegable de proyectos y selecciona "Nuevo Proyecto".
  3. Asigna un nombre a tu proyecto y haz clic en "Crear".

Paso 2: Habilitar App Engine

  1. En la consola de GCP, navega a "App Engine" en el menú de navegación.
  2. Haz clic en "Crear aplicación".
  3. Selecciona la región donde deseas desplegar tu aplicación y haz clic en "Siguiente".

Paso 3: Instalar Google Cloud SDK

Para interactuar con App Engine desde tu máquina local, necesitarás instalar el Google Cloud SDK.

# Descargar e instalar Google Cloud SDK
curl https://sdk.cloud.google.com | bash

# Inicializar el SDK
gcloud init

Desplegar una Aplicación en App Engine

Paso 1: Crear una Aplicación de Ejemplo

Vamos a crear una simple aplicación en Python que responde con "Hello, World!".

  1. Crea un directorio para tu proyecto y navega a él:
mkdir my-app
cd my-app
  1. Crea un archivo main.py con el siguiente contenido:
import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, World!')

app = webapp2.WSGIApplication([
    ('/', MainPage),
], debug=True)
  1. Crea un archivo app.yaml para configurar tu aplicación:
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: main.app

Paso 2: Desplegar la Aplicación

  1. Autentícate en tu cuenta de Google Cloud:
gcloud auth login
  1. Despliega tu aplicación en App Engine:
gcloud app deploy
  1. Visita la URL proporcionada para ver tu aplicación en acción.

Ejercicios Prácticos

Ejercicio 1: Modificar la Aplicación

Modifica la aplicación para que responda con "Hello, [tu nombre]!" en lugar de "Hello, World!".

Solución

  1. Edita el archivo main.py:
import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, [tu nombre]!')

app = webapp2.WSGIApplication([
    ('/', MainPage),
], debug=True)
  1. Despliega nuevamente la aplicación:
gcloud app deploy

Ejercicio 2: Añadir una Nueva Ruta

Añade una nueva ruta /goodbye que responda con "Goodbye, World!".

Solución

  1. Edita el archivo main.py:
import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, [tu nombre]!')

class GoodbyePage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Goodbye, World!')

app = webapp2.WSGIApplication([
    ('/', MainPage),
    ('/goodbye', GoodbyePage),
], debug=True)
  1. Despliega nuevamente la aplicación:
gcloud app deploy

Conclusión

En esta sección, hemos aprendido los conceptos básicos de Google App Engine, cómo configurar un proyecto, y cómo desplegar una aplicación simple. También hemos practicado modificando la aplicación y añadiendo nuevas rutas. En el siguiente módulo, exploraremos otros servicios principales de GCP que pueden integrarse con App Engine para construir aplicaciones más robustas y escalables.

© Copyright 2024. Todos los derechos reservados