Arquitectura de recuperación ante desastres para interrupciones de la infraestructura de nube

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Este artículo forma parte de una serie en la que se trata la recuperación ante desastres (DR) en Google Cloud. En esta parte, se analiza el proceso para diseñar la arquitectura de cargas de trabajo mediante Google Cloud y los componentes básicos resilientes a las interrupciones en la infraestructura de nube.

La serie consta de estas partes:

Introducción

A medida que las empresas trasladan las cargas de trabajo a la nube pública, necesitan traducir sus conocimientos de cómo compilar sistemas locales resilientes en la infraestructura de hiperescalamiento de los proveedores de servicios en la nube, como Google Cloud. En este artículo, se asignan conceptos estándar de la industria sobre la recuperación ante desastres, como el RTO (objetivo de tiempo de recuperación) y el RPO (objetivo de punto de recuperación) a la infraestructura de Google Cloud.

La orientación de este documento sigue uno de los principios clave de Google para lograr una disponibilidad de servicio muy alta: planificar la falla. Si bien Google Cloud ofrece un servicio muy confiable, ocurrirán desastres naturales, cortes de fibra y errores complejos de infraestructura; estos pueden causar interrupciones. La planificación para las interrupciones permite que los clientes de Google Cloud compilen aplicaciones que se ejecuten de manera predecibles durante estos eventos inevitables mediante el uso de productos de Google Cloud con mecanismos de DR “integrados”.

La recuperación ante desastres es un tema amplio que cubre mucho más que las fallas de infraestructura, como los errores de software o la corrupción de datos, y debes tener un plan integral de extremo a extremo. Sin embargo, este artículo se centra en una parte de un plan de DR general: cómo diseñar aplicaciones que sean resilientes a las interrupciones de la infraestructura de nube. En concreto, se explica lo siguiente:

  1. La infraestructura de Google Cloud, cómo se manifiestan los eventos de desastre como interrupciones de Google Cloud y cómo Google Cloud está diseñado para minimizar la frecuencia y el alcance de las interrupciones
  2. Una guía de planificación de la arquitectura que proporciona un framework para categorizar y diseñar aplicaciones según los resultados de confiabilidad deseados
  3. Una lista detallada de productos de Google Cloud seleccionados que ofrecen funciones de DR integradas que tal vez quieras usar en tu aplicación

Para obtener más detalles sobre la planificación general de la DR y el uso de Google Cloud como componente de tu estrategia de DR local, consulta la Guía de planificación para la recuperación ante desastres. Aunque la alta disponibilidad es un concepto muy relacionado con la recuperación ante desastres, no se aborda en este artículo. Si deseas obtener más detalles sobre la arquitectura de una alta disponibilidad, consulta el framework de la arquitectura de Google Cloud.

Nota sobre la terminología: Este artículo hace referencia a la disponibilidad cuando se describe la capacidad de un producto de que se acceda a él de manera significativa y se use a lo largo del tiempo, mientras que la confiabilidad se refiere a un conjunto de atributos que incluye la disponibilidad, además de funciones como la durabilidad y la corrección.

Cómo está diseñado Google Cloud para ofrecer resiliencia

Centros de datos de Google

Los centros de datos tradicionales se basan en maximizar la disponibilidad de componentes individuales. En la nube, la escala permite a operadores como Google distribuir servicios en muchos componentes mediante tecnologías de virtualización y, por lo tanto, superar la confiabilidad tradicional de los componentes. Esto significa que puedes dejar de enfocar la mentalidad de la arquitectura de confiabilidad en los innumerables detalles que te preocupaban en las instalaciones locales. En lugar de preocuparte por los distintos modos de falla de los componentes, como el enfriamiento y la entrega de energía, puedes planificar en torno a los productos de Google Cloud y sus métricas de confiabilidad indicadas. Estas métricas reflejan el riesgo de interrupción agregado de toda la infraestructura subyacente. De esta manera, puedes enfocarte mucho más en el diseño, la implementación y las operaciones de la aplicación en lugar de la administración de infraestructura.

Google diseña su infraestructura para cumplir con los objetivos de disponibilidad agresivos en función de nuestra vasta experiencia en el desarrollo y la ejecución de centros de datos modernos. Google es uno de los líderes mundiales en el diseño de centros de datos. Cada tecnología de centro de datos, desde la electricidad hasta el enfriamiento y las redes, tiene sus propias redundancias y mitigaciones, incluidos los planes de FMEA. El diseño de los centros de datos de Google balancea estos riesgos variados y presenta a los clientes un nivel coherente y esperado de disponibilidad para los productos de Google Cloud. Google usa su experiencia para modelar la disponibilidad de la arquitectura general del sistema físico y lógico a fin de garantizar que el diseño del centro de datos cumpla con las expectativas. Los ingenieros de Google hacen grandes esfuerzos operativos para garantizar que se cumplan esas expectativas. Es normal que la disponibilidad real exceda nuestros objetivos de diseño por un margen amplio.

Cuando se extraen todos estos riesgos y mitigaciones de los centros de datos en los productos para los usuarios, Google Cloud te evita esas responsabilidades operativas y de diseño. En cambio, puedes enfocarte en la confiabilidad integrada en el diseño de las regiones y las zonas de Google Cloud.

Regiones y zonas

Los productos de Google Cloud se proporcionan en una gran cantidad de regiones y zonas. Las regiones son áreas geográficas independientes que contienen tres zonas o más. Las zonas representan grupos de recursos de procesamiento físicos dentro de una región que tienen un alto grado de independencia entre sí en términos de infraestructura física y lógica. Proporcionan conexiones de red de latencia baja y ancho de banda alto a otras zonas de la misma región. Por ejemplo, la región asia-northeast1 en Japón contiene tres zonas: asia-northeast1-a, asia-northeast1-b y asia-northeast1-c.

Los productos de Google Cloud se dividen en recursos zonales, regionales y multirregionales.

Los recursos zonales se alojan en una sola zona. Una interrupción del servicio en esa zona puede afectar a todos los recursos de esa zona. Por ejemplo, una instancia de Compute Engine se ejecuta en una zona única y especificada. Si una falla de hardware interrumpe el servicio en esa zona, esa instancia de Compute Engine no estará disponible mientras dure la interrupción.

Los recursos regionales se implementan de forma redundante en varias zonas dentro de una región. Esto les brinda mayor confiabilidad en comparación con los recursos zonales.

Los recursos multirregionales se distribuyen dentro de las regiones y entre ellas. En general, los recursos multirregionales son más confiables que los regionales. Sin embargo, a este nivel, los productos deben optimizar la disponibilidad, el rendimiento y la eficiencia de los recursos. Como resultado, es importante comprender las compensaciones de cada producto multirregional que decidas usar. Estas compensaciones se documentan de forma específica para cada producto más adelante en este documento.

Ejemplos de productos de Google Cloud zonales, regionales y multirregionales

Cómo aprovechar las zonas y las regiones para lograr la confiabilidad

Las SRE de Google administran y escalan productos para usuarios globales de alta confiabilidad, como Gmail y Búsqueda, mediante una variedad de técnicas y tecnologías que aprovechan sin problemas la infraestructura de procesamiento en todo el mundo. Esto incluye el redireccionamiento del tráfico desde ubicaciones no disponibles mediante el balanceo de cargas global, la ejecución de varias réplicas en varias ubicaciones en todo el planeta y la replicación de datos en distintos lugares. Estas mismas capacidades están disponibles para los clientes de Google Cloud a través de productos como Cloud Load Balancing, Google Kubernetes Engine y Cloud Spanner.

En general, Google Cloud diseña productos a fin de entregar los siguientes niveles de disponibilidad para zonas y regiones:

Recurso Ejemplos Objetivo del diseño de disponibilidad Tiempo de inactividad implícito
Zonal Compute Engine, Persistent Disk 99.9% 8.75 horas al año
Regional Cloud Storage regional, Persistent Disk replicado, Google Kubernetes Engine regional 99.99% 52 minutos al año

Compara los objetivos del diseño de disponibilidad de Google Cloud con el nivel aceptable de tiempo de inactividad para identificar los recursos apropiados de Google Cloud. Si bien los diseños tradicionales se enfocan en mejorar la disponibilidad a nivel del componente para mejorar la disponibilidad resultante de la aplicación, los modelos de la nube se enfocan en la composición de los componentes a fin de lograr este objetivo. Muchos productos dentro de Google Cloud usan esta técnica. Por ejemplo, Cloud Spanner ofrece una base de datos multirregional que compone varias regiones para entregar una disponibilidad del 99.999%.

La composición es importante porque, sin ella, la disponibilidad de la aplicación no puede superar la de los productos de Google Cloud que usas. De hecho, a menos que la aplicación nunca falle, tendrá una disponibilidad menor que los productos de Google Cloud subyacentes. En el resto de esta sección, se muestra cómo puedes usar una composición de productos zonales y regionales para lograr una mayor disponibilidad de la aplicación que la que proporcionan una sola zona o región. En la próxima sección, se proporciona una guía práctica para aplicar estos principios a tus aplicaciones.

Planifica los alcances de interrupción de zonas

Las fallas de infraestructura suelen causar interrupciones del servicio en una sola zona. Dentro de una región, las zonas están diseñadas para minimizar el riesgo de fallas correlacionadas con otras zonas, y una interrupción del servicio en una zona no suele afectar el servicio desde otra zona en la misma región. Una interrupción con alcance a una zona no siempre implica que toda la zona no esté disponible; solo define el límite del incidente. Es posible que una interrupción zonal no tenga ningún efecto tangible en los recursos específicos de esa zona.

Es un caso menos frecuente, pero también es importante tener en cuenta que varias zonas, en algún momento, experimentarán una interrupción correlacionada en una sola región. Cuando dos o más zonas experimentan una interrupción, se aplica la estrategia de alcance de la interrupción regional que aparece a continuación.

Los recursos regionales están diseñados para ser resistentes a las interrupciones zonales mediante la entrega del servicio desde una composición de varias zonas. Si se interrumpe una de las zonas que respaldan un recurso regional, el recurso queda disponible de manera automática desde otra zona. Revisa con cuidado la descripción de la capacidad del producto en el apéndice para obtener más detalles.

Google Cloud solo ofrece algunos recursos zonales, como las máquinas virtuales (VM) de Compute Engine y Persistent Disk. Si planeas usar recursos zonales, tendrás que realizar tu propia composición de recursos mediante el diseño, la compilación y la prueba de la conmutación por error y la recuperación entre recursos zonales ubicados en varias zonas. Estas son algunas de las estrategias:

  • Enrutar con rapidez el tráfico a máquinas virtuales en otra zona mediante Cloud Load Balancing cuando una verificación de estado determina que una zona tiene problemas
  • Usar plantillas de instancias o grupos de instancias administrados de Compute Engine para ejecutar y escalar instancias de VM idénticas en varias zonas
  • Usar Persistent Disk regional para replicar de forma síncrona los datos en otra zona de una región. Consulta Opciones de alta disponibilidad mediante PD regionales para obtener más detalles

Planifica los alcances de interrupción regional

Una interrupción regional es una interrupción del servicio que afecta a más de una zona en una sola región. Estas son interrupciones más grandes y menos frecuentes, y pueden ser consecuencia de desastres naturales o fallas en la infraestructura a gran escala.

Si un producto regional está diseñado para proporcionar una disponibilidad del 99.99%, una interrupción puede traducirse a casi una hora de inactividad para un producto específico cada año. Por lo tanto, es posible que tus aplicaciones esenciales necesiten contar con un plan de DR multirregional si no esta duración de interrupción es inaceptable.

Los recursos multirregionales están diseñados para ser resistentes a las interrupciones regionales mediante la entrega del servicio en varias regiones. Como se describió antes, los productos multirregionales compensan la latencia, la coherencia y el costo. La compensación más común se da entre la replicación de datos síncrona y la replicación asíncrona. La replicación asíncrona ofrece menos latencia al costo de riesgo de pérdida de datos durante una interrupción. Por lo tanto, es importante verificar la descripción de la capacidad del producto en el apéndice para obtener más detalles.

