Moderniza y consolida AWS RDS para MySQL y MongoDB Atlas en Oracle Autonomous Database

Descubra cómo un cliente ha sustituido una arquitectura compleja de varias bases de datos en Amazon Web Service (AWS) que utilizaba MySQL y MongoDB Atlas por una única instancia de Autonomous Database convergente.

La migración de base de datos se realizó mediante Oracle Cloud Infrastructure GoldenGate. Oracle Cloud Infrastructure GoldenGate es un servicio en la nube nativo totalmente gestionado que mueve datos a escala en tiempo real. La migración también conservó un gran porcentaje del código de aplicación mediante la API de Oracle Database para MongoDB.

La arquitectura heredada desplegada en AWS era un flujo de trabajo complejo de procesamiento de datos que consistía en un AWS RDS MySQL Database gestionado y MongoDB Atlas para garantizar la coherencia y precisión de los datos, al tiempo que proporcionaba la información en un formato JSON flexible a sus clientes.

En el siguiente diagrama se ilustra el flujo de datos heredado:



aws-rds-oci-adw-flow1-oracle.zip

Se combinaron varios sistemas fragmentados, lo que aumentó la complejidad de la carga, transformación y sincronización de datos. La arquitectura heredada no solo era compleja, sino que también desperdiciaba recursos y era propensa a errores. La complejidad del sistema:

  • Aumento de las posibilidades de errores de procesamiento de datos, lo que reduce la calidad de los datos y la precisión de menos del 100 %
  • Aumento de los tiempos de procesamiento, lo que lleva a un tiempo de producción subóptimo
  • Aumento de la sobrecarga operativa, pérdida de tiempo y recursos en la resolución de problemas y la depuración

Arquitectura

La base de datos de producción se migra de Amazon RDS para MySQL y MongoDB Atlas en AWS a Oracle Autonomous Database desplegado en la región Este de EE. UU. de Oracle Cloud Infrastructure (OCI) mediante OCI GoldenGate aprovisionado en la misma región y red virtual en la nube (VCN).

La replicación unidireccional entre las dos nubes se utiliza solo para la migración.

Las aplicaciones se despliegan en AWS US-East (Ashburn). Después de la migración, el nivel de aplicación también se migra a una instancia informática de OCI. Oracle Cloud Infrastructure FastConnect y un partner de OCI FastConnect proporcionan conectividad dedicada para conectar bases de datos que se ejecutan en AWS a OCI GoldenGate. Para obtener un enlace a una lista de partners FastConnect de OCI por región, consulte la sección Más información.

Los pasos de migración y consolidación de alto nivel son los siguientes:

  1. Prepare las bases de datos MySQL y MongoDB para la replicación mediante OCI GoldenGate.
  2. Aprovisione dos despliegues GoldenGate de OCI para ejecutar extracciones: despliegue MySQL para la base de datos MySQL y despliegue de Big Data para MongoDB.
  3. Cree conexiones de OCI GoldenGate a MySQL y MongoDB.
  4. En el despliegue de Oracle de destino, cree un despliegue GoldenGate de OCI para replicar datos en Oracle Autonomous Database.
  5. Cree una conexión de OCI GoldenGate a Oracle Autonomous Database.
  6. Asignación de conexiones a los respectivos despliegues.
  7. Cree una extracción de carga inicial para los despliegues MySQL y MongoDB.
  8. Cree procesos de servicio de distribución para enviar los datos de los despliegues MySQL y MongoDB de origen al despliegue de Oracle de destino.
  9. Cree un proceso de replicación en el despliegue de Oracle de destino para replicar los datos de carga inicial.
  10. Cree una extracción de captura de datos de cambio para los despliegues MySQL y MongoDB.
  11. Cree un proceso de replicación de captura de datos de cambio en el despliegue de Oracle de destino para replicar datos.
  12. Replicar la aplicación de AWS EC2 a la máquina virtual de OCI.
  13. Conecte la aplicación en OCI a Oracle Autonomous Database.
  14. Desconecte y desactive las aplicaciones y bases de datos en AWS.

