Ticker

6/recent/ticker-posts

Arquitectura para el despliegue de una aplicación web con Google Compute Engine en GCP



En Google Cloud Platform (GCP), una arquitectura se refiere al diseño estructural de los servicios y recursos utilizados para construir soluciones en la nube. Las arquitecturas normalmente pueden ser arquitecturas resilientes y con alta disponibilidad requerida, y los recursos pueden estar distribuidos en una sola zona o varias, varias regiones o a nivel global.

En este tutorial diseñamos una arquitectura en base a máquinas virtuales (virtual machines - VM) para el despliegue de una aplicación web distribuida en dos zonas; para esto se hace uso del servicio de GCP como es Google Compute Engine (GCE) que aprovision máquina virtual en la nube.

Tras completar el tutorial, habrá revisado sobre Google Compute Engine (GCE), y otros servicios de GCP para el diseño de una arquitectura, finalmente, habrá diseñado la arquitectura de la aplicación web aplicando para el despliegue en GCP


Lo que veremos:
  1. Introducción.
  2. ¿Qué es Google Compute Engine?.
  3. Principales características de Google Compute Engine.
  4. Servicios para la arquitectura con Google Compute Engine en GCP.
  5. Arquitectura de la aplicación web aplicando Google Compute Engine en GCP.
  6. Terminología y Referencias.

1. Introducción:

Es importante tener en cuenta que una aplicación web bien diseñada debe tener la capacidad de escalar sin problemas a medida que la demanda aumenta y disminuye, y ser capaz de soportar la pérdida de uno o más recursos computacionales.

Pero una aplicación web verdaderamente resiliente y escalable requiere una planificación bien definida desde el diseño arquitectónico y tecnológico. Veamos cómo implementar un sitio web con Google Compute Engine. ¡No se pierdan el próximo tutorial práctico (laboratorio) incluye código! (próximamente).


2. ¿Qué es Google Compute Engine?

Google Compute Engine (GCE) es un servicio de infraestructura como servicio (IaaS) de GCP que permite ejecutar máquinas virtuales (VMs) en la infraestructura de Google; usualmente ofrece escalabilidad, rendimiento y flexibilidad para diversas cargas de trabajo, desde aplicaciones web hasta procesamiento de datos intensivo.


3. Principales características de Google Compute Engine:

  • Instancias de VM autoadministradas: Puedes configurar y gestionar máquinas virtuales con diferentes sistemas operativos, como Linux y Windows.
  • Opciones de almacenamiento: Soporte para almacenamiento local y duradero, adaptado a distintas necesidades.
  • Integración con otros servicios de Google Cloud: Compatible con Kubernetes Engine, Cloud Storage y BigQuery.
  • Escalabilidad y confiabilidad: Permite ajustar los recursos según la demanda y ofrece una alta disponibilidad con un tiempo de actividad del 99.9%.
  • Modelo de precios flexible: Paga solo por los recursos utilizados, sin costos iniciales.


4. Servicios para la arquitectura con Google Compute Engine en GCP:

Para el diseño de la arquitectura del despliegue de la aplicación web aplicaremos los siguientes servicios de GCP:



  1. Virtual Private Cloud: Para aprovisionar la red virtual privada que aisla de la red pública, que permitirá crear y gestionar el entorno de red en la nube de GCP.

  2. Cloud DNS(*): Para la gestión del nombre de dominio (DNS) de la aplicación web con acceso global, resiliente y de alto rendimiento que enruta el tráfico a la infraestructura GCP.

  3. Cloud CDN: Para mejorar el rendimiento y reducir la latencia al distribuir el contenido almacenado en caché.

  4. Cloud Storage: Para alojar del contenido estáticos como imágenes, videos y documentos del sitio web.

  5. Cloud Load Balancing (**): Para distribuir automáticamente el tráfico HTTP y HTTPS entre las instancias de Compute Engine.

  6. Google Compute Engine: Para ejecutar máquinas virtuales personalizadas para alojar la aplicación y  los servicios web sobre la infraestructura GCP.

  7. Cloud SQL: Para el almacenamiento de los datos dinámicos en la base de datos MySQL (compatible con PostgreSQL y SQL Server) .


(*) Si utiliza su propio proveedor de DNS, la solicitud llegará allí primero y luego el proveedor de DNS enrutará el tráfico a Google Cloud.

(**) Si aplicamos tráfico HTTPS, la sesión SSL se finaliza en el balanceador de carga y requiere al menos un certificado SSL firmado. Se recomienda aplicar desde una comunicación pública (internet).


5. Arquitectura de la aplicación web aplicando Google Compute Engine en GCP.

La arquitectura esta desplegada sobre una región de GCP, en dos zonas de disponibilidad, distribuido en tres nivel en base a instancias de Google Compute Engine para los servicios y aplicación web, y las instancias de Cloud SQL para la base de datos.    


6. Terminología y Referencias:

Terminología:

  • DNS: Domain Name System (Sistema de Nombres de Dominio).
  • VPN: Virtual Private Network (Red Privada Virtual).
  • SQL: Structured Query Language (Lenguaje de Consulta Estructurada).
  • HTTPS: Hypertext Transfer Protocol Secure (Protocolo Seguro de Transferencia de Hipertexto).

Referencias:

Publicar un comentario

0 Comentarios