Como arquitecto de nube o responsable de la toma de decisiones, cuando planeas implementar una aplicación en Google Cloud, debes elegir un arquetipo de implementación1 adecuada para tu aplicación. En esta guía, se describen seis arquetipos de implementación (zonales, regionales, multirregionales, globales, híbridas y multinube), y se presentan casos de uso y consideraciones de diseño para cada arquetipo de implementación. También se proporciona un análisis comparativo para ayudarte a elegir los arquetipos de implementación que cumplan con tus requisitos de disponibilidad, costo, rendimiento y eficiencia operativa.
¿Qué es un arquetipo de implementación?
Un arquetipo de implementación es un modelo abstracto independiente del proveedor que usas como base para compilar arquitecturas de implementación específicas de la aplicación que cumplen con tus requisitos comerciales y técnicos. Cada arquetipo de implementación especifica una combinación de dominios con fallas en los que se puede ejecutar una aplicación. Estos dominios con fallas pueden ser una o más zonas o regiones de Google Cloud y se pueden extender para incluir tus centros de datos locales o dominios con fallas en otros proveedores de servicios en 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 con sus requisitos específicos.
Como se muestra en el diagrama anterior, en una arquitectura que usa el arquetipo de implementación híbrida o de múltiples nubes, 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 implementación híbrida y de múltiples nubes se pueden considerar como arquetipos de implementación compuestos que incluyen uno de los arquetipos básicos.
Elegir un arquetipo de implementación ayuda a simplificar las decisiones posteriores sobre los productos y las funciones de Google Cloud que debes usar. Por ejemplo, para una aplicación en contenedores con alta disponibilidad, si eliges el arquetipo de implementación regional, los clústeres regionales de Google Kubernetes Engine (GKE) son más apropiados que los zonales.
Cuando eliges un arquetipo de implementación para una aplicación, debes considerar las compensaciones entre factores como la disponibilidad, el costo y la complejidad operativa. Por ejemplo, si una aplicación se entrega a usuarios en varios países y necesita alta disponibilidad, puedes elegir el arquetipo de implementación multirregional. Sin embargo, para una aplicación interna que usan los empleados en una sola región geográfica, puedes priorizar el costo por sobre la disponibilidad y, por lo tanto, elegir el arquetipo de implementación regional.
Descripción general de los arquetipos de implementación
En las siguientes pestañas, se proporcionan definiciones para los arquetipos de implementación y un resumen de los casos de uso y las consideraciones de diseño para cada uno.
Zonal
Tu aplicación se ejecuta dentro de una sola zona de Google Cloud, como se muestra en el siguiente diagrama:
Casos de uso |
|
---|---|
Consideraciones del diseño |
|
Más información | Consulta las siguientes secciones: |
Regional
La aplicación se ejecuta de forma independiente en dos o más zonas dentro de una sola región de Google Cloud, como se muestra en el siguiente diagrama:
Casos de uso |
|
---|---|
Consideraciones del diseño |
|
Más información | Consulta las siguientes secciones: |
Multirregional
La aplicación se ejecuta de forma independiente en varias zonas en dos o más regiones de Google Cloud. Puedes usar las políticas de enrutamiento de DNS para enrutar el tráfico entrante a los balanceadores de cargas regionales. Luego, los balanceadores de cargas regionales distribuyen el tráfico a las réplicas zonales de la aplicación, como se muestra en el siguiente diagrama:
Casos de uso |
|
---|---|
Consideraciones del diseño |
|
Más información | Consulta las siguientes secciones: |
Global
Tu aplicación se ejecuta en regiones de Google Cloud en todo el mundo, ya sea como una pila distribuida a nivel global (que no reconoce la ubicación) o como pilas aisladas por regiones. Un balanceador de cargas 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 depósito de objetos.
En el siguiente diagrama, se muestra la variante distribuida a nivel global del arquetipo de implementación global. Un balanceador de cargas Anycast global reenvía las solicitudes a una pila de aplicaciones que se distribuye en varias regiones y que usa una base de datos replicada de forma global.
En el siguiente diagrama, se muestra una variante del arquetipo de implementación global con pilas de aplicaciones aisladas de forma regional. Un balanceador de cargas Anycast global reenvía las solicitudes a una pila de aplicaciones en una de las regiones. Todas las pilas de aplicaciones usan una sola base de datos replicada de forma global.
Casos de uso |
|
---|---|
Consideraciones del diseño | Costos por la transferencia de datos entre regiones y la replicación de datos. |
Más información | Consulta las siguientes secciones: |
Híbrido
Ciertas partes de la aplicación se implementan en Google Cloud, mientras que otras se ejecutan de forma local, como se muestra en el siguiente diagrama. En la topología de Google Cloud, se puede usar el arquetipo de implementación zonal, regional, multirregional o global.
Casos de uso |
|
---|---|
Consideraciones del diseño |
|
Más información | Consulta las siguientes secciones: |
Múltiples nubes
Algunas partes de la aplicación se implementan en Google Cloud, y otras se implementan en otras plataformas en la nube, como se muestra en el siguiente diagrama. En la topología de cada plataforma en la nube, se puede usar el arquetipo de implementación zonal, regional, multirregional o global.
Casos de uso |
|
---|---|
Consideraciones del diseño |
|
Más información | Consulta las siguientes secciones: |
Colaboradores
Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
Otros colaboradores:
- Anna Berenberg | Socio de Ingeniería
- Anshu Kak | Ingeniero distinguido
- Jeff Welsch | Director, Administración de productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Sekou Page | Gerente de Productos Salientes
- Steve McGhee | Defensor de Confiabilidad
- Victor Moreno | Gerente de producto, Herramientas de redes de Cloud
-
Kat Berenberg y Brad Calder, Arquetipos de implementación para aplicaciones en la nube, Encuestas de computación de ACM, volumen 55, problema 3, artículo n°: 61, pp 1-48 ↩