Con capacidades de base de datos convergente que admiten requisitos relacionales y de almacenamiento de documentos en una sola base de datos, Oracle Autonomous Database que se ejecuta en OCI proporciona la plataforma principal para lograr los objetivos del cliente. Oracle Autonomous Database les permite almacenar los datos no procesados tal cual en su formato relacional con integridad de datos forzada. Los datos de las aplicaciones de usuario final se devuelven en el formato JSON necesario en milisegundos. Los datos están disponibles fácilmente a través de SQL y JSON y a través de la API de Oracle Database para MongoDB, sin ningún procesamiento adicional.

En el siguiente diagrama se ilustra la arquitectura:



aws-rds-oci-adw-arch-oracle.zip

En esta arquitectura, OCI GoldenGate y Oracle Autonomous Database se aprovisionan en OCI y facilitan la replicación unidireccional desde AWS RDS para MySQL.

Con OCI GoldenGate, también puedes diseñar, ejecutar, organizar y supervisar tareas de replicación de datos y análisis de transmisión sin tener que asignar ni gestionar ningún entorno informático. OCI GoldenGate no es necesario para ejecutar la aplicación y la base de datos una vez finalizada la migración y se puede eliminar.

La consolidación de la arquitectura de base de datos anterior en una única instancia de Oracle Autonomous Database que se ejecuta en OCI elimina la necesidad de operar una arquitectura compleja con varias bases de datos de un solo propósito y procesos complejos y sincronizados de extracción, transformación y carga (ETL) entre estas dos bases de datos, y reduce el tiempo de procesamiento al tiempo que aumenta la calidad y precisión de los datos.

En el siguiente diagrama se ilustra el flujo de datos actual:



aws-rds-oci-adw-flow2-oracle.zip

El cliente ha obtenido los siguientes beneficios empresariales inmediatos:

  • Tiempo de producción del proyecto un 15 % más rápido y mejor calidad para ofrecer una mayor satisfacción del cliente
  • Aumento del rendimiento de las aplicaciones mediante una arquitectura más sencilla y capacidades de Oracle Autonomous Database
  • Ahorro de costos operativos del 10% gracias a una menor infraestructura y una gestión reducida de aplicaciones y bases de datos
  • Aumento de la productividad de los desarrolladores para centrarse en la innovación en lugar de en solucionar problemas