Si quieres usar recursos regionales y seguir siendo resiliente ante las interrupciones regionales, debes diseñar tu propia composición de recursos. Para ello, diseña, compila y prueba la conmutación por error y la recuperación entre los recursos regionales ubicados en varias regiones. Además de las estrategias zonales anteriores, que también puedes aplicar a otras regiones, ten en cuenta lo siguiente:

  • Los recursos regionales deben replicar los datos en una región secundaria, en una opción de almacenamiento multirregional, como Cloud Storage, o en una opción de nube híbrida, como Anthos.
  • Una vez que tengas una mitigación regional ante interrupciones, pruébala con frecuencia. Si hay algo peor que pensar que eres resistente a una interrupción de una sola región, es descubrir que ese no es el caso cuando ocurre de verdad.

Enfoque de disponibilidad y resiliencia de Google Cloud

Google Cloud supera con regularidad sus objetivos de diseño de disponibilidad, pero no debes suponer que este rendimiento anterior sólido es la disponibilidad mínima que puedes diseñar. En cambio, debes seleccionar dependencias de Google Cloud cuyos objetivos para los que se diseñaron superan la confiabilidad prevista de la aplicación, de modo que el tiempo de inactividad de la aplicación más el tiempo de inactividad de Google Cloud entreguen el resultado que buscas.

Un sistema bien diseñado puede responder la pregunta “¿Qué sucede cuando una zona o región tiene una interrupción de 1, 5, 10 o 30 minutos?” Esto se debe tener en cuenta en muchas capas, incluidas las siguientes:

  • ¿Qué experimentarán mis clientes durante una interrupción?
  • ¿Cómo detecto que hay una interrupción en curso?
  • ¿Qué sucede con mi solicitud durante una interrupción?
  • ¿Qué sucede con mis datos durante una interrupción?
  • ¿Qué le sucede a mis otras aplicaciones como consecuencia de una interrupción (debido a las dependencias cruzadas)?
  • ¿Qué debo hacer para recuperarme después de que se resuelve una interrupción? ¿Quién lo hace?
  • ¿A quién debo notificar sobre una interrupción? ¿En qué período?

Guía paso a paso a fin de diseñar la recuperación ante desastres para aplicaciones en Google Cloud

En las secciones anteriores, se explicó cómo Google compila la infraestructura de nube y algunos enfoques para abordar las interrupciones zonales y regionales.

En esta sección, te ayudamos a desarrollar un framework para aplicar el principio de composición a tus aplicaciones en función de los resultados de confiabilidad deseados.

Las aplicaciones de clientes en Google Cloud que se orientan a los objetivos de recuperación ante desastres como RTO y RPO deben diseñarse para que las operaciones críticas del negocio, sujetas a RTO/RPO, solo tengan dependencias en los componentes del plano de datos que sean responsables del procesamiento continuo de las operaciones para el servicio. En otras palabras, estas operaciones fundamentales para el cliente no deben depender de las operaciones del plano de administración, que administran el estado de configuración y la configuración de envío al plano de control y al plano de datos.

Por ejemplo, los clientes de Google Cloud que deseen lograr el RTO para operaciones fundamentales no deben depender de una API de creación de VM o de la actualización de un permiso de IAM.

Paso 1: Reúne los requisitos existentes

El primer paso es definir los requisitos de disponibilidad para tus aplicaciones. La mayoría de las empresas ya tienen algún nivel de orientación de diseño en este espacio, que se puede desarrollar de forma interna o derivar de leyes u otros requisitos legales. En general, esta guía de diseño se codifica en dos métricas clave: el objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO). En términos comerciales, el RTO se traduce como “cuánto tiempo transcurre después de un desastre hasta que vuelvo a estar activo y listo para ejecutar”. El RPO se traduce como “cuántos datos puedo perder si ocurre un desastre”.

Una escala que muestra el tiempo El evento está en el medio. En el extremo izquierdo, aparece el RPO con las palabras “Se pierden estas escrituras” (These writes are lost). En el extremo derecho, aparece el RTO con las palabras “Se reanuda el servicio normal” (Normal service resumes).

A lo largo de la historia, las empresas definieron los requisitos de RTO y RPO para un rango amplio de eventos de desastres, desde fallas de componentes hasta terremotos. Esto tenía sentido en el mundo local en el que los planificadores debían asignar los requisitos de RTO y RPO a través de toda la pila de software y hardware. En la nube, ya no necesitas definir tus requisitos con tanto detalles porque el proveedor se encarga de eso. En cambio, puedes definir tus requisitos de RTO y RPO en términos del alcance de la pérdida (zonas o regiones completas) sin especificar los motivos subyacentes. Para Google Cloud, esto simplifica la recopilación de requisitos a 3 situaciones: una interrupción zonal, una interrupción regional o la interrupción de varias regiones, que es muy poco probable.

Ya que se reconoce que no todas las aplicaciones tienen la misma importancia, la mayoría de los clientes clasifican sus aplicaciones en niveles de importancia, en los que se puede aplicar un requisito específico de RTO y RPO. Cuando se combinan, el RTO, el RPO y la importancia de la aplicación optimizan el proceso de diseñar la arquitectura de una aplicación determinada y dan respuesta a las siguientes preguntas:

  1. ¿La aplicación debe ejecutarse en varias zonas en la misma región o en varias zonas en varias regiones?
  2. ¿De qué productos de Google Cloud puede depender la aplicación?

Este es un ejemplo del resultado del ejercicio de recopilación de requisitos:

El RTO y el RPO por importancia de la aplicación para la organización de ejemplo:

Importancia de la aplicación % de apps Apps de ejemplo Interrupción zonal Interrupción regional
Nivel 1

(más importante)

5% Por lo general, las aplicaciones globales y externas orientadas al cliente, como los pagos en tiempo real y las vidrieras de comercio electrónico. RTO de cero

RPO de cero

RTO de cero

RPO de cero

Nivel 2 35% Por lo general, las aplicaciones regionales o las aplicaciones internas importantes como CRM o ERP. RTO de 15 min

RPO de 15 min

RTO de 1 h

RPO de 1 h

Nivel 3

(menos importante)

60% Por lo general, las aplicaciones de equipos o departamentos, como la oficina administrativa, las reservas, los viajes internos, la contabilidad y el departamento de RR.HH. RTO de 1 h

RPO de 1 h

RTO de 12 horas

RPO de 12 h

Paso 2: Asignación de capacidades a los productos disponibles

El segundo paso es comprender las capacidades de resiliencia de los productos de Google Cloud que usarán tus aplicaciones. La mayoría de las empresas revisan la información relevante de los productos y, luego, agregan orientación sobre cómo modificar las arquitecturas a fin de adaptarse a las brechas entre las capacidades de los productos y los requisitos de resiliencia. En esta sección, se abarcan algunas áreas comunes y recomendaciones sobre las limitaciones de datos y aplicaciones en este espacio.

Como se mencionó antes, los productos habilitados para DR de Google están pensados, a grandes rasgos, para dos tipos de alcances de interrupción: regional y zonal. Cuando se trata de DR, se debe planificar de la misma manera para las interrupciones parciales y las interrupciones totales. Esto brinda una matriz inicial de alto nivel de qué productos son adecuados para cada situación de forma predeterminada:

Funciones generales de los productos de Google Cloud
(consulta el Apéndice para conocer las funciones específicas de productos)

Todos los productos de Google Cloud Productos regionales de Google Cloud con replicación automática entre zonas Productos multirregionales o globales de Google Cloud con replicación automática en todas las regiones
Error de un componente dentro de una zona Cubierto* Cubierto Cubierto
Interrupción zonal No cubierto Cubierto Cubierto
Interrupción regional No cubierto No cubierto Cubierto

* Todos los productos de Google Cloud son resilientes a la falla de componentes, excepto en los casos específicos que se indican en la documentación del producto. Por lo general, son situaciones en las que el producto ofrece acceso directo o asignación estática a un hardware de especialidad, como la memoria o los discos de estado sólido (SSD).

Cómo el RPO limita las opciones de producto

En la mayoría de las implementaciones de nube, la integridad de los datos es el aspecto más significativo desde el punto de vista arquitectónico para un servicio. Al menos algunas aplicaciones tienen un requisito de RPO de cero, lo que significa que no se deberían perder datos en caso de que ocurra una interrupción. Por lo general, esto requiere que los datos se repliquen de forma síncrona en otra zona o región. La replicación síncrona tiene compensaciones de costo y latencia, por lo que, si bien muchos productos de Google Cloud proporcionan replicación síncrona entre zonas, solo unos pocos la proporcionan en regiones. Esta compensación entre el costo y la complejidad significa que no es inusual que diferentes tipos de datos dentro de una aplicación tengan diferentes valores de RPO.

En los datos con un RPO mayor que cero, las aplicaciones pueden aprovechar la replicación asíncrona. La replicación asíncrona es aceptable cuando los datos perdidos se pueden volver a crear con facilidad o se pueden recuperar de una fuente de datos dorada si es necesario. También puede ser una opción razonable cuando una pequeña pérdida de datos es una compensación aceptable en el contexto de las duraciones previstas para las interrupciones zonales y regionales. También es relevante que, durante una interrupción transitoria, los datos escritos en la ubicación afectada, pero que aún no se replicaron en otra ubicación, por lo general estén disponibles después de que se resuelva la interrupción. Esto significa que el riesgo de pérdida permanente de los datos es menor que el riesgo de perder el acceso a los datos durante una interrupción.

Acciones clave: Determina si realmente necesitas un RPO de cero y, si es así, si puedes hacerlo para un subconjunto de datos; esto aumenta de forma notable el rango de servicios habilitados para DR disponibles. En Google Cloud, alcanzar un RPO de cero implica usar, en su mayoría, productos regionales para la aplicación, que, en la configuración predeterminada, son resilientes a las interrupciones a escala zonal, pero no a escala regional.

Cómo el RTO limita las opciones del producto

Uno de los principales beneficios de la computación en la nube es la capacidad de implementar la infraestructura a pedido. Sin embargo, no es lo mismo que la implementación instantánea. El valor de RTO de tu aplicación debe adaptarse al RTO combinado de los productos de Google Cloud que usa la aplicación y a las acciones que deban realizar los ingenieros o SRE para reiniciar las VM o los componentes de la aplicación. Un RTO medido en minutos significa diseñar una aplicación que se recupere de forma automática de un desastre sin intervención humana o con pasos mínimos, como presionar un botón para una conmutación por error. El costo y la complejidad de este tipo de sistema siempre han sido muy altos, pero los productos de Google Cloud, como los balanceadores de cargas y los grupos de instancias, hacen que este diseño sea mucho más accesible y sencillo. Por lo tanto, debes tener en cuenta la conmutación por error y la recuperación automatizadas para la mayoría de las aplicaciones. Ten en cuenta que diseñar un sistema para este tipo de conmutación por error en caliente en todas las regiones es complicado y costoso; solo una fracción muy pequeña de los servicios importantes justifican esta capacidad.

La mayoría de las aplicaciones tendrá un RTO de entre una hora y un día, lo que permite una conmutación por error cálida en una situación de desastre, con algunos componentes de la aplicación que se ejecutan todo el tiempo en modo de espera, como las bases de datos, mientras que otros se escalan horizontalmente durante un desastre real, como los servidores web. En el caso de estas aplicaciones, debes considerar la automatización para los eventos de escalamiento horizontal. Los servicios con un RTO de más de un día son los de menor importancia y a menudo se pueden recuperarse desde una copia de seguridad o volver a crearse desde cero.

Acciones clave: Determina si en verdad necesitas un RTO de (alrededor de) cero para la conmutación por error regional y, de ser así, si puedes hacerlo para un subconjunto de los servicios. Esto cambia el costo de ejecutar y mantener tu servicio.

