Blog de Amazon Web Services (AWS)

Utilice la herramienta de compatibilidad para Amazon DocumentDB (con compatibilidad con MongoDB) para mejorar las migraciones

Por Tim Callaghan, arquitecto principal de soluciones de AWS
y Cody Allen, un arquitecto senior de soluciones de AWS
Amazon DocumentDB es un servicio de base de datos de documentos rápido, escalable, de alta disponibilidad y totalmente administrado que admite cargas de trabajo de MongoDB. Puede usar el mismo código de aplicación, controladores y herramientas de MongoDB 3.6, 4.0 y 5.0 para ejecutar, administrar y escalar cargas de trabajo en Amazon DocumentDB sin preocuparse por administrar la infraestructura subyacente. Como base de datos de documentos, Amazon DocumentDB facilita el almacenamiento, consulta e indexación de datos JSON.

Amazon DocumentDB se creó específicamente desde cero para ser nativo de la nube separando la computación y el almacenamiento. Puede aprovechar el almacenamiento distribuido rápidamente que crece automáticamente cuando es necesario; un volumen de clúster de Amazon DocumentDB puede crecer hasta un tamaño máximo de 128 TiB. Además, Amazon DocumentDB automatiza el agrupamiento (clustering) y la replicación de bases de datos, lo que ayuda a eliminar la necesidad de configuraciones y administraciones manuales. La sobrecarga de la preparación para fallas de instancia, configuración de copias de seguridad y planes de actualización se maneja por usted. Amazon DocumentDB promociona automáticamente una instancia de réplica en caso de que falle la instancia principal. Las copias de seguridad y restauraciones están completamente administradas y no es necesario crear planes de actualización complejos. Con Amazon DocumentDB, puede centrarse en desarrollar características e innovar para sus usuarios.

En esta publicación, presentamos las nuevas funcionalidades en Amazon DocumentDB y discutimos los beneficios de la herramienta de compatibilidad al migrar sus cargas de trabajo a Amazon DocumentDB.

Trabajando hacia atrás

En AWS, trabajamos hacia atrás (work backwards) desde las necesidades del cliente para crear nuevos productos y características; creemos que la innovación comienza ahí e inventamos en nombre de los clientes. Por ejemplo, recientemente agregamos las siguientes actualizaciones y características:

Hemos agregado más de 50 capacidades adicionales a Amazon DocumentDB desde su lanzamiento y continuaremos trabajando hacia atrás desde la perspectiva de nuestros clientes para ofrecer las capacidades que necesita.

Migrar a Amazon DocumentDB

Cuando considere trasladar su carga de trabajo a Amazon DocumentDB, es importante tener en cuenta las interfaces de programación de aplicaciones (Application Programming Interface, API), las operaciones y los tipos de datos de MongoDB compatibles. La compatibilidad de características no es un porcentaje; debe mirar las características que usa su aplicación y validar la compatibilidad. Auditar su carga de trabajo existente, ya sea la base de datos o el código de su aplicación directamente, lleva tiempo. Esto es necesario porque es fundamental verificar que su carga de trabajo seguirá funcionando y se consideren las diferencias funcionales. Se debe de probar su carga de trabajo con Amazon DocumentDB, para verificar una transición sin problemas al realizar la migración.

Para ayudar a agilizar y simplificar las comprobaciones de compatibilidad de su aplicación, el equipo de Amazon DocumentDB ha creado la herramienta de compatibilidad de Amazon DocumentDB, que examina sus archivos de registro del servidor autogestionado de MongoDB o el código fuente de sus aplicaciones que interactúan con el servidor de MongoDB, para verificar que su migración se realice sin problemas y pueda modificar su aplicación, donde esté aplique, para evitar operadores no compatibles.

Herramienta de compatibilidad

La herramienta de compatibilidad requiere uno (o ambos) de los siguientes elementos:

  • Acceso al código fuente de su aplicación
  • Registros de perfiles (profiling logs) del servidor de MongoDB, capturando la mayor cantidad posible de carga de trabajo de la aplicación