La arquitectura tiene los siguientes componentes:

  • Arrendamiento

    Un arrendamiento es una partición segura y aislada que Oracle configura en Oracle Cloud al registrarse en Oracle Cloud Infrastructure. Puede crear, organizar y administrar sus recursos en Oracle Cloud dentro de su arrendamiento. Un arrendamiento es sinónimo de una compañía u organización. Normalmente, una compañía tendrá un único arrendamiento y reflejará su estructura organizativa dentro de ese arrendamiento. Un único arrendamiento suele estar asociado a una única suscripción, y una única suscripción normalmente solo tiene un arrendamiento.

  • Región

    Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlos (entre países e incluso continentes).

  • Dominio de disponibilidad

    Los dominios de disponibilidad son centros de datos independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los otros dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como la alimentación o la refrigeración, ni la red interna del dominio de disponibilidad. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.

  • Red y subredes virtuales en la nube (VCN)

    Una VCN es una red personalizable y definida por software que se configura en una región de Oracle Cloud Infrastructure. Al igual que las redes de los centros de datos tradicionales, las redes virtuales le proporcionan un control completo de su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • Tabla de rutas

    Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de una VCN, normalmente a través de gateways.

  • Lista de seguridad

    Para cada subred, puede crear reglas de seguridad que especifiquen el origen, el destino y el tipo de tráfico que se debe permitir dentro y fuera de la subred.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect proporciona una forma sencilla de crear una conexión privada dedicada entre el centro de datos y Oracle Cloud Infrastructure. FastConnect proporciona opciones de mayor ancho de banda y una experiencia de red más fiable en comparación con las conexiones basadas en Internet.

  • Gateway de enrutamiento dinámico (DRG)

    El DRG es un enrutador virtual que proporciona una ruta para el tráfico de red privada entre las VCN de la misma región, entre una VCN y una red fuera de la región, como una VCN de otra región de Oracle Cloud Infrastructure, una red local o una red de otro proveedor de nube.

  • Gateway de servicio

    El gateway de servicio proporciona acceso desde una VCN a otros servicios, como Oracle Cloud Infrastructure Object Storage. El tráfico desde la VCN al servicio Oracle recorre el tejido de red de Oracle y no Internet.

  • Servicio de base

    Oracle Cloud Infrastructure Bastion proporciona acceso seguro restringido y limitado en el tiempo a recursos que no tienen puntos finales públicos y que requieren estrictos controles de acceso a recursos, como hardware dedicado y máquinas virtuales, Oracle MySQL Database Service, Autonomous Transaction Processing (ATP), Oracle Container Engine for Kubernetes (OKE) y cualquier otro recurso que permita el acceso al protocolo de shell seguro (SSH). Con el servicio Oracle Cloud Infrastructure Bastion, puede activar el acceso a hosts privados sin desplegar y mantener un host de salto. Además, obtendrá una estrategia de seguridad mejorada con permisos basados en identidad y una sesión SSH centralizada, auditada y con límite de tiempo. Oracle Cloud Infrastructure Bastion elimina la necesidad de una IP pública para el acceso bastión, lo que elimina los problemas y la posible superficie de ataque al proporcionar acceso remoto.

  • Compute

    El servicio Oracle Cloud Infrastructure Compute permite aprovisionar y gestionar hosts informáticos en la nube. Puede iniciar instancias informáticas con unidades que cumplan los requisitos de recursos de CPU, memoria, ancho de banda de red y almacenamiento. Después de crear una instancia informática, puede acceder a ella de forma segura, reiniciarla, asociar y desconectar volúmenes y terminarla cuando ya no la necesite.

  • Object Storage

    Object Storage proporciona acceso rápido a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad de base de datos, datos analíticos y contenido rico como imágenes y vídeos. Puede almacenar datos de forma segura y, a continuación, recuperarlos directamente desde Internet o desde la plataforma en la nube. Puede ampliar el almacenamiento sin problemas sin experimentar ninguna degradación del rendimiento ni de la fiabilidad del servicio. Utilice el almacenamiento estándar para el almacenamiento de acceso directo al que debe acceder de forma rápida, inmediata y frecuente. Utilice el almacenamiento de archivo para el almacenamiento "frío" que conserva durante largos períodos de tiempo y al que rara vez accede.

  • Identity and Access Management (IAM)

    Oracle Cloud Infrastructure Identity and Access Management (IAM) es el plano de control de acceso para Oracle Cloud Infrastructure (OCI) y Oracle Cloud Applications. La API de IAM y la interfaz de usuario permiten gestionar los dominios de identidad y los recursos del dominio de identidad. Cada dominio de identidad de OCI IAM representa una solución de gestión de identidad y acceso independiente o una población de usuarios diferente.

  • Logging
    El registro es un servicio altamente escalable y totalmente gestionado que proporciona acceso a los siguientes tipos de logs desde sus recursos en la nube:
    • Logs de auditoría: logs relacionados con eventos emitidos por el servicio Audit.
    • Logs de servicios: logs emitidos por servicios individuales como API Gateway, eventos, funciones, equilibrio de carga, almacenamiento de objetos y logs de flujo de VCN.
    • Logs personalizados: logs que contienen información de diagnóstico de aplicaciones personalizadas, otros proveedores de nube o un entorno local.
  • Monitoring

    El servicio Oracle Cloud Infrastructure Monitoring supervisa de forma activa y pasiva los recursos en la nube mediante métricas para supervisar los recursos y las alarmas a fin de notificarle cuando estas métricas cumplan los disparadores especificados por la alarma.

  • Cloud Guard

    Puede utilizar Oracle Cloud Guard para supervisar y mantener la seguridad de los recursos en Oracle Cloud Infrastructure. Cloud Guard utiliza recetas de detector que puede definir para examinar los recursos en busca de debilidades de seguridad y para supervisar a los operadores y usuarios en busca de actividades de riesgo. Cuando se detecta cualquier actividad no segura o de configuración incorrecta, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, según las recetas de responsable de respuesta que pueda definir.

  • Data Integration

    Oracle Cloud Infrastructure GoldenGate es un servicio totalmente gestionado que permite la ingestión de datos de orígenes que residen en entornos locales o en cualquier nube, aprovechando la tecnología CDC GoldenGate para una captura de datos y entrega no intrusiva y eficiente a Oracle Autonomous Data Warehouse en tiempo real y a escala con el fin de que la información relevante esté disponible para los consumidores lo antes posible.

  • AWS RDS for MySQL

    Relational Database Service (RDS) para MySQL es una oferta MySQL totalmente gestionada de Amazon Web Services (AWS).

  • Autonomous Transaction Processing

    Oracle Autonomous Transaction Processing es un servicio de base de datos de autogestión, autoseguridad y autorreparación que se optimiza para las cargas de trabajo de procesamiento de transacciones. No necesita configurar ni gestionar ningún hardware, ni instalar ningún software. Oracle Cloud Infrastructure gestiona la creación de la base de datos, así como la copia de seguridad, la aplicación de parches, el cambio de versión y el ajuste de la base de datos.

