GeneralHTMLLinuxServidoresTecnologíaWeb

Guía Paso a Paso: ¿Cómo Subir su Sitio Web (HTML) a Google App Engine? Tutorial actualizado MDM

Introducción:

Si tienes un sitio web estático construido en HTML y deseas alojarlo en una plataforma confiable y escalable, Google App Engine es una excelente opción. En este artículo, te guiaré a través de un proceso paso a paso para subir tu sitio web HTML a Google App Engine. Ya sea que se trate de un sitio web personal, un proyecto empresarial o cualquier otro tipo de página web, esta guía te ayudará a aprovechar las ventajas de la infraestructura de Google para alojar tu contenido web.

Esta guía actualiza en tutorial de MDM Mozilla Developer How do you host your website on Google App Engine? que sube este sitio web a la nube.

How do you host your website on Google App Engine?

Como las tecnologías y sus requerimientos cambian dia con dia es necesario atualizar los datos y las configuraciones de nuestras aplicaciones para que puedan correr correctamente sobre la plataforma que elegimos como puede ser un hospedaje compartido, un seridor VPS o un servicio Cloud como GCP, Azure, OCI o AWS.

Pasos para Subir tu Sitio Web HTML a Google App Engine:

Paso 1: Configuración Inicial de Google Cloud Platform

Antes de comenzar, asegúrate de tener una cuenta en Google Cloud Platform (GCP). Si no la tienes, puedes registrarte de forma gratuita y obtener una cantidad generosa de créditos para empezar. Si ya eres usuario de GCP y has agotado tus céditos gratuitos debes habilitar el sistema de facturación. Toma en consideración que cierto uso de App Engine como otros servicios de GCP como uso de APIs, etc. forman parte del nivel gratuito.

El nivel de uso gratuito de Google App Engine se basa en el programa Always Free, que proporciona una cantidad limitada de recursos gratuitos que los desarrolladores pueden utilizar para ejecutar sus aplicaciones en App Engine. Estos recursos incluyen:

  1. Recursos de cálculo: Cada día, puedes utilizar una cantidad limitada de tiempo de CPU y memoria de forma gratuita. Estos recursos se renuevan diariamente.
  2. Almacenamiento: Puedes utilizar una cantidad limitada de almacenamiento y ancho de banda de forma gratuita.
  3. Número de instancias y servicios: Puedes ejecutar una cantidad limitada de instancias y servicios sin costo.
  4. Tráfico entrante: El tráfico entrante a tu aplicación es gratuito.

Es importante tener en cuenta que el nivel gratuito de Google App Engine tiene limitaciones (28 horas de instancia F1 por dia), y si tu aplicación supera estas limitaciones, es posible que se te cobre según el uso adicional. Es recomendable revisar la documentación actualizada de Google Cloud Platform para obtener detalles precisos sobre el nivel gratuito de Google App Engine, los consumos actuales, ya que las políticas pueden cambiar con el tiempo.

Como indicamos, las aplicaciones de App Engine no tienen costos si su trafico no excede ese nivel pero al crearse hacen uso de Cloud Storage (buckets) y dependiendo de la zona y región pueden adicionar costo (configuración multi-región), por lo cual recomendamos encarecidamente verificar en la sección de Facturación de tu proyecto, :

  1. Accede a la Consola de Google Cloud.
  2. Crea un nuevo proyecto si aún no tienes uno.

Paso 2: Preparación de Tu Sitio Web HTML

Asegúrate de que tu sitio web HTML esté completo y listo para su despliegue. Debe incluir todos los archivos, como HTML, CSS, JavaScript e imágenes.

En este caso usaremos la  aplicación de muestra del tutorial de MDM que puedes descargar en este link: aplicación de muestra.

Eche un vistazo a la estructura de la aplicación de muestra: la carpeta website contiene el contenido de su sitio web y app.yaml es el archivo de configuración de su aplicación.

Estructura de archivos sample-app
  • El contenido de su sitio web debe ir dentro de la carpeta website y su página de destino debe llamarse index.html, pero aparte de eso, puede tomar la forma que desee.
  • El archivo  app.yaml es un archivo de configuración que le indica a App Engine cómo asignar URL a sus archivos estáticos. El archivo esta diseñado para configurar una aplicación web en Google App Engine, pero hay algunos problemas en la configuración que pueden ser mejorados pues ya el tiempo lo ha hecho obsoleto. Por ejemplo señala como Runtime la versión 2.7 de Python que no vamos a utilizar.
  • Aquí hay una versión corregida y mejorada del archivo app.yaml:
runtime: python38

handlers:
- url: /
  static_files: website/index.html
  upload: website/index.html

- url: /
  static_dir: website

En resumen, estos elementos en el archivo app.yaml definen la configuración básica de la aplicación en Google App Engine, incluyendo el entorno de tiempo de ejecución, la versión de la API y la capacidad de manejar solicitudes concurrentes.

Paso 3: Instalación de Google Cloud SDK

El Google Cloud SDK es una herramienta que te permitirá interactuar con Google Cloud Platform desde la línea de comandos.

  1. Descarga e instala Google Cloud SDK.
  2. Inicia sesión en tu cuenta de Google utilizando gcloud auth login desde la línea de comandos.
Google Cloud CLI

Paso 4: Creación de una Aplicación en Google App Engine

  1. Crea una aplicación en App Engine ejecutando los siguientes pasos.

Ejecute lo siguiente en la línea de comando para crear su proyecto:

gcloud app create

Navegue hasta el directorio donde ha descargado el código fuente de ejemplo y ejecute lo siguiente en la línea de comando para seleccionar su proyecto: (como ejemplo app-sample-403218)