Paso 3: Desarrolla tus propias arquitecturas y guías de referencia

El último paso recomendado es compilar tus propios patrones de arquitectura específicos de la empresa para ayudar a tus equipos a estandarizar su enfoque sobre la recuperación ante desastres. La mayoría de los clientes de Google Cloud producen una guía destinada a sus equipos de desarrollo que hace coincidir sus expectativas individuales de resiliencia empresarial con las dos categorías principales de interrupciones en Google Cloud. Esto permite que los equipos clasifiquen con facilidad qué productos habilitados para DR son adecuados en cada nivel de importancia.

Crea lineamientos para productos

La tabla de RTO y RPO de ejemplo anterior es una guía hipotética que detalla qué productos se permitirían de forma predeterminada para cada nivel de importancia. Ten en cuenta que, de forma predeterminada, ciertos productos se identificaron como no adecuados. Siempre puedes agregar tus propios mecanismos de replicación y conmutación por error para habilitar la sincronización entre zonas o regiones, pero este ejercicio está más allá del alcance de este artículo. En las tablas, también encontrarás vínculos a más información sobre cada producto para ayudarte a comprender sus capacidades en relación con la administración de las interrupciones zonales y regionales.

Patrones de arquitectura de muestra para la organización de ejemplo: Resiliencia para las interrupciones zonales:

Producto de Google Cloud ¿El producto cumple con los requisitos de interrupción zonal para la organización de ejemplo (con la configuración adecuada del producto)?
Nivel 1 Nivel 2 Nivel 3
Compute Engine No No No
Dataflow No No No
BigQuery No No
Google Kubernetes Engine
Cloud Storage
Cloud SQL No
Cloud Spanner
Cloud Load Balancing

Esta tabla es un ejemplo basado solo en los niveles hipotéticos descritos con anterioridad.

Patrones de arquitectura de muestra para la organización de ejemplo: Resiliencia para las interrupciones regionales:

Producto de Google Cloud ¿El producto cumple con los requisitos de interrupción regional para la organización de ejemplo (con la configuración adecuada del producto)?
Nivel 1 Nivel 2 Nivel 3
Compute Engine
Dataflow No No No
BigQuery No No
Google Kubernetes Engine
Cloud Storage No No No
Cloud SQL
Cloud Spanner
Cloud Load Balancing

Esta tabla es un ejemplo basado solo en los niveles hipotéticos descritos con anterioridad.

A fin de mostrar cómo se usarían estos productos, en las siguientes secciones, se explican algunas arquitecturas de referencia para cada uno de los niveles hipotéticos de importancia de la aplicación. Estas son descripciones de alto nivel hechas de manera deliberada para explicar las decisiones clave de la arquitectura y no representan un diseño de solución completo.

Arquitectura de ejemplo de nivel 3

Importancia de la aplicación Interrupción zonal Interrupción regional
Nivel 3
(menos importante)
RTO de 12 horas
RPO de 24 horas
RTO de 28 días
RPO de 24 horas

Una arquitectura de ejemplo de nivel 3 que usa productos de Google Cloud

(Los íconos en gris muestran la infraestructura que se habilitará para permitir la recuperación)

En esta arquitectura, se describe una aplicación tradicional de cliente y servidor: los usuarios internos se conectan a una aplicación que se ejecuta en una instancia de procesamiento respaldada por una base de datos para el almacenamiento continuo.

Es importante tener en cuenta que esta arquitectura admite valores de RTO y RPO superiores a los necesarios. Sin embargo, también debes considerar quitar pasos manuales adicionales cuando podrían resultar costosos o poco confiables. Por ejemplo, recuperar una base de datos a partir de una copia de seguridad nocturna podría admitir el RPO de 24 horas, pero esto suele requerir una persona capacitada, como un administrador de la base de datos que podría no estar disponible, en especial si varios servicios se vieron afectados al mismo tiempo. Con la infraestructura a pedido de Google Cloud, puedes compilar esta capacidad sin hacer una compensación de costo mayor, por lo que esta arquitectura usa la alta disponibilidad de Cloud SQL en lugar de una copia de seguridad o el restablecimiento manual para interrupciones zonales.

Decisiones clave de arquitectura para la interrupción zonal: RTO de 12 horas y RPO de 24 horas:

  • Un balanceador de cargas interno se usa a fin de proporcionar un punto de acceso escalable para los usuarios, lo que permite la conmutación por error automática a otra zona. Aunque el RTO es de 12 horas, los cambios manuales en las direcciones IP o incluso las actualizaciones del DNS pueden tardar más tiempo del esperado.
  • Un grupo de instancias administrado regional se configura con varias zonas, pero con recursos mínimos. Esto optimiza el costo, pero permite que las máquinas virtuales se escalen horizontalmente con rapidez en la zona de la copia de seguridad.
  • Una configuración de Cloud SQL de alta disponibilidad proporciona conmutación por error automática a otra zona. Las bases de datos son mucho más difíciles de volver a crear y restablecer en comparación con las máquinas virtuales de Compute Engine.

Decisiones clave de arquitectura para la interrupción regional: RTO de 28 días y RPO de 24 horas:

  • Un balanceador de cargas se construiría en la región 2 solo en caso de que se produzca una interrupción regional. Se usa Cloud DNS para proporcionar una capacidad de conmutación por error regional, organizada y manual, ya que la infraestructura en la región 2 solo estará disponible en caso de que se produzca una interrupción regional.
  • Un grupo de instancias administrado nuevo se construiría solo en caso de que se produzca una interrupción regional. Esto optimiza el costo y es poco probable que se invoque debido a la corta duración de la mayoría de las interrupciones regionales. Ten en cuenta que, a fin de simplificar el diagrama, no se muestran ni las herramientas asociadas necesarias para volver a implementar ni la copia de las imágenes de Compute Engine necesarias.
  • Se volvería a crear una instancia de Cloud SQL nueva y se restablecerían los datos desde una copia de seguridad. Una vez más, el riesgo de una interrupción prolongada en una región es muy baja, por lo que esta es otra compensación de optimización de costos.
  • Se usa Cloud Storage multirregional para almacenar estas copias de seguridad. Esto brinda resiliencia zonal y regional automática dentro de RTO y RPO.

Arquitectura de ejemplo de nivel 2

Importancia de la aplicación Interrupción zonal Interrupción regional
Nivel 2 RTO de 4 horas
RPO de cero
RTO de 24 horas
RPO de 4 horas

Una arquitectura de ejemplo de nivel2 que usa productos de Google Cloud

En esta arquitectura, se describe un almacén de datos con usuarios internos que se conectan a una capa de visualización de instancias de procesamiento, y una capa de transformación y transferencia de datos que propaga el almacén de datos de backend.

Algunos componentes individuales de esta arquitectura directamente no admiten el RPO requerido para su nivel. Sin embargo, debido a cómo se usan en conjunto, el servicio general cumple con el RPO. En este caso, como Dataflow es un producto zonal, se deben seguir las recomendaciones para el diseño de alta disponibilidad a fin de evitar la pérdida de datos durante una interrupción zonal. Sin embargo, la capa de Cloud Storage es la fuente dorada de estos datos y admite un RPO de cero. Esto significa que cualquier dato perdido puede volver a transferirse a BigQuery a través de la zona B (Zone B) en caso de una interrupción en la zona A (Zone A).

Decisiones clave de arquitectura para la interrupción zonal: RTO de 4 horas y RPO de cero:

  • Se usa un balanceador de cargas a fin de proporcionar un punto de acceso escalable para los usuarios, lo que permite la conmutación por error automática a otra zona. Aunque el RTO es de 4 horas, los cambios manuales en las direcciones IP o incluso las actualizaciones del DNS pueden tardar más tiempo del esperado.
  • Se configura un grupo de instancias administrado regional para la capa de procesamiento de visualización de datos con varias zonas, pero con recursos mínimos. Esto optimiza el costo, pero permite que las máquinas virtuales se escalen horizontalmente con rapidez.
  • Se usa Cloud Storage regional como capa de etapa de pruebas para la transferencia inicial de datos, lo que proporciona resiliencia zonal automática.
  • Se usa Dataflow para extraer datos de Cloud Storage y transformarlos antes de cargarlos en BigQuery. En caso de que ocurra una interrupción zonal, este es un proceso sin estado que se puede reiniciar en otra zona.
  • BigQuery proporciona el backend del almacén de datos para el frontend de visualización de datos. Si se produce una interrupción zonal, se volverán a transferir los datos que se hayan perdido desde Cloud Storage.

Decisiones clave de arquitectura para la interrupción regional: RTO de 24 horas y RPO de 4 horas:

  • Se usa un balanceador de cargas en cada región a fin de proporcionar un punto de acceso escalable para los usuarios. Se usa Cloud DNS para proporcionar capacidad de conmutación por error regional, organizada y manual, ya que la infraestructura en la región 2 solo estará disponible en caso de que se produzca una interrupción regional.
  • Se configura un grupo de instancias administrado regional para la capa de procesamiento de visualización de datos con varias zonas, pero con recursos mínimos. No será accesible hasta que se vuelva a configurar el balanceador de cargas. Sin embargo, no se requiere una intervención manual.
  • Se usa Cloud Storage regional como capa de etapa de pruebas para la transferencia inicial de datos. Se carga al mismo tiempo en ambas regiones para cumplir con los requisitos de RPO.
  • Se usa Dataflow para extraer datos de Cloud Storage y transformarlos antes de cargarlos en BigQuery. Si se produce una interrupción regional, BigQuery se propagaría con los datos más recientes de Cloud Storage.
  • BigQuery proporciona el backend del almacén de datos. En las operaciones normales, esto se actualiza de manera intermitente. Si se produce una interrupción regional, se vuelven a transferir los datos más recientes desde Cloud Storage mediante Dataflow.

Arquitectura de ejemplo de nivel 1

Importancia de la aplicación Interrupción zonal Interrupción regional
Nivel 1
(más importante)
RTO de cero
RPO de cero
RTO de 4 horas
RPO de 1 hora

Una arquitectura de ejemplo de nivel 1 que usa productos de Google Cloud

En esta arquitectura, se describe una infraestructura de backend de apps para dispositivos móviles con usuarios externos que se conectan a un conjunto de microservicios que se ejecutan en Google Kubernetes Engine. Cloud Spanner proporciona la capa de almacenamiento de datos de backend para los datos en tiempo real, y los datos históricos se transmiten a un data lake de BigQuery en cada región.

Otra vez, algunos componentes individuales de esta arquitectura no admiten directamente el RPO requerido para su nivel. Sin embargo, debido a cómo se usan en conjunto, el servicio general sí lo admite. En este caso, BigQuery se usa para consultas analíticas. Cada región recibe datos de forma simultánea desde Cloud Spanner.

Decisiones clave de arquitectura para la interrupción zonal: RTO de cero y RPO de cero:

  • Se usa un balanceador de cargas a fin de proporcionar un punto de acceso escalable para los usuarios, lo que permite la conmutación por error automática a otra zona.
  • Se usa un clúster regional de Google Kubernetes Engine para la capa de la aplicación que está configurada con varias zonas. Esto logra el RTO de cero dentro de cada región.
  • Cloud Spanner multirregional se usa como capa de persistencia de datos y proporciona resiliencia automática de los datos de la zona y coherencia en la transacción.
  • BigQuery proporciona la capacidad de crear estadísticas para la aplicación. Cada región recibe datos provenientes de Cloud Spanner de manera independiente y la aplicación accede a ellos de la misma forma.

