Si eres arquitecto de la nube o tienes capacidad de decisión, cuando planifiques desplegar una aplicación en Google Cloud, debes elegir un arquetipo de despliegue1 que se adapte a tu aplicación. En esta guía se describen seis arquetipos de implementación (de zona, regional, multirregional, global, híbrido y multinube) y se presentan casos prácticos y consideraciones de diseño para cada uno de ellos. La guía también incluye un análisis comparativo para ayudarte a elegir los arquetipos de implementación que cumplan tus requisitos de disponibilidad, coste, rendimiento y eficiencia operativa.
¿Qué es un arquetipo de despliegue?
Un arquetipo de implementación es un modelo abstracto independiente del proveedor que se usa como base para crear arquitecturas de implementación específicas de la aplicación que cumplan los requisitos técnicos y empresariales. Cada arquetipo de implementación especifica una combinación de dominios de errores en los que se puede ejecutar una aplicación. Estos dominios de error pueden ser una o varias Google Cloud zonas o regiones y pueden incluir tus centros de datos locales o dominios de error de otros proveedores de la nube.
En el siguiente diagrama se muestran seis aplicaciones implementadas en Google Cloud. Cada aplicación usa un arquetipo de implementación que cumple sus requisitos específicos.
Como se muestra en el diagrama anterior, en una arquitectura que usa el arquetipo de implementación híbrida o multinube, la topología de la nube se basa en uno de los arquetipos básicos: zonal, regional, multirregional o global. En este sentido, los arquetipos de despliegue híbrido y multinube se pueden considerar arquetipos de despliegue compuestos que incluyen uno de los arquetipos básicos.
Elegir un arquetipo de implementación ayuda a simplificar las decisiones posteriores sobre los Google Cloud productos y las funciones que debe usar. Por ejemplo, en el caso de una aplicación en contenedores de alta disponibilidad, si eliges el arquetipo de despliegue regional, los clústeres regionales de Google Kubernetes Engine (GKE) son más adecuados que los clústeres de GKE zonales.
Cuando elijas un arquetipo de despliegue para una aplicación, debes tener en cuenta el equilibrio entre factores como la disponibilidad, el coste y la complejidad operativa. Por ejemplo, si una aplicación presta servicio a usuarios de varios países y necesita una alta disponibilidad, puedes elegir el arquetipo de implementación multirregional. Sin embargo, en el caso de una aplicación interna que usan los empleados de una sola región geográfica, puede que priorices el coste sobre la disponibilidad y, por lo tanto, elijas el arquetipo de implementación regional.
Descripción general de los arquetipos de despliegue
En las siguientes pestañas se ofrecen las definiciones de los arquetipos de implementación y un resumen de los casos prácticos y las consideraciones de diseño de cada uno.
Por zonas
Tu aplicación se ejecuta en una sola zona, como se muestra en el siguiente diagrama: Google Cloud
Casos prácticos |
|
---|---|
Factores del diseño |
|
Más información | Consulta las siguientes secciones: |
Regional
Tu aplicación se ejecuta de forma independiente en dos o más zonas de una mismaGoogle Cloud región, tal como se muestra en el siguiente diagrama:
Casos prácticos |
|
---|---|
Factores del diseño |
|
Más información | Consulta las siguientes secciones: |
Multirregional
Tu aplicación se ejecuta de forma independiente en varias zonas de dos o más regionesGoogle Cloud . Puedes usar políticas de enrutamiento de DNS para enrutar el tráfico entrante a los balanceadores de carga regionales. Los balanceadores de carga regionales distribuyen el tráfico a las réplicas zonales de la aplicación, como se muestra en el siguiente diagrama:
Casos prácticos |
|
---|---|
Factores del diseño |
|
Más información | Consulta las siguientes secciones: |
Global
Tu aplicación se ejecuta en Google Cloud regiones de todo el mundo, ya sea como un stack distribuido globalmente (sin tener en cuenta la ubicación) o como stacks aislados por regiones. Un balanceador de carga anycast global distribuye el tráfico a la región más cercana al usuario. Otros componentes de la pila de aplicaciones también pueden ser globales, como la base de datos, la caché y el almacén de objetos.
En el siguiente diagrama se muestra la variante distribuida globalmente del arquetipo de implementación global. Un balanceador de carga anycast global reenvía las solicitudes a una pila de aplicaciones distribuida en varias regiones que usa una base de datos replicada a nivel mundial.
En el siguiente diagrama se muestra una variante del arquetipo de implementación global con pilas de aplicaciones aisladas regionalmente. Un balanceador de carga anycast global reenvía las solicitudes a una pila de aplicaciones de una de las regiones. Todas las pilas de aplicaciones usan una única base de datos replicada a nivel mundial.
Casos prácticos |
|
---|---|
Factores del diseño | Costes de transferencia y replicación de datos entre regiones. |
Más información | Consulta las siguientes secciones: |
Híbrido
Algunas partes de tu aplicación se implementan en Google Cloud, mientras que otras se ejecutan de forma local, como se muestra en el siguiente diagrama. La topología de Google Cloud puede usar el arquetipo de implementación zonal, regional, multirregional o global.
Casos prácticos |
|
---|---|
Factores del diseño |
|
Más información | Consulta las siguientes secciones: |
Multinube
Algunas partes de tu aplicación se implementan en Google Cloudy otras en otras plataformas en la nube, como se muestra en el siguiente diagrama. La topología de cada plataforma de nube puede usar el arquetipo de despliegue zonal, regional, multirregional o global.
Casos prácticos |
|
---|---|
Factores del diseño |
|
Más información | Consulta las siguientes secciones: |
Colaboradores
Autor: Kumar Dhanagopal | Desarrollador de soluciones multiproducto
Otros colaboradores:
- Anna Berenberg | Ingeniera
- Anshu Kak | Ingeniero distinguido
- Jeff Welsch | Director de Gestión de Productos
- Marwan Al Shawi | Ingeniero de clientes de partners
- Sekou Page | Responsable de producto saliente
- Steve McGhee | Defensor de la fiabilidad
- Victor Moreno | Product Manager, Cloud Networking
-
Anna Berenberg y Brad Calder, Deployment Archetypes for Cloud Applications, ACM Computing Surveys, volumen 55, número 3, artículo n.º: 61, págs. 1-48 ↩