En este documento, se describe una arquitectura para migrar de orígenes compatibles con Redis, como Redis Open Source (Redis OSS), AWS ElastiCache y Azure Cache for Redis, a Redis Enterprise Cloud completamente administrado en Google Cloud mediante el servicio Redis Input and Output Tool (RIOT) Live Migration. Este documento está dirigido a ingenieros, arquitectos y administradores de bases de datos que deseen migrar de orígenes compatibles con Redis a Redis Enterprise Cloud completamente administrado.
Redis Enterprise Cloud es una solución de Redis de nivel empresarial completamente administrada que puede ayudarte a brindar asistencia con tus aplicaciones esenciales. En comparación con los orígenes compatibles con Redis, proporciona escalabilidad, disponibilidad, seguridad y eficiencia operativa mejoradas. Mediante RIOT, una utilidad de línea de comandos gratuita, puedes migrar tus datos de Redis a Redis Enterprise Cloud sin interrupciones del servicio ni tiempo de inactividad.
Arquitectura
En el siguiente diagrama, se muestra la arquitectura de migración:
En el diagrama, el servicio de RIOT Live Migration se usa para migrar orígenes compatibles con Redis a Redis Enterprise Cloud.
La arquitectura tiene los siguientes componentes:
- Origen: Orígenes compatibles con Redis, como Redis OSS, AWS ElastiCache y Azure Redis.
- Destino: Redis Enterprise Cloud que se ejecuta en una VPC administrada de Redis.
- Servicio de migración: RIOT que se ejecuta en máquinas virtuales (VM) de Compute Engine.
Productos usados
En esta arquitectura de referencia, se usan los siguientes productos de Google Cloud y de terceros:
- Compute Engine: Un servicio de procesamiento seguro y personalizable que te permite crear y ejecutar VMs en la infraestructura de Google.
- RIOT Live Migration: Una utilidad de línea de comandos gratuita que está diseñada para ayudarte a ingresar y extraer datos en Redis.
- Redis Enterprise Cloud en Google Cloud: Una solución de Redis de nivel empresarial completamente administrada que puede ayudarte a proporcionar asistencia para las aplicaciones esenciales.
Caso de uso
Redis ofrece latencia inferior a un milisegundo, compatibilidad avanzada con la estructura de datos, resiliencia y portabilidad de código abierto. Sin embargo, puede ser difícil escalar orígenes autoadministrados compatibles con Redis para satisfacer las exigentes cargas de trabajo de las empresas y, al mismo tiempo, mantener latencias ultrabajas. Cuando superas la implementación del clúster de Redis autoadministrada, es posible que tengas dificultades para escalar. Diseñar una solución con alta disponibilidad y administrar la replicación es lento y propenso a errores. El escalamiento también presenta desafíos logísticos y costos asociados con la administración, la aplicación de parches y las actualizaciones del hardware.
Para ayudarte a resolver estos desafíos, Redis Enterprise Cloud se integra por completo a Google Cloud a fin de proporcionar un servicio de base de datos en tiempo real para ejecutar, escalar y administrar Redis. Redis Enterprise Cloud ofrece seguridad y funcionalidad completamente de nivel empresarial y de núcleo de código abierto, rendimiento líder en el mercado, y la escalabilidad y la disponibilidad que las aplicaciones fundamentales para la empresa requieren. Redis Enterprise Cloud ofrece latencia inferior a un milisegundo, conmutación por error de segundos de un solo dígito y tiempo de actividad de cinco nueves.
Alternativas de diseño
RIOT proporciona una solución de migración flexible dentro y fuera de Redis. En las siguientes secciones, se presentan posibles alternativas de diseño para esta arquitectura. Las alternativas generan tiempo de inactividad o requieren que la base de datos de destino esté en una suscripción flexible (o anual) de Redis.
Instantáneas de RDB
La instantánea de la base de datos de Redis (RDB) es una forma de conservar tus datos en Redis en un almacenamiento duradero. Realiza instantáneas de un momento determinado del conjunto de datos y, por lo general, se usa para crear copias de seguridad de los datos en Redis. Como alternativa al uso de RIOT para realizar la migración, puedes usar la instantánea de RDB a fin de migrar de una instancia de Redis OSS a Redis Enterprise. Sin embargo, a diferencia de RIOT, la instantánea de RDB no admite la migración en vivo y generará tiempo de inactividad.
Sincroniza con activo-pasivo
Puedes usar el comando ReplicaOf
de Redis OSS para configurar una instancia de Redis como una réplica de otro servidor de Redis. El comando se usa en el contexto de la replicación de Redis, lo que te permite crear copias de tus datos en diferentes instancias de Redis. Al igual que RIOT, el comando ReplicaOf
admite la migración en vivo y genera cero tiempo de inactividad, pero el comando está integrado en Redis OSS, por lo que no necesitas instalar ninguna herramienta.
La distribución geográfica activa-pasiva de Redis Enterprise usa el comando ReplicaOf
para escalar una implementación de Redis en varias ubicaciones geográficas. Si la base de datos de destino está en una suscripción flexible (o anual), el comando también se puede usar para migrar datos de una base de datos de Redis a suscripciones de Redis Enterprise Cloud. Sin embargo, el comando no funciona si el destino es una suscripción fija y no funciona entre suscripciones flexibles de diferentes cuentas de Redis Cloud.
Consideraciones del diseño
Los siguientes lineamientos pueden ayudarte a desarrollar una arquitectura que satisfaga los requisitos de tu organización respecto a la confiabilidad y el rendimiento.
Confiabilidad
La migración que se describe en esta arquitectura es unidireccional desde una instancia de Redis OSS de origen a una instancia de Redis Enterprise de destino. Después de completar una migración de sistemas desde Redis OSS de origen al clúster de Redis Enterprise de destino, no se actualiza el origen con los cambios en el clúster de destino. Por lo tanto, si implementas esta arquitectura en un entorno de producción, no podrás cambiar tus aplicaciones a instancias de origen actualizadas en un resguardo.
Optimización de costos
Cuando migres instancias de Redis OSS a Redis Enterprise, te recomendamos que agrupes las bases de datos de destino de Redis Enterprise en suscripciones para que puedas reducir el costo total de propiedad mediante el uso de múltiples usuarios. Por ejemplo, si tienes un grupo de bases de datos diseñadas para el desarrollo y las pruebas, puedes agruparlas en una sola suscripción, ya que comparten características comunes y requisitos de red. Del mismo modo, un grupo de bases de datos para producción se puede alojar en una suscripción diferente.
Rendimiento
RIOT Live Migration admite un tiempo de inactividad casi nulo. Durante la migración desde la instancia de Redis OSS de origen, tus aplicaciones aún pueden acceder a la instancia de Redis OSS de origen sin ningún impacto. Durante el proceso de migración, después de la carga inicial de datos de Redis OSS, RIOT Live Migration continúa migrando cambios de Rediss OSS a medida que se producen.
Después de migrar los datos de los pares clave-valor iniciales, realiza la migración de sistemas desde la instancia de Rediss OSS de origen a la instancia de Redis Enterprise de destino. Como parte del proceso de migración de sistemas, suspendes las escrituras del cliente en la instancia de Rediss OSS de origen. Luego, espera a que RIOT procese los cambios restantes de la instancia de Redis OSS de origen a la instancia de Redis Enterprise de destino.
Deployment
Para implementar esta arquitectura, consulta Implementa RIOT Live Migration para migrar de Redis de código abierto a Redis Enterprise Cloud.
Próximos pasos
- Lee el contenido sobre migración de datos de Google Cloud.
- Para obtener documentación más detallada y prácticas recomendadas, consulta la documentación de RIOT.
- Para obtener más información sobre las arquitecturas de referencia, los diagramas y las prácticas recomendadas, explora Cloud Architecture Center.
Colaboradores
Autores:
- Saurabh Kumar | Ingeniero socio de ISV
- Gilbert Lau | Arquitecto principal de nube, Redis
Otros colaboradores:
- Chris Mague | Ingeniero de Atención al cliente, Administración de datos
- Gabe Weiss | Administrador de Developers Advocate
- Marco Ferrari | Arquitecto de soluciones de nube