Decisiones clave de arquitectura para la interrupción regional: RTO de 4 horas y RPO de 1 hora:

  • Se usa un balanceador de cargas a fin de proporcionar un punto de acceso escalable para los usuarios, lo que permite la conmutación por error automática a otra región.
  • Se usa un clúster regional de Google Kubernetes Engine para la capa de la aplicación que está configurada con varias zonas. Si se produce una interrupción regional, el clúster en la región alternativa se escala de manera automática para tomar la carga de procesamiento adicional.
  • Se usa Cloud Spanner multirregional como capa de persistencia de datos, lo que proporciona resiliencia automática de los datos de la región y coherencia en la transacción. Este es el componente clave para lograr la RPO de 1 hora.
  • BigQuery proporciona la capacidad de crear estadísticas para la aplicación. Cada región recibe datos provenientes de Cloud Spanner de manera independiente y la aplicación accede a ellos de la misma forma. Esta arquitectura compensa el componente de BigQuery, lo que le permite cumplir con los requisitos generales de la aplicación.

Apéndice: Referencia del producto

En esta sección, se describen la arquitectura y las capacidades de DR de los productos de Google Cloud que más se usan en las aplicaciones del cliente y que se pueden aprovechar con facilidad para cumplir con tus requisitos de DR.

Temas comunes

Muchos productos de Google Cloud ofrecen opciones de configuración regionales o multirregionales. Los productos regionales son resilientes a las interrupciones zonales, mientras que los productos globales y multirregionales son resilientes a las interrupciones regionales. En general, esto significa que, durante una interrupción, la aplicación experimenta interrupciones mínimas. Google logra estos resultados a través de algunos enfoques arquitectónicos comunes, que reflejan la guía de arquitectura anterior.

  • Implementación redundante: Los backends de la aplicación y el almacenamiento de datos se implementan en varias zonas dentro de una región y en varias regiones dentro de una ubicación multirregional.
  • Replicación de datos: Los productos usan la replicación síncrona o asíncrona en las ubicaciones redundantes.

    • La replicación síncrona significa que, cuando tu aplicación realiza una llamada a la API para crear o modificar los datos que almacenó el producto, recibe una respuesta correcta solo una vez que el producto escribió los datos en varias ubicaciones. La replicación síncrona garantiza que no pierdas el acceso a ninguno de tus datos durante una interrupción en la infraestructura de Google Cloud porque todos están disponibles en una de las ubicaciones de backend disponibles.

      Aunque esta técnica proporciona la máxima protección de los datos, puede tener compensaciones en términos de latencia y rendimiento. Los productos multirregionales que usan la replicación síncrona experimentan esta compensación de manera más significativa, por lo general, en décimas o centésimas de milisegundos de latencia adicional.

    • La replicación asíncrona significa que, cuando tu aplicación realiza una llamada a la API para crear o modificar los datos que almacenó el producto, recibe una respuesta correcta una vez que el producto escribió los datos en una sola ubicación. Luego de la solicitud de escritura, el producto replica los datos en ubicaciones adicionales.

      Esta técnica proporciona una latencia menor y una capacidad de procesamiento más alta en la API que la replicación síncrona, pero a expensas de la protección de los datos. Si la ubicación en la que escribiste los datos sufre una interrupción antes de que se complete la replicación, perderás el acceso a esos datos hasta que la interrupción en la ubicación se resuelva.

  • Controla las interrupciones con el balanceo de cargas: Google Cloud usa el balanceo de cargas de software para enrutar las solicitudes a los backends de aplicaciones adecuados. En comparación con otros enfoques como el balanceo de cargas de DNS, este enfoque reduce el tiempo de respuesta del sistema a una interrupción. Cuando se produce una interrupción en una ubicación de Google Cloud, el balanceador de cargas detecta con rapidez que el backend implementado en esa ubicación se encuentra “en mal estado” y dirige todas las solicitudes a un backend en una ubicación alternativa. Esto permite que el producto siga entregando las solicitudes de tu aplicación durante una interrupción en la ubicación. Cuando se resuelve la interrupción en la ubicación, el balanceador de cargas detecta la disponibilidad de los backends del producto en esa ubicación y reanuda el envío de tráfico hacia allí.

Compute Engine

Compute Engine es la infraestructura como servicio de Google Cloud. Usa la infraestructura mundial de Google para ofrecer máquinas virtuales (y servicios relacionados) a los clientes.

Las instancias de Compute Engine son recursos zonales, por lo que, en caso de que se produzca una interrupción zonal, las instancias no están disponibles de forma predeterminada. Compute Engine ofrece grupos de instancias administrados (MIG) que, de forma automática, pueden escalar verticalmente VM adicionales desde plantillas de instancias preconfiguradas, tanto dentro de una sola zona como en varias zonas dentro de una región. Los MIG son ideales para las aplicaciones sin estado y que requieren resiliencia ante la pérdida zonal, pero que necesitan configuración y planificación de recursos. Se pueden usar varios MIG regionales a fin de lograr resiliencia ante interrupciones regionales para las aplicaciones sin estado.

Las aplicaciones que tienen cargas de trabajo con estado aún pueden usar MIG con estado, pero necesitan atención adicional en la planificación de la capacidad, ya que no se escalan horizontalmente. En ambos casos, es importante configurar y probar de manera correcta las plantillas de instancias y los MIG de Compute Engine con anticipación para garantizar que las funciones de conmutación por error funcionen en otras zonas. Consulta la sección anterior Patrones de arquitectura para obtener más información.

Herramientas de redes para Compute Engine

Para obtener información sobre las opciones de configuración de alta disponibilidad para conexiones de interconexión, consulta los siguientes documentos:

Puedes aprovisionar direcciones IP externas en modo global o regional, lo que afecta su disponibilidad en caso de una falla regional.

Resiliencia de Cloud Load Balancing

Los balanceadores de cargas son un componente crítico de la mayoría de las aplicaciones con alta disponibilidad. Google Cloud ofrece balanceadores de cargas regionales y globales. En cualquier caso, es importante comprender que la resiliencia de la aplicación en general depende no solo del balanceador de cargas que elijas, sino también de la redundancia de los servicios de backend.

En la siguiente tabla, se resume la resiliencia del balanceador de cargas según la distribución o el alcance del balanceador de cargas.

Alcance del balanceador de cargas Arquitectura Resiliente a una interrupción zonal Resistente a las interrupciones regionales
Global Cada balanceador de cargas se distribuye por todas las regiones
Regional Cada balanceador de cargas se distribuye en varias zonas de la región Una interrupción en una región determinada afecta a los balanceadores de cargas regionales en esa región.

Si deseas obtener más información para elegir un balanceador de cargas, consulta la documentación de Cloud Load Balancing.

Dataproc

Dataproc proporciona capacidades de transmisión y procesamiento de datos por lotes. Dataproc se diseñó como un plano de control regional que permite a los usuarios administrar clústeres de Dataproc. El plano de control no depende de una zona individual en una región determinada. Por lo tanto, durante una interrupción zonal, conservas el acceso a las API de Dataproc, incluida la capacidad de crear clústeres nuevos.

Los clústeres se ejecutan en Compute Engine. Debido a que el clúster es un recurso zonal, una interrupción zonal hace que el clúster deje de estar disponible o lo destruye. Dataproc no realiza instantáneas del estado del clúster de forma automática, por lo que una interrupción zonal podría provocar la pérdida de datos que se están procesando. Dataproc no conserva datos del usuario dentro del servicio. Los usuarios pueden configurar sus canalizaciones para que escriban resultados en muchos almacenes de datos. Debes considerar la arquitectura del almacén de datos y elegir un producto que ofrezca la resiliencia ante desastres necesaria.

Si una zona sufre una interrupción, puedes volver a crear una instancia nueva del clúster en otra zona, ya sea si seleccionas una zona diferente o usas la función de posición automática en Dataproc para seleccionar de forma automática una zona disponible. Una vez que el clúster está disponible, se puede reanudar el procesamiento de datos. También puedes ejecutar un clúster con el modo de alta disponibilidad habilitado, lo que reduce la probabilidad de que una interrupción zonal parcial afecte un nodo principal y, por lo tanto, a todo el clúster.

Dataflow

Dataflow es el servicio de procesamiento de datos completamente administrado y sin servidores de Google Cloud para canalizaciones de transmisión y por lotes. Los trabajos de Dataflow son zonales por naturaleza y, en la configuración predeterminada, no conservan los resultados de los cálculos intermedios durante una interrupción zonal. Un enfoque de recuperación típico para esas canalizaciones predeterminadas de Dataflow es reiniciar el trabajo en una zona o una región diferente y volver a procesar los datos de entrada.

Diseña las canalizaciones de Dataflow para alta disponibilidad

En el caso de una interrupción zonal o regional, puedes evitar la pérdida de datos si vuelves a usar la misma suscripción en el tema de Pub/Sub. Como parte de la garantía exacta de Dataflow, Dataflow solo confirma los mensajes en Pub/Sub si se mantuvieron en el destino o si un mensaje pasó por una operación de agrupación o de sistema de ventanas de tiempo y se guardó en el estado de canalización duradero de Dataflow. Si no hay operaciones de agrupación o de sistema de ventanas de tiempo, una conmutación por error a otro trabajo de Dataflow en otra zona o región mediante el reúso de la suscripción no genera pérdida de datos en los datos de salida de la canalización.

Si la canalización usa la agrupación o el sistema de ventanas de tiempo, puedes usar la funcionalidad Búsqueda de Pub/Sub o Volver a reproducir de Kafka después de una interrupción zonal o regional para volver a procesar los elementos de datos a fin de llegar al mismo resultado de cálculo. La pérdida de datos de los resultados de la canalización se puede minimizar hasta 0 elementos si la lógica empresarial que usa la canalización se basa en los datos antes de la interrupción. Si la lógica empresarial de la canalización se basa en datos que se procesaron antes de la interrupción (por ejemplo, si se usan ventanas variables de larga duración o si un período global almacena contadores en aumento), Dataflow ofrece una función de captura de instantánea (por el momento en modo de vista previa) que proporciona una copia de seguridad de la instantánea del estado de una canalización.

BigQuery

BigQuery es un almacén de datos en la nube sin servidores, rentable y altamente escalable, diseñado para lograr agilidad empresarial. BigQuery es compatible con los siguientes tipos de ubicaciones para conjuntos de datos del usuario:

  • Una región: una ubicación geográfica específica, como Iowa (us-central1) o Montreal (northamerica-northeast1).
  • Una multirregión: un área geográfica grande que contiene dos o más lugares geográficos, como los Estados Unidos (US) o Europa (EU).

En cualquier caso, los datos se almacenan de manera redundante en dos zonas dentro de una sola región de la ubicación seleccionada. Los datos escritos en BigQuery se escriben en las zonas principal y secundaria. Esto protege contra la falta de disponibilidad de una zona única dentro de la región.

Google Kubernetes Engine

Google Kubernetes Engine (GKE) ofrece el servicio administrado de Kubernetes mediante la optimización de la implementación de aplicaciones en contenedores en Google Cloud. Puedes elegir entre topologías de clústeres regionales o zonales.

  • Cuando creas un clúster zonal, GKE aprovisiona una máquina de plano de control en la zona elegida, así como máquinas de trabajador (nodos) dentro de la misma zona.
  • Para los clústeres regionales, GKE aprovisiona tres máquinas de plano de control en tres zonas diferentes dentro de la región elegida. De forma predeterminada, los nodos también están incluidos en tres zonas, aunque puedes elegir crear un clúster regional con nodos que se aprovisionan solo en una zona.
  • Los clústeres multizonales son similares a los clústeres zonales, ya que incluyen una máquina principal y ofrecen la capacidad de incluir nodos de varias zonas.

Interrupción zonal: Para evitar interrupciones zonales, usa clústeres regionales. El plano de control y los nodos se distribuyen en tres zonas diferentes dentro de una región. Una interrupción zonal no afecta al plano de control y los nodos trabajadores que se implementan en las otras dos zonas.

Interrupción regional: La mitigación de una interrupción regional requiere la implementación en varias regiones. Aunque por el momento no se ofrece como una capacidad integrada de los productos, la topología multirregional es un enfoque que hoy en día usan muchos clientes de GKE y que se puede implementar de forma manual. Puedes crear varios clústeres regionales para replicar las cargas de trabajo en varias regiones y controlar el tráfico a estos clústeres mediante la entrada de varios clústeres.