Puede descargar y ejecutar la herramienta de compatibilidad en minutos.

La herramienta de compatibilidad y los archivos de código fuente de ejemplo están disponibles en nuestro repositorio GitHub.

En este primer ejemplo, tenemos un script de Python llamado sample-python-1.py con 100% de compatibilidad con Amazon DocumentDB. Al ejecutar la herramienta de compatibilidad se obtiene el siguiente resultado:

$ python3 compat.py --file test/sample-python-1.py

processing file test/sample-python-1.py

Processed 1 files, skipped 0 files

No unsupported operators found

En este segundo ejemplo, nuestro script de Python contiene un operador no soportado y produce la siguiente salida:

$ python3 compat.py --file test/sample-python-2.py

processing file test/sample-python-2.py

Processed 1 files, skipped 0 files

The following 1 unsupported operators were found
$sortByCount | found 1 time(s)

Unsupported operators by filename and line number
$sortByCount | lines = found 1 time(s)
test/sample-python-2.py | lines = [29]

Cuando la herramienta de compatibilidad encuentra operadores no compatibles, muestra los archivos específicos y los números de línea de cada uno, lo que facilita la revisión del código específico e implementación de una solución alternativa.

Ambos ejemplos muestran la herramienta de compatibilidad analizando un solo archivo. Puede usar el parámetro --directory para analizar más archivos en un directorio y recursivamente directorios dentro del directorio. Otros argumentos opcionales de línea de comandos se muestran ejecutando la herramienta con la opción -h.

Tenga en cuenta que la herramienta de compatibilidad es simplemente un paso en el proceso de migración; es importante realizar pruebas de corrección, pruebas de rendimiento y pruebas de carga de su aplicación antes de la migración real a producción.

Resumen

Amazon DocumentDB interactúa con las APIs de MongoDB 3.6, 4.0 y 5.0 de código abierto de Apache 2.0. Como resultado, puede usar los mismos controladores, aplicaciones y herramientas de MongoDB con Amazon DocumentDB con pocos o ningún cambio. Además, puede utilizar la herramienta de compatibilidad de Amazon DocumentDB para simplificar y agilizar sus migraciones de cargas de trabajo a Amazon DocumentDB.

Con Amazon DocumentDB, obtiene una experiencia de base de datos de documentos completamente administrada. Esto significa que no necesita centrarse en la recuperación por error de las instancias, las copias de seguridad y recuperación de bases de datos o las actualizaciones de software. Puede enfocarse en construir su aplicación e innovar para sus clientes. Visite Comenzar con Amazon DocumentDB para comenzar a usar Amazon DocumentDB.

 

Este artículo fue traducido del Blog de AWS en Inglés.


Acerca de los Autores

Tim Callaghan es un arquitecto principal de soluciones, especialista en DocumentDB en AWS. Le gusta trabajar con clientes que buscan modernizar las aplicaciones basadas en datos existentes y construir otras nuevas. Antes de unirse a AWS, ha sido productor y consumidor de bases de datos relacionales y NoSQL durante más de 30 años.

 

 

 

 

Cody Allen es un arquitecto senior de soluciones, especialista en DocumentDB con sede en Texas. Le apasiona trabajar lado a lado con los clientes para resolver problemas complejos, y apoyar a los compañeros de equipo a través de la tutoría y la transferencia de conocimiento. Ha pasado su carrera desplegando y administrando sistemas, software e infraestructura para proveedores de SaaS B2B, proveedores de material y logística, la Fuerza Aérea de los Estados Unidos y otras agencias gubernamentales nacionales e internacionales.

 

 

 

 

Traductor

Sergio Nuñez es especialista en bases de datos con el equipo de aceleración de la nube de Amazon Web Services. Sergio se enfoca en liderar los esfuerzos de migración de bases de datos a AWS, así como proporcionar orientación técnica que incluye optimización de costos, monitoreo y experiencia en modernización a los clientes de Amazon.