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 adecuado 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. La guía también 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 se usa como base para compilar arquitecturas de implementación específicas de la aplicación que cumplan con tus requisitos técnicos y empresariales. Cada arquetipo de implementación especifica una combinación de dominios de fallas en los que se puede ejecutar una aplicación. Estos dominios con fallas pueden ser una o más zonas o regiones deGoogle 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 arquetipos de implementación complejo que incluyen uno de los arquetipos básicos.
Elegir un arquetipo de implementación ayuda a simplificar las decisiones posteriores en cuanto a los Google Cloud productos y las funciones 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 entrega contenido a usuarios de 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 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 en una sola zona 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
Tu aplicación se ejecuta de forma independiente en dos o más zonas dentro de una sola región deGoogle Cloud , como se muestra en el siguiente diagrama:
Casos de uso |
|
---|---|
Consideraciones 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 regiones deGoogle 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 Google Cloud regiones de todo el mundo, ya sea como una pila distribuida a nivel global (sin conocimiento de la ubicación) o como pilas aisladas a nivel regional. 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 almacén 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 a nivel global.
En el siguiente diagrama, se muestra una variante del arquetipo de implementación global con pilas de aplicaciones aisladas a nivel regional. Un balanceador de cargas anycast global reenvía solicitudes a una pila de aplicaciones en una de las regiones. Todas las pilas de aplicaciones usan una sola base de datos replicada a nivel global.
Casos de uso |
|
---|---|
Consideraciones del diseño | Costos de transferencia de datos 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 en Google Cloud 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 tu aplicación se implementan en Google Cloudy otras en otras plataformas de nube, como se muestra en el siguiente diagrama. La topología de cada plataforma de nube 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 ↩