Cloud Key Management Service

Cloud Key Management Service (Cloud KMS) proporciona la administración de recursos de claves criptográficas escalables y de alta durabilidad. Cloud KMS almacena todos sus datos y metadatos en las bases de datos de Cloud Spanner, que proporcionan alta durabilidad y disponibilidad de datos con replicación síncrona.

Los recursos de Cloud KMS pueden crearse en una sola región, en varias regiones o de forma global.

En el caso de una interrupción zonal, Cloud KMS continúa entregando solicitudes desde otra zona en la misma región o en otra sin interrupciones. Debido a que los datos se replican de forma síncrona, no hay pérdida ni corrupción de datos. Cuando se resuelve la interrupción zonal, se restablece la redundancia total.

Si se produce una interrupción regional, los recursos regionales de esa región se encuentran sin conexión hasta que esta vuelve a estar disponible. Ten en cuenta que, incluso dentro de una región, se mantienen al menos 3 réplicas en zonas diferentes. Cuando se requiere una mayor disponibilidad, los recursos deben almacenarse en una configuración multirregional o global. Las configuraciones globales y multirregionales están diseñadas para permanecer disponibles durante una interrupción regional mediante el almacenamiento y la entrega de datos con redundancia geográfica en más de una región.

Cloud Identity

Los servicios de Cloud Identity se distribuyen en varias regiones y usan el balanceo de cargas dinámico. Cloud Identity no permite que los usuarios seleccionen un alcance de recurso. Si una zona o una región en particular experimenta una interrupción, el tráfico se distribuye de manera automática a otras zonas o regiones.

En la mayoría de los casos, los datos persistentes se duplican en varias regiones con replicación síncrona. Por motivos de rendimiento, algunos sistemas, como las caché o los cambios que afectan a una gran cantidad de entidades, se replican de manera asíncrona en todas las regiones. Si la región principal en la que se almacenan los datos más recientes experimenta una interrupción, Cloud Identity entrega datos obsoletos desde otra ubicación hasta que la región principal esté disponible.

Persistent Disk

Los discos persistentes están disponibles en las configuraciones zonales y regionales.

Los discos persistentes zonales se alojan en una sola zona. Si la zona del disco no está disponible, Persistent Disk tampoco estará disponible hasta que se resuelva la interrupción zonal.

Los discos persistentes regionales proporcionan replicación síncrona de datos entre dos zonas de una región. Si se produce una interrupción en la zona de la máquina virtual, puedes forzar la conexión de un disco persistente regional a una instancia de VM en la zona secundaria del disco. Para ello, debes iniciar otra instancia de VM o mantener una instancia de VM en espera activa en esa zona.

Cloud Storage

Cloud Storage proporciona almacenamiento de objetos unificado, escalable y con alta durabilidad a nivel global. Los buckets de Cloud Storage se pueden crear en uno de tres tipos de ubicaciones diferentes: en una sola región, en una región doble o en una multirregión dentro de un continente. Con los buckets regionales, los objetos se almacenan de manera redundante en todas las zonas de disponibilidad de una sola región. Por el contrario, los buckets birregionales y multirregionales tienen redundancia geográfica. Esto significa que después de que los datos recién escritos se repliquen en al menos una región remota, los objetos se almacenan de manera redundante en todas las regiones. Este enfoque les brinda a los datos en buckets birregionales y multirregionales un conjunto de protecciones más amplio de lo que se puede lograr con el almacenamiento regional.

Los buckets regionales están diseñados para ser resilientes en caso de una interrupción en una sola zona de disponibilidad. Si una zona experimenta una interrupción, los datos en la zona no disponible se entregan de forma automática y transparente desde cualquier otro lugar de la región. Los datos y los metadatos se almacenan de manera redundante en todas las zonas, a partir de la escritura inicial. Las escrituras no se pierden si una zona deja de estar disponible. En el caso de una interrupción regional, los buckets regionales de esa región permanecen sin conexión hasta que la región vuelve a estar disponible.

Si necesitas más disponibilidad, puedes almacenar datos en una configuración birregional o multirregional. Los buckets birregionales y multirregionales son buckets individuales (sin ubicaciones principales y secundarias independientes), pero almacenan datos y metadatos de forma redundante en todas las regiones. Si se produce una interrupción regional, la entrega no se interrumpe. Puedes pensar en los buckets birregionales y multirregionales como activos-activos en cuanto a que puedes leer y escribir las cargas de trabajo en más de una región al mismo tiempo que el bucket mantiene una coherencia sólida. Esto puede ser muy atractivo para los clientes que desean dividir su carga de trabajo en las dos regiones como parte de una arquitectura de recuperación ante desastres.

Las regiones dobles y múltiples tienen coherencia sólida porque los metadatos siempre se escriben de forma síncrona en las regiones. Este enfoque permite que el servicio siempre determine cuál es la última versión de un objeto y desde dónde se puede entregar, incluso desde regiones remotas.

Los datos se replican de forma asíncrona. Esto significa que hay un período de RPO en el que los objetos recién escritos comienzan protegidos como objetos regionales, con redundancia en las zonas de disponibilidad dentro de una sola región. Luego, el servicio replica los objetos dentro de esa ventana de RPO en una o más regiones remotas para que tengan redundancia geográfica. Una vez completada esa replicación, los datos se pueden entregar de forma automática y transparente desde otra región en el caso de una interrupción regional. La replicación turbo es una función premium disponible en un bucket birregional para obtener una ventana de RPO más pequeña, que apunta al 100% de los objetos recién escritos que se replican y hace que la ubicación tenga redundancia geográfica en 15 minutos.

El RPO es una consideración importante, ya que, durante una interrupción regional, es posible que los datos escritos recientemente en la región afectada dentro del período de RPO aún no se hayan replicado en otras regiones. Como resultado, es posible que no se pueda acceder a los datos durante la interrupción y que se pierdan en caso de una destrucción física de los datos en la región afectada.

Container Registry

Container Registry proporciona una implementación escalable y alojada de Docker Registry que almacena de forma segura y privada las imágenes de contenedor de Docker. Container Registry implementa la API de Docker Registry de HTTP.

Container Registry es un servicio global que almacena de forma síncrona los metadatos de imágenes de manera redundante en varias zonas y regiones según la configuración predeterminada. Las imágenes de contenedor se almacenan en depósitos multirregionales de Cloud Storage. Con esta estrategia de almacenamiento, Container Registry proporciona resiliencia ante interrupciones zonales en todos los casos y ante interrupciones regionales para cualquier dato que Cloud Storage haya replicado de manera asíncrona en varias regiones.

Pub/Sub

Pub/Sub es un servicio de mensajería para la integración de aplicaciones y las estadísticas de transmisiones. Los temas de Pub/Sub son globales, lo que significa que son visibles y accesibles desde cualquier ubicación de Google Cloud. Sin embargo, todos los mensajes se almacenan en una sola región de Google Cloud, la más cercana al publicador y la que permita la política de ubicación de recursos. Por lo tanto, un tema puede tener mensajes almacenados en diferentes regiones en Google Cloud. La política de almacenamiento de mensajes de Pub/Sub puede restringir las regiones en las que se almacenan los mensajes.

Interrupción zonal: Cuando se publica un mensaje de Pub/Sub, se escribe de forma síncrona en el almacenamiento en al menos dos zonas dentro de la región. Por lo tanto, si una sola zona deja de estar disponible, no se produce un impacto visible para el cliente.

Interrupción regional: Durante una interrupción regional, no se puede acceder a los mensajes almacenados dentro de la región afectada. Los publicadores y suscriptores que se conectarían a la región afectada, ya sea a través de un extremo regional o el global, no podrán conectarse. Los publicadores y suscriptores que se conectan a otras regiones aún pueden conectarse, y los mensajes disponibles en otras regiones se entregan a los suscriptores más cercanos a la red que tienen capacidad.

Si la aplicación se basa en el ordenamiento de los mensajes, revisa las recomendaciones detalladas del equipo de Pub/Sub. Las garantías de ordenamiento de mensajes se proporcionan por región y pueden interrumpirse si usas un extremo global.

Cloud Composer

Cloud Composer es la implementación administrada de Apache Airflow de Google Cloud. Cloud Composer está diseñado como un plano de control regional que permite a los usuarios administrar clústeres de Cloud Composer. El plano de control no depende de una zona individual en una región determinada. Por lo tanto, durante una interrupción zonal, conservas el acceso a las API de Cloud Composer, incluida la capacidad de crear clústeres nuevos.

Los clústeres se ejecutan en Google Kubernetes Engine. Debido a que el clúster es un recurso zonal, una interrupción zonal hace que el clúster deje de estar disponible o lo destruye. Es posible que los flujos de trabajo que se están ejecutando al momento de la interrupción se interrumpan antes de completarse. Esto significa que la interrupción provoca la pérdida del estado de los flujos de trabajo ejecutados de manera parcial, incluidas las acciones externas que el usuario configuró para completar el flujo de trabajo. Según el flujo de trabajo, esto puede causar inconsistencias externas, por ejemplo, si el flujo de trabajo se detiene en la mitad de una ejecución de varios pasos para modificar los almacenes de datos externos. Por lo tanto, debes considerar el proceso de recuperación cuando diseñes tu flujo de trabajo de Airflow, incluidos cómo detectar estados de flujos de trabajo ejecutados de manera parcial, cómo reparar cambios de datos parciales, etcétera.

Durante una interrupción zonal, puedes elegir usar Cloud Composer para iniciar una instancia nueva del clúster en otra zona. Una vez que el clúster está disponible, se puede reanudar el flujo de trabajo. Según tus preferencias, es posible que quieras ejecutar un clúster de réplica inactivo en otra zona y cambiar a esa réplica en caso de que ocurra una interrupción zonal.

Cloud SQL

Cloud SQL es un servicio de base de datos relacional completamente administrado para MySQL, PostgreSQL y SQL Server. Cloud SQL usa máquinas virtuales administradas de Compute Engine para ejecutar el software de base de datos. Ofrece una configuración de alta disponibilidad para la redundancia regional, lo que protege la base de datos ante una interrupción zonal. Las réplicas entre regiones pueden aprovisionarse para proteger la base de datos ante una interrupción regional. Debido a que el producto también ofrece una opción zonal, que no es resiliente ante una interrupción zonal o regional, debes tener cuidado cuando seleccionas la configuración de alta disponibilidad, las réplicas entre regiones o ambas.

Interrupción zonal: La opción de alta disponibilidad crea una instancia de VM principal y en espera en dos zonas distintas dentro de una región. Durante el funcionamiento normal, la instancia de VM principal entrega todas las solicitudes y escribe los archivos de la base de datos en un disco persistente regional, que se replica de forma síncrona en las zonas principal y de espera. Si una interrupción zonal afecta a la instancia principal, Cloud SQL inicia una conmutación por error durante la cual el disco persistente se conecta a la VM en espera y el tráfico se redirige.

Durante este proceso, se debe inicializar la base de datos, lo que incluye el procesamiento de cualquier transacción escrita en el registro de transacciones, pero que no está aplicada a la base de datos. La cantidad y el tipo de transacciones sin procesar pueden aumentar el tiempo de RTO. Las operaciones de escritura recientes pueden provocar una acumulación de transacciones sin procesar. El tiempo de RTO se ve muy afectado por (a) la actividad de escritura reciente y (b) los cambios recientes en los esquemas de base de datos.

Por último, cuando se resuelve la interrupción zonal, puedes activar de forma manual una operación de recuperación para reanudar la entrega en la zona principal.

Para obtener más detalles sobre la opción de alta disponibilidad, consulta la documentación de alta disponibilidad de Cloud SQL.

