Plantilla de app web de tres niveles

Esta guía te ayuda a comprender la plantilla de aplicación App web de tres niveles, que te permite implementar rápidamente una pila de aplicaciones web de tres niveles enGoogle Cloud.

La app web de tres niveles incluye lo siguiente:

  • Balanceadores de cargas opcionales que controlan lo siguiente:
    • Tráfico entrante
    • Distribución del tráfico a tu servicio de frontend.
  • Apps en contenedores que se implementan como servicios sin servidores:
    • Un frontend basado en la Web
    • Una capa de API en el nivel medio
  • Es un backend de base de datos SQL.
  • Una caché en memoria que entrega datos a los que se accede con frecuencia.

Productos usados

La aplicación contiene los siguientes productos Google Cloud :

  • Cloud Load Balancing (opcional): Es un servicio que proporciona balanceo de cargas escalable y de alto rendimiento en Google Cloud.
  • Cloud Run: Un servicio completamente administrado que te permite compilar y, además, implementar apps alojadas en contenedores sin servidores.Google Cloud controla el escalamiento y otras tareas de infraestructura para que puedas enfocarte en la lógica empresarial de tu código.
  • Cloud SQL: Una base de datos de PostgreSQL completamente administrada en Google Cloud. Esto te libera de tareas de administración de la base de datos para que tengas más tiempo para administrar tus datos.
  • Memorystore para Redis: Es un servicio que proporciona almacenamiento en caché de aplicaciones con un servicio en memoria escalable, seguro y con alta disponibilidad para Redis. Esto te ayuda a proporcionar acceso de baja latencia y alta capacidad de procesamiento para los datos con alto nivel de acceso.

Arquitectura

En la siguiente imagen, se muestran los componentes y las conexiones de la aplicación:

Una aplicación web de tres niveles en el lienzo de diseño. La aplicación incluye componentes de frontend, backend y base de datos.

A continuación, se muestra el flujo de procesamiento de solicitudes de la aplicación:

  1. Un frontend de Cloud Load Balancing recibe solicitudes externas y distribuye el tráfico al backend de Cloud Load Balancing.
  2. El backend de Cloud Load Balancing distribuye el tráfico al servicio de Cloud Run.
  3. Un servicio de frontend de Cloud Run basado en la Web renderiza un cliente HTML en el navegador del usuario.
  4. El servicio de frontend envía solicitudes a una capa de API, que también se implementa como un servicio de Cloud Run.
  5. Memorystore para Redis almacena en caché y entrega los datos que se leen con frecuencia.
  6. La capa de la API envía las solicitudes que no puede entregar desde la caché de Redis en memoria a una base de datos de Cloud SQL.

¿Qué sigue?