Recomendaciones

Utilice las siguientes recomendaciones como punto de partida. Los requisitos pueden diferir de la arquitectura que se describe aquí.

  • Seleccionar ubicación de interconexión

    Esta arquitectura requiere una o más ubicaciones geográficas para sus componentes: la región de OCI y el nodo perimetral FastConnect de OCI asociado, y la región de AWS y el nodo perimetral asociado de AWS Direct Connect. Para lograr la latencia óptima de extremo a extremo, le recomendamos que seleccione una ubicación que tenga cada uno de estos elementos arquitectónicos muy cerca.

  • Aprovisionamiento

    Para una instancia de Oracle Database en un punto final privado, configure la VCN para permitir el tráfico solo desde la VCN especificada. Esto bloquea el acceso a la base de datos desde todas las IP públicas o las VCN. Seleccione bloques de CIDR que no se solapen con ninguna otra red (en Oracle Cloud Infrastructure, su centro de datos local u otro proveedor en la nube) en la que desee configurar conexiones privadas.

  • Diseño de aplicaciones

    Al utilizar la replicación activa-activa, las zonas horarias deben ser las mismas en ambos sistemas de base de datos para que la detección y resolución de conflictos basada en registro de hora puedan funcionar de manera eficaz.

  • Unidad de datos

    Al utilizar la replicación activo-activo, defina un rango único en secuencias para facilitar la identificación y evitar conflictos. Los procedimientos de resolución de conflictos se deben implementar en todos los sistemas en una configuración activa-activa. Los conflictos deben ser identificados inmediatamente y manejados con la mayor automatización posible.

Consideraciones

Al implantar un despliegue de pila dividida, tenga en cuenta estas opciones.

  • Red

    Con una solución multinube, las redes son un determinante clave del rendimiento general del sistema. Es responsabilidad del cliente asegurarse de que la red de nube a nube (ancho de banda y latencia) esté completamente probada para garantizar que el rendimiento de la aplicación cumpla con los requisitos de negocio definidos.

  • Costo

    La escala automática de CPU de Oracle permite a la base de datos ajustar automáticamente sus recursos informáticos (CPU y memoria) en función de las demandas de carga de trabajo. Durante las cargas de trabajo máximas, Oracle Autonomous Transaction Processing (ATP) puede asignar más recursos para garantizar un rendimiento óptimo y, durante períodos de menor demanda, puede reducirse para ahorrar costos. Esta flexibilidad resulta especialmente útil para manejar cargas de trabajo fluctuantes de forma eficiente y rentable.

  • Estrategia de resolución de conflictos

    Defina una estrategia clara de resolución de conflictos en la aplicación. Cuando se detectan cambios en conflicto, la aplicación debe programarse para manejarlos según reglas predefinidas. Estas reglas pueden priorizar los cambios de un origen sobre otro o fusionar cambios en conflicto en función de criterios específicos.

Confirmaciones

  • Authors: Vivek Verma
  • Contributors: Wei Han, Robert Lies