Interrupción regional: La opción de réplica entre regiones protege tu base de datos ante las interrupciones regionales mediante la creación de réplicas de lectura de la instancia principal en otras regiones. La replicación entre regiones usa la replicación asíncrona, que permite que la instancia principal confirme las transacciones antes de que se confirmen en las réplicas. La diferencia de tiempo entre el momento en que una transacción se confirma en la instancia principal y en que se confirma en la réplica se conoce como “demora de replicación” (que se puede supervisar). Esta métrica refleja las transacciones que no se enviaron desde la instancia principal a las réplicas y las que se recibieron, pero que aún la réplica no procesó. Las transacciones que no se envíen a la réplica no estarán disponibles durante una interrupción regional. Las transacciones recibidas que la réplica aún no procesó afectan el tiempo de recuperación, como se describe a continuación.

Cloud SQL recomienda probar la carga de trabajo con una configuración que incluya una réplica para establecer un límite de “seguro de transacciones por segundo(TPS)”, que es el TPS continuo más alto que no acumula demora de replicación. Si la carga de trabajo excede el límite seguro de TPS, la demora de replicación se acumula, lo que afecta de manera negativa los valores de RPO y RTO. Como regla general, evita usar configuraciones de instancias pequeñas (<2 núcleos de CPU virtual, <100 GB de disco o HDD de PD), que son susceptibles a las demoras de replicación.

Si se produce una interrupción regional, debes decidir si promueves una réplica de lectura de forma manual. Esta es una operación manual, ya que la promoción puede causar una situación de cerebro dividido en la que la réplica promocionada acepta transacciones nuevas a pesar de que haber demorado la instancia principal en el momento de la promoción. Esto puede causar problemas cuando se resuelve la interrupción regional y deberás conciliar las transacciones que nunca se propagaron de la instancia principal a las réplicas. Si esto resulta problemático para tus necesidades, puedes considerar usar un producto de base de datos de replicación síncrona entre regiones como Cloud Spanner.

Una vez que el usuario lo activa, el proceso de promoción sigue pasos similares a la de una instancia en espera en la configuración de alta disponibilidad: la réplica de lectura debe procesar el registro de transacciones y el balanceador de cargas debe redireccionar el tráfico. El procesamiento del registro de transacciones controla el tiempo total de recuperación.

Para obtener más detalles sobre la opción de réplica entre regiones, consulta la documentación de réplica entre regiones de Cloud SQL.

Cloud Logging

Cloud Logging consta de dos partes principales: el enrutador de registros y el almacenamiento de Cloud Logging.

El enrutador de registros controla los eventos de registros de transmisión y dirige los registros a Cloud Storage, Pub/Sub, BigQuery o al almacenamiento de Cloud Logging.

El almacenamiento de Cloud Logging es un servicio para almacenar, consultar y administrar el cumplimiento de los registros. Es compatible con muchos usuarios y flujos de trabajo, incluidos el desarrollo, el cumplimiento, la solución de problemas y las alertas proactivas.

Enrutador de registros y registros entrantes: Durante una interrupción zonal, la API de Cloud Logging enruta los registros a otras zonas de la región. Por lo general, los registros que enruta el enrutador de registros a Cloud Logging, BigQuery o Pub/Sub se escriben en su destino final lo antes posible, mientras que los registros enviados a Cloud Storage se almacenan en el búfer y se escriben en lotes por hora.

Entradas de registro: Si se produce una interrupción zonal o regional, las entradas de registro que se almacenaron en el búfer de la zona o la región afectada y que no se escribieron en el destino de exportación se vuelven inaccesibles. Las métricas basadas en registros también se calculan en el enrutador de registros y están sujetas a las mismas restricciones. Una vez que se entregan a la ubicación de exportación de registros seleccionada, los registros se replican según el servicio de destino. Los registros que se exportan al almacenamiento de Cloud Logging se replican de forma síncrona en dos zonas de una región. Para obtener información sobre el comportamiento de replicación de otros tipos de destino, consulta la sección relevante en este artículo. Ten en cuenta que los registros exportados a Cloud Storage se agrupan por lotes y se escriben cada hora. Por lo tanto, recomendamos usar el almacenamiento de Cloud Logging, BigQuery o Pub/Sub para minimizar la cantidad de datos afectados por una interrupción.

Metadatos de registro: Los metadatos como la configuración de receptores y de la exclusión se almacenan a nivel global, pero en caché a nivel regional. Si se produce una interrupción, las instancias regionales del enrutador de registros operarían. Las interrupciones en una sola región no tienen impacto fuera de la región.

Cloud Spanner

Cloud Spanner es una base de datos escalable, de alta disponibilidad, de varias versiones, replicada de forma síncrona y de coherencia sólida con semántica relacional.

Las instancias regionales de Cloud Spanner replican los datos de manera síncrona en tres zonas de una misma región. Una operación de escritura a una instancia regional de Cloud Spanner se envía de forma síncrona a las 3 réplicas y se confirma al cliente después de que al menos 2 réplicas (quórum de mayoría de 2 de 3) confirmen la escritura. Esto hace que Cloud Spanner sea resistente a la falla de zona, lo que proporciona acceso a todos los datos, ya que las escrituras más recientes se mantuvieron y se puede obtener un quórum mayor para operaciones de escritura con 2 réplicas.

Las instancias multirregionales de Cloud Spanner incluyen un quórum de escritura que replica datos de forma síncrona en 5 zonas ubicadas en 3 regiones (2 réplicas de lectura y escritura cada una en la región líder predeterminada y otra región; y una réplica en la región testigo). Una operación de escritura en una instancia multirregional de Cloud Spanner se confirma después de que al menos 3 réplicas (quórum de mayoría de 3 de 5) hayan confirmado la escritura. En el caso de una falla de zona o región, Cloud Spanner tiene acceso a todos los datos (incluidas las escrituras más recientes) y entrega solicitudes de lectura y escritura, ya que los datos se conservan en al menos 3 zonas en 2 regiones en el momento en que la escritura se confirma al cliente.

Consulta la documentación de las instancias de Cloud Spanner para obtener más información sobre estas opciones de configuración y la documentación de la replicación si deseas obtener más información sobre Cómo funciona la replicación de Cloud Spanner.

Cloud DNS

Cloud DNS es un servicio de sistema de nombres de dominio (DNS) global, resiliente y de alto rendimiento que publica sus nombres de dominio en el DNS global de una manera rentable.

En el caso de una interrupción zonal, Cloud DNS continúa entregando solicitudes desde otra zona en la misma región o en otra sin interrupciones. Las actualizaciones de los registros de Cloud DNS se replican de forma síncrona en todas las zonas de la región en la que se reciben. Por lo tanto, no hay pérdida de datos.

En el caso de una interrupción regional, Cloud DNS continúa entregando solicitudes desde otras regiones. Es posible que las actualizaciones muy recientes de los registros de Cloud DNS no estén disponibles porque las actualizaciones se procesan primero en una sola región antes de replicarse de forma asíncrona en otras regiones.

Cloud CDN

Cloud CDN distribuye y almacena en caché contenido en muchas ubicaciones de la red de Google a fin de reducir la latencia de entrega para los clientes. El contenido almacenado en caché se entrega en función del mejor esfuerzo: cuando la caché de Cloud CDN no puede entregar una solicitud, la solicitud se reenvía a los servidores de origen, como las VM de backend o los buckets de Cloud Storage, donde se almacena el contenido original.

Cuando falla una zona o región, las memorias caché de las ubicaciones afectadas no están disponibles. Las solicitudes entrantes se enrutan a las ubicaciones perimetrales y las cachés de Google disponibles. Si estas memorias caché no pueden entregar la solicitud, reenviarán la solicitud a un servidor de origen disponible. Siempre que el servidor pueda entregar la solicitud con datos actualizados, no habrá pérdida de contenido. Una mayor tasa de errores de caché hará que los servidores de origen experimenten un volumen de tráfico mayor que el normal a medida que se llenan las memorias caché. Las solicitudes posteriores se entregan desde las memorias caché que no se ven afectadas por la interrupción de la zona o la región.

Para obtener más información sobre Cloud CDN y el comportamiento de la caché, consulta la documentación de Cloud CDN.

Cloud Functions

Cloud Functions es un entorno de procesamiento sin estado en el que los clientes pueden ejecutar su código de función en la infraestructura de Google. Cloud Functions es una oferta regional, lo que significa que los clientes pueden elegir la región, pero no las zonas que la conforman. Las cargas de los datos y el tráfico se balancean de forma automática entre zonas de una región. Las funciones tienen ajuste de escala automático para cumplir con el tráfico entrante y sus cargas se balancean entre las zonas según sea necesario. Cada zona mantiene un programador que proporciona este ajuste de escala automático por zona. También tiene en cuenta la carga que reciben otras zonas y aprovisionará capacidad adicional en la zona para permitir fallas zonales.

Interrupción zonal: Cloud Functions almacena metadatos y la función implementada. Estos datos se almacenan de forma regional y se escriben de forma síncrona. La API de Admin de Cloud Functions solo muestra la llamada a la API una vez que los datos se confirmaron en un quórum dentro de una región. Debido a que los datos se almacenan de forma regional, las operaciones del plano de datos tampoco se ven afectadas por las fallas zonales. El tráfico se enruta automáticamente a otras zonas en caso de una falla zonal.

Interrupción regional: Los clientes eligen la región de Google Cloud en la que desean crear su función. Los datos nunca se replican en otras regiones. Cloud Functions nunca enrutará el tráfico del cliente a una región diferente. En el caso de una falla regional, Cloud Functions volverá a estar disponible en cuanto se resuelva la interrupción. Se recomienda a los clientes que implementen en varias regiones y que usen Cloud Load Balancing para lograr una mayor disponibilidad, si lo desean.

Cloud Run

Cloud Run es un entorno de computación sin estado en el que los clientes pueden ejecutar su código alojado en contenedores en la infraestructura de Google. Cloud Functions es una oferta regional, lo que significa que los clientes pueden elegir la región, pero no las zonas que la conforman. Las cargas de los datos y el tráfico se balancean de forma automática entre zonas de una región. Las instancias de contenedor cuentan con ajuste de escala automático para cumplir con el tráfico entrante y se balancean las cargas entre las zonas según sea necesario. Cada zona mantiene un programador que proporciona este ajuste de escala automático por zona. También tiene en cuenta la carga que reciben otras zonas y aprovisionará capacidad adicional en la zona para permitir fallas zonales.

Interrupción zonal: Cloud Run almacena metadatos, así como el contenedor implementado. Estos datos se almacenan de forma regional y se escriben de forma síncrona. La API de Cloud Run Admin solo muestra la llamada a la API una vez que los datos se confirmaron en un quórum dentro de una región. Debido a que los datos se almacenan de forma regional, las operaciones del plano de datos tampoco se ven afectadas por las fallas zonales. El tráfico se enrutará automáticamente a otras zonas en caso de una falla zonal.

Interrupción regional: Los clientes eligen la región de Google Cloud en la que desean crear su servicio de Cloud Run. Los datos nunca se replican en otras regiones. Cloud Functions nunca enrutará el tráfico del cliente a una región diferente. En el caso de una falla regional, Cloud Run volverá a estar disponible en cuanto se resuelva la interrupción. Se recomienda a los clientes que implementen en varias regiones y que usen Cloud Load Balancing para lograr una mayor disponibilidad, si lo desean.

VPN con alta disponibilidad

La VPN con alta disponibilidad (HA) es una oferta de Cloud VPN resiliente que encripta de forma segura tu tráfico desde tu nube privada local, otra nube privada virtual o desde otra red de proveedores de servicios en la nube hacia tu nube privada virtual (VPC) de Google Cloud.

Las puertas de enlace de VPN con alta disponibilidad tienen dos interfaces, cada una con una dirección IP de grupos de direcciones IP diferentes, divididas de forma lógica y física en diferentes PoP y clústeres para garantizar una redundancia óptima.