gcloud config set project app-sample-403218

Alternativamente, puedes crear tu proyecto directamente en Google Cloud Platform en «Nuevo Proyecto». Recuerda que obtendrás un nombre y un ID de proyecto, el segundo es el que vas a utilizar en la consola para identificar tu proyecto.

Nuevo proyecto en Google Cloud Platform

Luego dirígete a App Engine / Panel y allí verás tu proyecto.

Panel App Engine

Es importante que verifiques que usas créditos gratuitos de Google o bien que ya hayas establecido una cuenta de faturación, como indicamos. Igualmente en este punto puedes encontrar un error de autorización o autenticación si no has establecido los privilegios de edición en la sección IAM y administración de tu usuario sobre tu proyecto.

Volviendo a la consola, y verificando todos los pasos anteriores, procedemos a hacer el deploy del sitio, o sea lo subimos al proyecto asignado en el App Engine de Google. Escribimos el comando app deploy de :

gcloud app deploy

Tendrás una salida similar a esta:

deploy en gcloud cli

En esta salida en pantalla verás una línea similar a esta que indica Deployed service [default] to [https://app-sample-403218.uc.r.appspot.com]

Esta es la URL que GCP te brinda para poder ver tu a sitio web funcionando en la web. Has control + click sobre ella, escribe el comando «gcloud app browse» en la consola, o copia la URL y pégala en el explorador para que puedas ver tu sitio web. Podrás visualizar algo así:

¡Y muchas felicidades si has llegado hasta aquí y has podido visualizar tu sitio web en la pantalla!

Ahora vamos a poner la cereza en el pastel de nuestro sitio web.

Apuntando un dominio a tu sitio o aplicación web.


Para apuntar un dominio a un sitio web alojado en Google App Engine, sigue estos pasos generales:

  1. Configura tu aplicación en App Engine: Asegúrate de que tu aplicación web esté desplegada y funcionando correctamente en Google App Engine.
  2. Obtén el dominio: Debes tener un dominio registrado y acceso a la configuración de DNS para ese dominio. Si no tienes un dominio, puedes registrarlo a través de registradores de dominio como Porkbun, Namesilo u otro de tu elección (la verdad, aunque funcione bien, no recomendamos GoDaddy).
  3. Accede a la configuración de DNS: Inicia sesión en el panel de control de tu proveedor de dominio y busca la sección de configuración de DNS o gestión de dominio. Esto varía según el proveedor, pero generalmente se llama «Configuración DNS», «Zona DNS» o algo similar.
  4. Crea registros DNS: En la configuración de DNS, necesitarás crear registros DNS para dirigir el tráfico de tu dominio hacia Google App Engine. De los registros DNS más comunes puedes usar Registro A. Crea un registro A para el dominio (ejemplo.com) que apunte a la dirección IP de Google App Engine. Google proporciona una dirección IP que puedes usar para esto. Consulta la documentación de Google Cloud para obtener la dirección IP actual de App Engine. Diríjete a App Engine / Configuración / Dominios Presonalizados y siguie las instrucciones:

Selecciona el dominio que deseas usar y apunta tu dominio al proyecto a través de Registros A con las direcciones IP (v4 y v6) que se te asignarán. Google agregará un certificado SSL gratuito con renovación automática para tu aplicación por motivos de seguridad.

Una vez hecho esto tienes que dar un tiempo prudencial de unas horas para que la nueva configuración de tu dominio se propague por toda la red. Después de esto podrás visualizar tu sitio web a través de tu dominio personalizado apuntando a tu sitio web en App Engine a través de la conexión segura HTTPS.

Python en App Engine

Google App Engine es una plataforma que puede utilizarse para alojar aplicaciones web desarrolladas en Python, incluyendo aplicaciones basadas en Flask y Django. Google App Engine ofrece soporte para múltiples lenguajes de programación, incluidos Python, Node. js, Java, Ruby, C#, Go, o PHP, y es adecuado para una variedad de aplicaciones web.

Diagrama donde se muestra la jerarquía de una aplicación de App Engine que se ejecuta con varios servicios.

Tanto Flask como Django son marcos populares de Python para el desarrollo web, y puedes usarlos en App Engine. A continuación, te proporciono una breve descripción de cómo puedes utilizar cada uno:

  1. Flask: Puedes implementar aplicaciones Flask en Google App Engine de manera bastante sencilla. Flask es un micro marco web que es muy adecuado para aplicaciones pequeñas y medianas. Puedes definir rutas y vistas de manera simple y rápida. Para desplegar una aplicación Flask en App Engine, puedes seguir las instrucciones y ajustar el archivo app.yaml según sea necesario.
  2. Django: Si deseas usar Django en Google App Engine, puedes hacerlo, pero ten en cuenta que Django es un marco más completo y estructurado que Flask. Puedes seguir las guías y tutoriales proporcionados por Google para configurar una aplicación Django en App Engine. Asegúrate de que tu configuración sea compatible con la forma en que App Engine maneja las solicitudes y el almacenamiento de datos, ya que App Engine utiliza Google Cloud Datastore para el almacenamiento de datos.

En ambos casos, debes prestar atención a la configuración de la base de datos y al manejo de las solicitudes HTTP, ya que App Engine tiene algunas diferencias con respecto a la ejecución de aplicaciones web tradicionales en servidores. Además, debes considerar las políticas de escalabilidad y los recursos disponibles en App Engine, que pueden ser diferentes de un servidor web tradicional.

Conclusión

En resumen, Google App Engine es una opción viable para alojar aplicaciones Python basadas en Flask o Django. Sin embargo, asegúrate de ajustar tu aplicación y su configuración para que se adapten a las características y limitaciones de la plataforma.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *