En esta sección de la guía de arquetipos de implementación de Google Cloud, se describe el arquetipo de implementación global.
En una arquitectura basada en el arquetipo de implementación global, la aplicación se ejecuta en varias regiones de Google Cloud en todo el mundo. Puedes implementar la aplicación como una pila distribuida que no reconoce la ubicación o como varias pilas aisladas de forma regional. En cualquier caso, un balanceador de cargas anycast global distribuye el tráfico a la región adecuada. La aplicación escribe datos en una base de datos replicada de forma síncrona que está disponible en todas las regiones, como Spanner con configuración multirregional. Otros componentes de la pila de aplicaciones también pueden ser globales, como la caché y el almacén de objetos.
En el siguiente diagrama, se muestra la variante distribuida sin conocimiento del arquetipo de implementación global:
En el diagrama anterior, se muestra una pila de aplicaciones que no reconoce la ubicación, con instancias de frontend y backend (por lo general, microservicios) que se distribuyen en varias zonas en tres regiones de Google Cloud. Un balanceador de cargas Anycast global distribuye el tráfico entrante a una instancia de frontend adecuada. Esta distribución se basa en la disponibilidad y capacidad de las instancias y su proximidad geográfica al origen del tráfico. Los balanceadores de cargas internos entre regiones distribuyen el tráfico de las instancias de frontend a las instancias de backend adecuadas en función de su disponibilidad y capacidad. La aplicación usa una base de datos que se replica de forma síncrona y está disponible en todas las regiones.
En el siguiente diagrama, se muestra una variante del arquetipo de implementación global con pilas de aplicaciones aisladas de forma regional:
En el diagrama anterior, se muestran pilas de aplicaciones aisladas regionalmente que se ejecutan en varias zonas en dos regiones de Google Cloud. Esta topología es similar al arquetipo de implementación multirregional, pero usa un balanceador de cargas Anycast global en lugar del enrutamiento DNS. El balanceador de cargas global distribuye el tráfico entrante a un frontend en la región más cercana al usuario. Ambas pilas de aplicaciones escriben datos en una base de datos que se replica de forma síncrona y está disponible en ambas regiones, y se lee desde ellas. Si se produce una interrupción en cualquiera de las dos regiones, el balanceador de cargas global envía solicitudes del usuario a un frontend en la otra región.
Casos de uso
En las siguientes secciones, se proporcionan ejemplos de casos de uso para los que el arquetipo de implementación global es una opción adecuada.
Aplicación con alta disponibilidad para un público global
Recomendamos el arquetipo de implementación global para aplicaciones que entregan usuarios a nivel mundial y, por lo tanto, necesitan alta disponibilidad y solidez contra las interrupciones en múltiples regiones.
Oportunidades para optimizar los costos y simplificar las operaciones
Con el arquetipo de implementación global, puedes usar recursos globales con alta disponibilidad, como un balanceador de cargas global y una base de datos global. En comparación con una implementación multirregional, una implementación global puede ayudar a reducir costos y simplificar las operaciones porque se aprovisionan y administran menos recursos.
Consideraciones del diseño
Cuando compiles una arquitectura basada en el arquetipo de implementación global, considera los siguientes factores de diseño.
Costos de almacenamiento, replicación y herramientas de redes
En una arquitectura distribuida a nivel global, el volumen de tráfico de red entre ubicaciones puede ser alto en comparación con una implementación regional. También puedes almacenar y replicar más datos. Cuando compilas una arquitectura basada en el arquetipo de implementación global, considera el costo potencialmente más alto para el almacenamiento y las herramientas de redes de datos. En el caso de las aplicaciones fundamentales para la empresa, la ventaja de disponibilidad de una arquitectura distribuida a nivel global podría superar los costos más altos de red y almacenamiento.
Administra cambios en los recursos globales
La oportunidad de usar recursos globales con alta disponibilidad puede ayudarte a optimizar los costos y simplificar las operaciones. Sin embargo, para asegurarte de que los recursos globales no se conviertan en puntos únicos de fallo (SPOF), debes administrar de forma cuidado los cambios de configuración en los recursos globales.
Arquitectura de ejemplo
Para ver una arquitectura de ejemplo basada en el arquetipo de implementación global con varias pilas aisladas de forma regional, consulta Implementación multirregional con balanceo de cargas global en “Diseña una infraestructura confiable para tus cargas de trabajo en Google Cloud”.