Interrupción zonal: En el caso de una interrupción zonal, una interfaz puede perder conectividad, pero el tráfico se redirecciona a la otra interfaz a través del enrutamiento dinámico mediante el Protocolo de puerta de enlace fronteriza (BGP).

Interrupción regional: En el caso de una interrupción regional, ambas interfaces pueden perder conectividad durante un período breve.

Cloud NAT

Cloud NAT (traducción de direcciones de red) es un servicio administrado distribuido y definido por software que permite que ciertos recursos sin direcciones IP externas creen conexiones salientes a Internet. No se basa en los dispositivos o VM del proxy. Cloud NAT configura el software Andromeda que potencia tu red de nube privada virtual (VPC) de manera que proporcione la traducción de direcciones de red (de origen NAT o SNAT) para VM sin direcciones IP externas. Cloud NAT también proporciona la traducción de direcciones de red (de destino NAT o DNAT) para los paquetes de respuesta entrantes establecidos.

Para obtener más información sobre la funcionalidad de Cloud NAT, consulta la documentación.

Interrupción zonal: Cloud NAT es resistente a las fallas zonales porque el plano de control y el plano de datos de red son redundantes en varias zonas dentro de una región.

Interrupción regional: Cloud NAT es un producto regional, por lo que no puede resistir una falla regional.

Cloud Load Balancing

Google Cloud Load Balancing es un balanceador de cargas regional que balancea el tráfico entre las instancias de VM en la misma región.

  • Los balanceadores de cargas TCP/UDP internos y los balanceadores de cargas HTTP(S) internos balancean el tráfico de TCP, UDP y HTTP(S) interno.

  • El balanceador de cargas de HTTP(S) externo balancea el tráfico externo de TCP, UDP, ICMP y ESP. La compatibilidad con el ESP y el ICMP se encuentran en la fase de vista previa.

En caso de una interrupción zonal, Cloud Load Balancing continúa balanceando las conexiones nuevas a las instancias de backend en otras zonas disponibles. Las conexiones existentes en las instancias de VM en la zona con errores se desvían según la política de seguimiento de conexiones especificada por el usuario. Esta política ayuda a garantizar que las conexiones a los backends en mal estado y los parámetros de configuración de vaciado de conexiones no se conserven.

Dado que Cloud Load Balancing es un producto regional, no es resistente ante las interrupciones regionales.

Cloud Interconnect

Cloud Interconnect ofrece a los clientes acceso RFC 1918 a redes de Google Cloud desde sus centros de datos locales a través de cables físicos conectados al perímetro de intercambio de tráfico de Google.

Cloud Interconnect proporciona a los clientes un ANS del 99.9% si aprovisionan conexiones a dos EAD (dominios de disponibilidad perimetral) en un área metropolitana. Un ANS del 99.99% está disponible si el cliente aprovisiona conexiones en dos EAD en dos áreas metropolitanas y en dos regiones con enrutamiento global. Consulta Descripción general de la topología para aplicaciones no críticas y Descripción general de la topología para aplicaciones a nivel de producción a fin de obtener más información.

Cloud Interconnect es independiente de la zona de procesamiento y proporciona alta disponibilidad en forma de EAD. En caso de una falla de EAD, la sesión de BGP para ese EAD se interrumpe y el tráfico se conmuta por error a otro EAD.

En el caso de una falla regional, las sesiones de BGP en esa región se interrumpen y el tráfico se conmuta por error a los recursos en la región de trabajo. Esto se aplica cuando el enrutamiento global está habilitado.

Secret Manager

Secret Manager es un producto de administración de credenciales y secretos de Google Cloud. Con Secret Manager, puedes auditar y restringir con facilidad el acceso a los secretos, encriptar los secretos en reposo y garantizar que la información sensible esté protegida en Google Cloud.

Por lo general, los recursos de Secret Manager se crean con la política de replicación automática (recomendado), lo que provoca que se repliquen a nivel global. Si tu organización tiene políticas que no permiten la replicación global de los datos del secreto, los recursos de Secret Manager se pueden crear con políticas de replicación administradas por el usuario, en las que se eligen una o más regiones para que se detecte un secreto replicado.

Interrupción zonal: En el caso de una interrupción zonal, Secret Manager continúa entregando solicitudes desde otra zona en la misma región o en otra sin interrupciones. Dentro de cada región, Secret Manager siempre mantiene al menos 2 réplicas en zonas diferentes (en la mayoría de las regiones, 3 réplicas). Cuando se resuelve la interrupción zonal, se restablece la redundancia total.

Interrupción regional: En el caso de una interrupción regional, Secret Manager continúa entregando solicitudes de otra región sin interrupciones, siempre y cuando los datos se hayan replicado en más de una región (ya sea a través de la replicación automática o mediante la replicación administrada por el usuario en más de una región). Cuando se resuelve la interrupción regional, se restablece la redundancia total.

API de Cloud Healthcare

La API de Cloud Healthcare, un servicio para almacenar y administrar datos de atención médica, está diseñada a fin de proporcionar alta disponibilidad y ofrecer protección contra fallas zonales y regionales, según una configuración elegida.

Configuración regional: En su configuración predeterminada, la API de Cloud Healthcare ofrece protección contra fallas zonales. El servicio se implementa en tres zonas de una región, y los datos también se triplican en diferentes zonas dentro de la región. En caso de una falla zonal que afecte a la capa de servicio o de datos, las zonas restantes toman el control sin interrupciones. La única excepción es la funcionalidad de Búsqueda, en la que una pequeña cantidad de datos, aquellos indexados minutos antes de la falla zonal, pueden no estar disponibles en la Búsqueda l (los datos subyacentes, que se usan como fuente de información, no se ven afectados). En la configuración regional, si una región completa en la que se encuentra el servicio experimenta una interrupción, el servicio no estará disponible hasta que la región vuelva a estar en línea. En el caso imprevisto de una destrucción física de una región completa, los datos almacenados en esa región se perderán.

Configuración multirregional: en su configuración multirregional, la API de Cloud Healthcare se implementa en tres zonas que pertenecen a tres regiones diferentes. Los datos también se replican en tres regiones. Esto protege contra la pérdida del servicio en caso de una interrupción en toda la región, ya que las regiones restantes tomarán el control automáticamente (la misma excepción para la funcionalidad de Búsqueda se aplica a la configuración regional). Si bien los datos estructurados, como FHIR, se replican de forma síncrona en varias regiones y, como tal, están protegidos contra la pérdida de datos en caso de una interrupción en toda la región, los datos que se almacenan en depósitos de Google Storage, como DICOM y Dictation u objetos grandes HL7v2/FHIR, se replican de manera asíncrona en varias regiones. Esto significa que, en el caso de una destrucción física de una región, es posible que se pierdan algunos datos escritos en las últimas 48 horas.

Cloud Bigtable

Cloud Bigtable es un servicio de base de datos NoSQL de alto rendimiento completamente administrado para grandes cargas de trabajo estadísticas y operativas.

Descripción general de la replicación de Bigtable

Bigtable ofrece una función de replicación flexible y completamente configurable que puedes usar para aumentar la disponibilidad y la durabilidad de los datos si los copias en clústeres desde varias regiones o varias zonas dentro de la misma región. Bigtable también puede proporcionar una conmutación por error automática para tus solicitudes cuando usas la replicación.

Cuando se usan configuraciones multizonales o multirregionales con el enrutamiento de varios clústeres, en el caso de una interrupción zonal o regional, Bigtable redirige automáticamente el tráfico y entrega solicitudes desde el clúster disponible más cercano. Debido a que la replicación de Bigtable es asíncrona y tiene coherencia eventual, los cambios muy recientes en los datos en la ubicación de la interrupción podrían no estar disponibles si aún no se replicaron en otras ubicaciones.

Consideraciones de rendimiento

Cuando las demandas de recursos de CPU superan la capacidad del nodo disponible, Bigtable siempre prioriza la entrega de solicitudes entrantes antes que el tráfico de replicación.

Si quieres obtener más información sobre cómo usar la replicación de Bigtable con tu carga de trabajo, consulta la descripción general de la replicación de Cloud Bigtable y los ejemplos de configuración de replicación.

Los nodos de Bigtable se usan para entregar solicitudes entrantes y realizar la replicación de datos de otros clústeres. Además de mantener cantidades suficientes de nodos por clúster, también debes asegurarte de que tus aplicaciones usen un diseño de esquema adecuado para evitar hotspots, que puede causar un uso de CPU excesivo o desequilibrado y mayor latencia de replicación.

Si deseas obtener más información sobre cómo diseñar el esquema de tu aplicación para maximizar el rendimiento y la eficiencia de Bigtable, consulta Prácticas recomendadas para el diseño de esquemas.

Supervisión

Cloud Bigtable proporciona varias formas de supervisar de forma visual la latencia de replicación de tus instancias y clústeres mediante los gráficos para la replicación disponibles en la consola de Google Cloud.

También puedes supervisar las métricas de replicación de Bigtable de manera programática mediante la API de Cloud Monitoring.

Firestore

Firestore es una base de datos flexible y escalable para el desarrollo en servidores, dispositivos móviles y la Web desde Firebase y Google Cloud. Firestore ofrece replicación automática de datos multirregión, garantías de coherencia sólida, operaciones atómicas por lotes y transacciones ACID.

Firestore ofrece a los clientes ubicaciones únicas de región única y multirregionales. Las cargas del tráfico se balancean automáticamente entre las zonas de una región.

Las instancias regionales de Firestore replican los datos en al menos tres zonas de forma síncrona. En el caso de una falla zonal, las dos réplicas (o más) restantes aún pueden confirmar las escrituras, y los datos confirmados se conservan. El tráfico se enruta de forma automática a otras zonas. Una ubicación regional ofrece costos más bajos, latencia de escritura más baja y ubicación conjunta con otros recursos de Google Cloud.

Las instancias multirregionales de Firestore replican los datos de forma síncrona en cinco zonas de tres regiones (dos regiones de entrega y una región testigo) y tienen solidez ante fallas zonales y regionales. En el caso de una falla zonal o regional, los datos confirmados se conservan. El tráfico se enruta de forma automática a las zonas o regiones de entrega, y las al menos tres zonas de las dos regiones restantes entregan las confirmaciones. Las multirregiones maximizan la disponibilidad y durabilidad de las bases de datos.

Servicio de transferencia de almacenamiento

El Servicio de transferencia de almacenamiento administra las transferencias de datos de varias fuentes en la nube a Cloud Storage, así como a los sistemas de archivos, y desde ellos.

La API del Servicio de transferencia de almacenamiento es un recurso global.

El Servicio de transferencia de almacenamiento depende de la disponibilidad del origen y el destino de una transferencia. Si una fuente o un destino de transferencia no están disponibles, las transferencias dejan de avanzar. Sin embargo, no se pierden los datos principales del cliente ni los datos de los trabajos. Las transferencias se reanudan cuando el origen y el destino vuelven a estar disponibles.

Puedes usar el Servicio de transferencia de almacenamiento con o sin un agente de la siguiente manera:

  • Las transferencias sin agentes usan trabajadores regionales para organizar los trabajos de transferencia.

  • Las transferencias basadas en agentes usan agentes de software instalados en tu infraestructura. Las transferencias basadas en agentes dependen de la disponibilidad de los agentes de transferencia y de la capacidad de los agentes para conectarse al sistema de archivos. Cuando decidas dónde instalar los agentes de transferencia, ten en cuenta la disponibilidad del sistema de archivos. Por ejemplo, si ejecutas agentes de transferencia en varias VMs de Compute Engine para transferir datos a una instancia de Filestore de nivel empresarial (un recurso regional), debes considerar ubicar las VMs en diferentes zonas dentro de la región de la instancia de Filestore.

    Si los agentes no están disponibles o si se interrumpe su conexión con el sistema de archivos, las transferencias dejan de avanzar, pero no se pierde ningún dato. Si se finalizan todos los procesos del agente, el trabajo de transferencia se detiene hasta que se agreguen agentes nuevos al grupo de agentes de la transferencia.

Durante una interrupción, el comportamiento del Servicio de transferencia de almacenamiento es el siguiente:

  • Interrupción zonal: Durante una interrupción zonal, las API del Servicio de transferencia de almacenamiento permanecen disponibles y puedes continuar creando trabajos de transferencia. Los datos se siguen transfiriendo.

  • Interrupción regional: Durante una interrupción regional, las APIs del Servicio de transferencia de almacenamiento permanecen disponibles y puedes continuar creando trabajos de transferencia. Si los trabajadores de tu transferencia se encuentran en la región afectada, la transferencia de datos se detiene hasta que la región vuelva a estar disponible y se reanuda de forma automática.

Identity and Access Management

Identity and Access Management (IAM) es responsable de todas las decisiones de autorización para las acciones en los recursos en la nube. IAM confirma que una política otorga permiso para cada acción (en el plano de datos) y procesa las actualizaciones de esas políticas a través de una llamada SetPolicy (en el plano de control).

Todas las políticas de IAM se replican en varias zonas dentro de cada región, lo que ayuda a las operaciones del plano de datos de IAM a recuperarse de fallas de otras regiones y tolerar fallas de zonas dentro de cada región. La resiliencia del plano de datos de IAM frente a fallas de zona y de región habilita las arquitecturas multirregionales y multizona para la alta disponibilidad.

Las operaciones del plano de control de IAM pueden depender de la replicación entre regiones. Cuando las llamadas SetPolicy se realizan de forma correcta, los datos se escriben en varias regiones, pero la propagación a otras regiones tiene coherencia eventual. El plano de control de IAM es resistente a la falla de una sola región.

Looker Studio

Looker Studio es un producto de inteligencia empresarial y visualización de datos. Permite a los clientes conectarse a sus datos almacenados en otros sistemas, crear informes y paneles con esos datos, y compartir los informes y paneles en toda su organización. Looker Studio es un servicio global y no permite a los usuarios seleccionar un alcance de recurso.

En el caso de una interrupción zonal, Looker Studio continúa entregando solicitudes desde otra zona en la misma región o en una región diferente sin interrupción. Los recursos de usuario se replican de forma síncrona en todas las regiones. Por lo tanto, no hay pérdida de datos.

En el caso de una interrupción regional, Looker Studio continúa entregando solicitudes desde otra región sin interrupciones. Los recursos de usuario se replican de forma síncrona en todas las regiones. Por lo tanto, no hay pérdida de datos.

Memorystore para Memcached

Memorystore para Memcached es la oferta de Memcached administrado de Google Cloud. Memorystore para Memcached permite que los clientes creen clústeres de Memcached que se pueden usar como bases de datos clave-valor de alta capacidad de procesamiento para aplicaciones.

Los clústeres de Memcached son regionales, con nodos distribuidos en todas las zonas que especifica el cliente. Sin embargo, Memcached no replica ningún dato en los nodos. Por lo tanto, una falla zonal puede provocar una pérdida de datos, también descrita como limpieza parcial de caché. Las instancias de Memcached seguirán funcionando, pero tendrán menos nodos. El servicio no iniciará nodos nuevos durante una falla zonal. Los nodos de Memcached en las zonas no afectadas seguirán entregando tráfico, aunque la falla zonal dará como resultado una tasa de aciertos de caché más baja hasta que se recupere la zona.

En caso de una falla regional, los nodos de Memcached no entregan tráfico. En ese caso, los datos se pierden, lo que da como resultado una limpieza de caché completa. A fin de mitigar una interrupción regional, puedes implementar una arquitectura que implemente la aplicación y Memorystore para Memcached en varias regiones.

Cloud Asset Inventory

Cloud Asset Inventory es un servicio global, resiliente y de alto rendimiento que mantiene un repositorio de los recursos de Google Cloud y los metadatos de las políticas. Cloud Asset Inventory proporciona herramientas de búsqueda y análisis que te ayudan a realizar un seguimiento de los elementos implementados en organizaciones, carpetas y proyectos.

En el caso de una interrupción zonal, Cloud Asset Inventory continúa entregando solicitudes desde otra zona en la misma región o en una diferente.

En el caso de una interrupción regional, Cloud Asset Inventory continúa entregando solicitudes desde otras regiones.

Verificación de extremos

La verificación de extremos permite a los administradores y profesionales de operaciones de seguridad crear un inventario de dispositivos que acceden a los datos de una organización. Endpoint Verification también proporciona confianza crítica del dispositivo y control de acceso basado en la seguridad como parte de la solución de BeyondCorp Enterprise.

Usa la Endpoint Verification cuando quieras una descripción general de la postura de seguridad de los dispositivos laptop y de escritorio de tu organización. Cuando Endpoint Verification se vincula con las ofertas de BeyondCorp Enterprise, Endpoint Verification ayuda a aplicar un control de acceso detallado en tus recursos de Google Cloud.

La verificación de extremos está disponible para Google Cloud, Cloud Identity, Google Workspace Business y Google Workspace Enterprise.

Cloud Translation

Cloud Translation tiene servidores de procesamiento activos en varias zonas y regiones. También admite la replicación síncrona de datos entre zonas dentro de las regiones. Estas características ayudan a Translation a lograr una conmutación por error instantánea sin perder datos para fallas zonales y sin la necesidad de entradas o ajustes de clientes. En el caso de una falla regional, Cloud Translation no estará disponible.

Cloud Router

Cloud Router es un servicio Google Cloud totalmente distribuido y administrado que usa el Protocolo de Puerta de Enlace Fronteriza (BGP) para anunciar rangos de direcciones IP. Programa rutas dinámicas personalizadas en función de los anuncios de BGP que recibe de un par. En lugar de un dispositivo o dispositivo físico, cada Cloud Router consta de tareas de software que actúan como interlocutores y respuestas de BGP.

En el caso de una interrupción zonal, Cloud Router con una configuración de alta disponibilidad (HA) es resistente a las fallas zonales. En ese caso, una interfaz podría perder conectividad, pero el tráfico se redirecciona a la otra a través del enrutamiento dinámico mediante el protocolo de puerta de enlace fronteriza (BGP).

En el caso de una interrupción regional, Cloud Router es un producto regional, por lo que no puede resistir una falla regional. Si los clientes habilitaron el modo de enrutamiento global, el enrutamiento entre la región con errores y otras regiones podría verse afectado.

Cloud Build

Cloud Build es un servicio que ejecuta tus compilaciones en Google Cloud.

Cloud Build está compuesto por instancias regionalmente aisladas que replican datos de forma síncrona en todas las zonas de la región. Te recomendamos que uses regiones específicas de Google Cloud en lugar de la región global y te asegures de que los recursos que usa tu compilación (incluidos los buckets de registros, los repositorios de Artifact Registry, etcétera) estén alineados con la región en el que se ejecuta tu compilación.

En el caso de una interrupción zonal, las operaciones del plano de control no se ven afectadas. Sin embargo, actualmente la ejecución de compilaciones dentro de la zona con errores se retrasará o se perderá de forma permanente. Las compilaciones activadas recientemente se distribuirán de forma automática a las zonas de funcionamiento restantes.

En el caso de una falla regional, el plano de control estará sin conexión y, por el momento, las compilaciones en ejecución se retrasarán o se perderán de forma permanente. Los activadores, los grupos de trabajadores y los datos de compilación nunca se replican en las regiones. Te recomendamos que prepares activadores y grupos de trabajadores en varias regiones para facilitar la mitigación de una interrupción.

Cloud Source Repositories

Cloud Source Repositories permite a los usuarios crear y administrar repositorios de código fuente privados. Este producto está diseñado con un modelo global, por lo que no necesitas configurarlo para la resiliencia regional o zonal.

En cambio, las operaciones git push en Cloud Source Repositories replican de forma síncrona la actualización del repositorio de código fuente en varias zonas en varias regiones. Esto significa que el servicio es resistente a las interrupciones en cualquier región.

Si una zona o una región en particular experimenta una interrupción, el tráfico se distribuye de manera automática a otras zonas o regiones.

La función para duplicar de forma automática los repositorios de GitHub o Bitbucket puede verse afectada por los problemas de esos productos. Por ejemplo, la duplicación se ve afectada si GitHub o Bitbucket no pueden alertar a Cloud Source Repositories de confirmaciones nuevas o si Cloud Source Repositories no puede recuperar contenido del repositorio actualizado.

Cloud Shell

Cloud Shell proporciona a los usuarios de Google Cloud acceso a instancias de Compute Engine de un solo usuario, preconfiguradas para tareas de integración, educación, desarrollo y operadores.

Cloud Shell no es adecuado para ejecutar cargas de trabajo de aplicaciones y, en su lugar, está diseñado para casos de uso de desarrollo interactivo y educación. Tiene límites de cuota de entorno de ejecución por usuario, se cierra automáticamente después de un corto período de inactividad y solo el usuario asignado puede acceder a la instancia.

Las instancias de Compute Engine que respaldan el servicio son recursos zonales, por lo que, en caso de una interrupción zonal, Cloud Shell del usuario no está disponible.

Access Context Manager

Access Context Manager permite a las empresas configurar niveles de acceso que se asignan a una política que se define en los atributos de la solicitud. Las políticas se duplican de forma regional.

En el caso de una interrupción zonal, las solicitudes a zonas no disponibles se entregan de forma automática y transparente desde otras zonas disponibles en la región.

En el caso de una interrupción regional, los cálculos de políticas de la región afectada no estarán disponibles hasta que la región vuelva a estar disponible.

Identity-Aware Proxy

Identity-Aware Proxy proporciona acceso a aplicaciones alojadas en Google Cloud, en otras nubes y de forma local. IAP se distribuye de forma regional, y las solicitudes a zonas no disponibles se entregan de forma automática desde otras zonas disponibles en la región.

Las interrupciones regionales en IAP afectan el acceso a las aplicaciones alojadas en la región afectada. Te recomendamos que implementes en varias regiones y uses Cloud Load Balancing para lograr una mayor disponibilidad y resiliencia contra interrupciones regionales.

Vertex AI Training

Vertex AI Training proporciona a los usuarios la capacidad de ejecutar trabajos de entrenamiento personalizados en la infraestructura de Google. Vertex AI Training es una oferta regional, lo que significa que los clientes pueden elegir la región para ejecutar sus trabajos de entrenamiento. Sin embargo, los clientes no pueden elegir las zonas específicas dentro de esa región. El servicio de entrenamiento puede balancear las cargas de la ejecución del trabajo de manera automática en diferentes zonas dentro de la región.

Interrupción zonal: Vertex AI Training almacena metadatos para el trabajo de entrenamiento personalizado. Estos datos se almacenan de forma regional y se escriben de forma síncrona. La llamada a la API de Vertex AI Training solo se muestra una vez que los metadatos se confirman en un quórum dentro de una región. El trabajo de entrenamiento puede ejecutarse en una zona específica. Una interrupción zonal genera una falla en la ejecución del trabajo actual. Si es así, el servicio vuelve a enrutar el trabajo a otra zona de forma automática. Si varios reintentos fallan, el estado del trabajo se actualiza a un error. Las solicitudes de usuario posteriores para ejecutar el trabajo se enrutan a una zona disponible.

Interrupción regional: Los clientes eligen la región de Google Cloud en la que desean ejecutar sus trabajos de entrenamiento. Los datos nunca se replican en otras regiones. Vertex AI Training define el alcance de la ejecución del trabajo a la región solicitada y nunca enruta los trabajos de entrenamiento a una región diferente. En el caso de una falla regional, el servicio de entrenamiento de Vertex AI no está disponible en esa región y vuelve a estar disponible cuando se resuelve la interrupción. Recomendamos que los clientes usen varias regiones para ejecutar sus trabajos y, en caso de una interrupción regional, dirigir los trabajos a una región diferente disponible.