Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

AWS Database Migration Service: una mirada a fondo

By DoiTOct 29, 202119 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

AWS-Database-Migration-Service

Por Jason Gregson y Artem Shchodro

Introducción

En DoiT vemos bases de datos de todas las formas y tamaños, y acompañamos a nuestros clientes tanto con soporte técnico como ayudándolos a definir qué base de datos conviene usar en cada caso.

En DoiT sabemos que las bases de datos son un componente sumamente complejo e importante para cualquier negocio, y por eso optamos por separar Bases de Datos del resto, es decir, de Core. Si bien hay bastante superposición entre Core Engineering y la ingeniería de Bases de Datos, existen disciplinas muy específicas en torno a las bases de datos que no forman parte de Core Engineering, y por eso todo lo relacionado con bases de datos y con Database Migration Service queda en manos del equipo especialista en bases de datos.

No hay una solución única que sirva para todos, y con las bases de datos pasa lo mismo. A medida que el cliente crece, los requisitos cambian. El negocio puede modificar su modelo o la forma en que recopila los datos, así que lo que era válido al principio puede dejar de serlo más adelante. Lo mismo sucede con dónde residen las bases de datos: on premises o en la nube.

Como la mayoría de las aplicaciones necesitan almacenar datos en algún tipo de base de datos, estas se vuelven la joya de la corona de la plataforma del cliente. Moverse en este panorama cambiante toma tiempo y plantea desafíos técnicos reales que conviene anticipar. Amazon Web Services (AWS) ofrece varios servicios y herramientas para ayudarte a migrar tus bases de datos —y también las aplicaciones que las usan— a la nube. Puedes cambiar el sistema de gestión de bases de datos (DBMS) o incluso la arquitectura, de SQL a NoSQL, según los requisitos y las aspiraciones del negocio.

Migrar datos de un servidor a otro es relativamente sencillo cuando ambos usan el mismo motor de base de datos: lo que se conoce como migración homogénea. Por ejemplo, pasar Microsoft SQL Server desde un entorno on premises al mismo Microsoft SQL Server corriendo en Amazon Relational Database Service (Amazon RDS) consiste sobre todo en asegurarse de que todos los datos y esquemas se repliquen y luego garantizar que la conectividad y la seguridad estén bien configuradas para que la aplicación pueda conectarse a la "nueva" base de datos. La verdadera complejidad aparece cuando hay cambios: incluso lo que parece un detalle menor, como el número de versión, puede destapar una larga lista de elementos que hay que resolver. En cambio, pasar a un motor distinto, o migración heterogénea, es más difícil y puede exigir cambios en tu enfoque y en tu aplicación.

Este artículo ofrece una visión general de dos herramientas de bases de datos: AWS Schema Conversion Tool (AWS SCT) y AWS Database Migration Service (AWS DMS).

¿Por qué migrar mi base de datos a AWS?

Las aplicaciones de hoy traen todo tipo de desafíos con distintos niveles de complejidad: grandes volúmenes de datos, exigencias altas de throughput transaccional, tipos de datos y lógica de negocio complejos, y funciones propietarias del proveedor. Migrar estos workloads a la nube es un objetivo para muchos clientes de Amazon Web Services por varias razones: reducir costos gracias a una automatización y elasticidad más sencillas, y bajar los costos de licencias al disminuir el vendor lock-in con algunos de los DBMS más propietarios (Microsoft SQL/Oracle/SAP). Además, abre la puerta al potencial de innovación al desacoplar los sistemas de datos de la aplicación de una manera moderna y orientada a la nube. La migración también ayuda a modernizar la infraestructura de datos con funciones exclusivas de la nube, como el motor de almacenamiento de Amazon Aurora. Estos pasos no se deben dar sin un análisis riguroso y experiencia técnica, y ahí es donde DoiT puede ser tu primer punto de contacto.

Algunas razones comunes para migrar una base de datos:

Modernización de bases de datos

Pasar datos de motores de bases de datos legacy a motores modernos, dándole al negocio la agilidad necesaria para competir en la era digital.

Migración de bases de datos

Mover datos de una plataforma a otra, en el contexto de aplicaciones empresariales.

Replicación de bases de datos

Copiar datos con frecuencia desde una base de datos en una computadora o servidor a otra, para compartir el mismo nivel de información con todos los usuarios.

¿Cuáles son los beneficios de migrar una base de datos con AWS?

Las bases de datos relacionales son una tecnología madura y ampliamente conocida, lo que te permite gestionar de forma rutinaria altos niveles de disponibilidad con servidores on premises. Aunque las bases NoSQL son más recientes, también suele ser posible mantener alta disponibilidad on premises; sin embargo, cualquier downtime de la base de datos puede afectar de lleno tanto a la disponibilidad de la aplicación como a la capacidad de la empresa para atender a sus clientes a tiempo. Esto tiene un efecto reputacional negativo y es difícil de revertir, así que cubriendo a fondo los requisitos técnicos y de negocio en nuestras conversaciones, logramos minimizar estos y otros riesgos asociados a la migración.

Las tecnologías de bases de datos de AWS, como Amazon Relational Database Service (Amazon RDS) y Amazon DynamoDB, ofrecen soluciones de bajo costo, escalables y de alta disponibilidad, fáciles de configurar y usar. Para muchas empresas, migrar sus bases de datos a la nube (sobre todo si cambian de motor) reduce el downtime y los costos en comparación con servidores on premises.

Fácil de usar

AWS Database Migration Service (AWS DMS) es fácil de usar. No necesitas instalar drivers ni aplicaciones, y por lo general no requiere cambios en la base de datos de origen.

Downtime mínimo

AWS DMS te ayuda a migrar tus bases de datos a AWS prácticamente sin downtime.

Compatible con los motores de bases de datos más usados

AWS DMS puede migrar tus datos desde y hacia los motores de bases de datos comerciales y de código abierto más usados.

Bajo costo

AWS DMS puede migrar tus datos desde y hacia los motores de bases de datos comerciales y de código abierto más usados.

Rápido y fácil de configurar

Puedes configurar una tarea de migración en cuestión de minutos desde la AWS Management Console. Esto te permite definir los parámetros que usará Amazon DMS para ejecutar la migración.

image1

Confiable

AWS DMS es altamente resiliente y se autorrepara. Monitorea de forma continua las bases de datos de origen y destino, la conectividad de red y la instancia de replicación.

¿Cómo migro mi base de datos a AWS?

AWS DMS y AWS Schema Conversion Tool (AWS SCT) te ayudan a migrar tus bases de datos hacia o desde AWS de forma rápida y segura. Con AWS DMS, tu base de datos de origen sigue operando con normalidad durante la migración, lo que minimiza el downtime para las aplicaciones que dependen de ella.

Puedes migrar al mismo motor de base de datos o cambiar de motor para modernizar tu plataforma. También puedes replicar datos para mantener sincronizadas las bases de origen y destino.

Por ejemplo:

Puedes migrar de una instancia Oracle on premises a una instancia Amazon RDS for Oracle.

O…

Puedes migrar una instancia Oracle, ya sea on premises o en la nube, a una base PostgreSQL como Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL.

¿Qué herramientas pueden ayudarme con la migración?

AWS DMS

En su forma más básica, AWS DMS es un servidor en la AWS Cloud que ejecuta el software de replicación. Creas una conexión de origen y otra de destino para indicarle a AWS DMS desde dónde extraer y hacia dónde cargar los datos. Luego programas una tarea que se ejecuta en este servidor de replicación para recibir una copia de tus datos.

AWS DMS crea las tablas y las claves primarias asociadas si no existen en el destino. Si lo prefieres, puedes precrear las tablas de destino manualmente. O puedes usar AWS SCT para crear algunas o todas las tablas, índices, vistas, triggers y demás objetos del destino.

AWS SCT

Si quieres cambiar de motor de base de datos, AWS SCT puede convertir el esquema de tu base actual a la plataforma de destino. Esto incluye tablas, índices, vistas y procedimientos almacenados, además del código de tu aplicación. Si el esquema de la base de origen no se puede convertir de forma automática, AWS SCT te orienta sobre cómo crear un esquema equivalente en el motor de destino. Es importante entender qué problemas impiden la conversión automática, ya que tendrán impacto tanto en la base resultante como en la forma en que la aplicación actual interactuará con ella. Aquí es donde entra en juego la experiencia de DoiT: te ayudamos a entender los elementos en juego y qué hay que considerar en los cambios necesarios.

¿Cómo gestiono un proyecto de migración?

¿Cómo encajan AWS DMS y AWS SCT en tu proyecto de migración? AWS recomienda estructurar una migración en 12 pasos. Como no todos los pasos son necesarios en cada proyecto, DoiT International asigna a un especialista en migraciones del área de Database Engineering a cada proyecto de cliente para evaluar tu caso de uso particular. A partir de las evaluaciones iniciales y de las características de tu aplicación, base de datos, infraestructura, recursos disponibles y skill sets, DoiT International armará el plan de migración junto contigo.

Esta etapa de la migración empieza a sacar a la luz aspectos que no son parte de la migración física, sino que se enfocan más en los objetivos de negocio: ¿cómo se ve un buen resultado? Por ejemplo, "Hoy usamos la Base de Datos X y vamos a crecer x1000 en los próximos 12 meses". Esto trae todo tipo de implicancias que hay que entender, y tal vez una migración homogénea no sea el mejor enfoque para resolver las enormes exigencias de escalado del negocio.

¿Qué sigue?

Si formas parte del área de ingeniería del negocio y quieres aprender a usar las herramientas para tu próximo proyecto de migración, puedes inscribirte en el curso introductorio gratuito de AWS para conocer más. Esta capacitación cubre migración de esquemas, migración de datos, y entrenamiento y soporte. Te dará una comprensión más profunda de lo que implica y te aclarará los aspectos técnicos de la migración. Sin embargo, no te da la experiencia para entender los matices de una migración de bases de datos; ahí es donde DoiT puede ayudarte y darte el soporte que necesitas para tener éxito.

Si quieres explorar la posible migración: DoiT International ayuda a sus clientes a migrar sus workloads a la nube y también brinda soporte continuo. Conoce más sobre nuestro enfoque de migraciones y cómo DoiT International puede ayudarte.

P: ¿Cuánto va a costar todo esto?

Lo mejor de todo es que DoiT tiene un modelo de Precios único para acompañar a sus clientes. Esto incluye los enfoques para migraciones de bases de datos a AWS. Hacemos el trabajo sin costo adicional; no hay costos extra asociados a migrar tus workloads a la nube.

P: ¿Dónde está la trampa?

No la hay. Solo necesitas pagar tu factura de AWS a través de DoiT como reseller, y listo. Somos un complemento de los servicios y soporte que recibes directamente de Amazon; no quitamos nada de esa relación, salvo que el pago de la facturación de AWS se hace directamente a través de DoiT. Dado que el costo es cero, podrás imaginar que DoiT no realizará la migración de la base de datos en sí, pero actuaremos como asesores para que recibas el consejo correcto en el momento adecuado en cada una de las distintas etapas de la migración. Tú deberás completar el trabajo, o puedes apoyarte en un tercero para ejecutarlo. Además, tendrás todos los beneficios habituales de ser cliente de DoiT, entre ellos:

Soporte ilimitado (24x7 - Follow the sun)

Capacitación sin costo

Acceso a DoiT Cloud Intelligence™

Revisiones del Well Architected Framework (WAfR) sin costo

Flexsave de DoiT (ahorros flexibles)

Spot0 de DoiT (precios flexibles de Spot)

Jason

Jason Gregson es Global Head of AWS Programs and Operations en DoiT International. Tras muchos años como Solution Architect, incluidos 5 años en Amazon, le apasiona ayudar a los clientes a construir aplicaciones modernas sobre los servicios más recientes de AWS. Tecnólogo pragmático e ingeniero de corazón, disfruta del aprendizaje impulsado por la comunidad y de compartir tecnología para que todos conozcan el arte de lo posible. Síguelo en Twitter en @JasonGregson.

Artem

Artem Shchodro es Senior Cloud Architect en DoiT International. Ex Amazonian, ayuda a los clientes a sacarle el máximo valor a la nube. Artem es pragmático y directo, y combina el valor de negocio con la tecnología. No lo sigas en Twitter.

Por Jason Gregson y Artem Shchodro

Introducción

En DoiT vemos bases de datos de todas las formas y tamaños, y acompañamos a nuestros clientes tanto con soporte técnico como ayudándolos a definir qué base de datos conviene usar en cada caso.

En DoiT sabemos que las bases de datos son un componente sumamente complejo e importante para cualquier negocio, y por eso optamos por separar Bases de Datos del resto, es decir, de Core. Si bien hay bastante superposición entre Core Engineering y la ingeniería de Bases de Datos, existen disciplinas muy específicas en torno a las bases de datos que no forman parte de Core Engineering, y por eso todo lo relacionado con bases de datos y con Database Migration Service queda en manos del equipo especialista en bases de datos.

No hay una solución única que sirva para todos, y con las bases de datos pasa lo mismo. A medida que el cliente crece, los requisitos cambian. El negocio puede modificar su modelo o la forma en que recopila los datos, así que lo que era válido al principio puede dejar de serlo más adelante. Lo mismo sucede con dónde residen las bases de datos: on premises o en la nube.

Como la mayoría de las aplicaciones necesitan almacenar datos en algún tipo de base de datos, estas se vuelven la joya de la corona de la plataforma del cliente. Moverse en este panorama cambiante toma tiempo y plantea desafíos técnicos reales que conviene anticipar. Amazon Web Services (AWS) ofrece varios servicios y herramientas para ayudarte a migrar tus bases de datos —y también las aplicaciones que las usan— a la nube. Puedes cambiar el sistema de gestión de bases de datos (DBMS) o incluso la arquitectura, de SQL a NoSQL, según los requisitos y las aspiraciones del negocio.

Migrar datos de un servidor a otro es relativamente sencillo cuando ambos usan el mismo motor de base de datos: lo que se conoce como migración homogénea. Por ejemplo, pasar Microsoft SQL Server desde un entorno on premises al mismo Microsoft SQL Server corriendo en Amazon Relational Database Service (Amazon RDS) consiste sobre todo en asegurarse de que todos los datos y esquemas se repliquen y luego garantizar que la conectividad y la seguridad estén bien configuradas para que la aplicación pueda conectarse a la "nueva" base de datos. La verdadera complejidad aparece cuando hay cambios: incluso lo que parece un detalle menor, como el número de versión, puede destapar una larga lista de elementos que hay que resolver. En cambio, pasar a un motor distinto, o migración heterogénea, es más difícil y puede exigir cambios en tu enfoque y en tu aplicación.

Este artículo ofrece una visión general de dos herramientas de bases de datos: AWS Schema Conversion Tool (AWS SCT) y AWS Database Migration Service (AWS DMS).

¿Por qué migrar mi base de datos a AWS?

Las aplicaciones de hoy traen todo tipo de desafíos con distintos niveles de complejidad: grandes volúmenes de datos, exigencias altas de throughput transaccional, tipos de datos y lógica de negocio complejos, y funciones propietarias del proveedor. Migrar estos workloads a la nube es un objetivo para muchos clientes de Amazon Web Services por varias razones: reducir costos gracias a una automatización y elasticidad más sencillas, y bajar los costos de licencias al disminuir el vendor lock-in con algunos de los DBMS más propietarios (Microsoft SQL/Oracle/SAP). Además, abre la puerta al potencial de innovación al desacoplar los sistemas de datos de la aplicación de una manera moderna y orientada a la nube. La migración también ayuda a modernizar la infraestructura de datos con funciones exclusivas de la nube, como el motor de almacenamiento de Amazon Aurora. Estos pasos no se deben dar sin un análisis riguroso y experiencia técnica, y ahí es donde DoiT puede ser tu primer punto de contacto.

Algunas razones comunes para migrar una base de datos:

Modernización de bases de datos

Pasar datos de motores de bases de datos legacy a motores modernos, dándole al negocio la agilidad necesaria para competir en la era digital.

Migración de bases de datos

Mover datos de una plataforma a otra, en el contexto de aplicaciones empresariales.

Replicación de bases de datos

Copiar datos con frecuencia desde una base de datos en una computadora o servidor a otra, para compartir el mismo nivel de información con todos los usuarios.

¿Cuáles son los beneficios de migrar una base de datos con AWS?

Las bases de datos relacionales son una tecnología madura y ampliamente conocida, lo que te permite gestionar de forma rutinaria altos niveles de disponibilidad con servidores on premises. Aunque las bases NoSQL son más recientes, también suele ser posible mantener alta disponibilidad on premises; sin embargo, cualquier downtime de la base de datos puede afectar de lleno tanto a la disponibilidad de la aplicación como a la capacidad de la empresa para atender a sus clientes a tiempo. Esto tiene un efecto reputacional negativo y es difícil de revertir, así que cubriendo a fondo los requisitos técnicos y de negocio en nuestras conversaciones, logramos minimizar estos y otros riesgos asociados a la migración.

Las tecnologías de bases de datos de AWS, como Amazon Relational Database Service (Amazon RDS) y Amazon DynamoDB, ofrecen soluciones de bajo costo, escalables y de alta disponibilidad, fáciles de configurar y usar. Para muchas empresas, migrar sus bases de datos a la nube (sobre todo si cambian de motor) reduce el downtime y los costos en comparación con servidores on premises.

Fácil de usar

AWS Database Migration Service (AWS DMS) es fácil de usar. No necesitas instalar drivers ni aplicaciones, y por lo general no requiere cambios en la base de datos de origen.

Downtime mínimo

AWS DMS te ayuda a migrar tus bases de datos a AWS prácticamente sin downtime.

Compatible con los motores de bases de datos más usados

AWS DMS puede migrar tus datos desde y hacia los motores de bases de datos comerciales y de código abierto más usados.

Bajo costo

AWS DMS puede migrar tus datos desde y hacia los motores de bases de datos comerciales y de código abierto más usados.

Rápido y fácil de configurar

Puedes configurar una tarea de migración en cuestión de minutos desde la AWS Management Console. Esto te permite definir los parámetros que usará Amazon DMS para ejecutar la migración.

image1

Confiable

AWS DMS es altamente resiliente y se autorrepara. Monitorea de forma continua las bases de datos de origen y destino, la conectividad de red y la instancia de replicación.

¿Cómo migro mi base de datos a AWS?

AWS DMS y AWS Schema Conversion Tool (AWS SCT) te ayudan a migrar tus bases de datos hacia o desde AWS de forma rápida y segura. Con AWS DMS, tu base de datos de origen sigue operando con normalidad durante la migración, lo que minimiza el downtime para las aplicaciones que dependen de ella.

Puedes migrar al mismo motor de base de datos o cambiar de motor para modernizar tu plataforma. También puedes replicar datos para mantener sincronizadas las bases de origen y destino.

Por ejemplo:

Puedes migrar de una instancia Oracle on premises a una instancia Amazon RDS for Oracle.

O…

Puedes migrar una instancia Oracle, ya sea on premises o en la nube, a una base PostgreSQL como Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL.

¿Qué herramientas pueden ayudarme con la migración?

AWS DMS

En su forma más básica, AWS DMS es un servidor en la AWS Cloud que ejecuta el software de replicación. Creas una conexión de origen y otra de destino para indicarle a AWS DMS desde dónde extraer y hacia dónde cargar los datos. Luego programas una tarea que se ejecuta en este servidor de replicación para recibir una copia de tus datos.

AWS DMS crea las tablas y las claves primarias asociadas si no existen en el destino. Si lo prefieres, puedes precrear las tablas de destino manualmente. O puedes usar AWS SCT para crear algunas o todas las tablas, índices, vistas, triggers y demás objetos del destino.

AWS SCT

Si quieres cambiar de motor de base de datos, AWS SCT puede convertir el esquema de tu base actual a la plataforma de destino. Esto incluye tablas, índices, vistas y procedimientos almacenados, además del código de tu aplicación. Si el esquema de la base de origen no se puede convertir de forma automática, AWS SCT te orienta sobre cómo crear un esquema equivalente en el motor de destino. Es importante entender qué problemas impiden la conversión automática, ya que tendrán impacto tanto en la base resultante como en la forma en que la aplicación actual interactuará con ella. Aquí es donde entra en juego la experiencia de DoiT: te ayudamos a entender los elementos en juego y qué hay que considerar en los cambios necesarios.

¿Cómo gestiono un proyecto de migración?

¿Cómo encajan AWS DMS y AWS SCT en tu proyecto de migración? AWS recomienda estructurar una migración en 12 pasos. Como no todos los pasos son necesarios en cada proyecto, DoiT International asigna a un especialista en migraciones del área de Database Engineering a cada proyecto de cliente para evaluar tu caso de uso particular. A partir de las evaluaciones iniciales y de las características de tu aplicación, base de datos, infraestructura, recursos disponibles y skill sets, DoiT International armará el plan de migración junto contigo.

Esta etapa de la migración empieza a sacar a la luz aspectos que no son parte de la migración física, sino que se enfocan más en los objetivos de negocio: ¿cómo se ve un buen resultado? Por ejemplo, "Hoy usamos la Base de Datos X y vamos a crecer x1000 en los próximos 12 meses". Esto trae todo tipo de implicancias que hay que entender, y tal vez una migración homogénea no sea el mejor enfoque para resolver las enormes exigencias de escalado del negocio.

¿Qué sigue?

Si formas parte del área de ingeniería del negocio y quieres aprender a usar las herramientas para tu próximo proyecto de migración, puedes inscribirte en el curso introductorio gratuito de AWS para conocer más. Esta capacitación cubre migración de esquemas, migración de datos, y entrenamiento y soporte. Te dará una comprensión más profunda de lo que implica y te aclarará los aspectos técnicos de la migración. Sin embargo, no te da la experiencia para entender los matices de una migración de bases de datos; ahí es donde DoiT puede ayudarte y darte el soporte que necesitas para tener éxito.

Si quieres explorar la posible migración: DoiT International ayuda a sus clientes a migrar sus workloads a la nube y también brinda soporte continuo. Conoce más sobre nuestro enfoque de migraciones y cómo DoiT International puede ayudarte.

P: ¿Cuánto va a costar todo esto?

Lo mejor de todo es que DoiT tiene un modelo de Precios único para acompañar a sus clientes. Esto incluye los enfoques para migraciones de bases de datos a AWS. Hacemos el trabajo sin costo adicional; no hay costos extra asociados a migrar tus workloads a la nube.

P: ¿Dónde está la trampa?

No la hay. Solo necesitas pagar tu factura de AWS a través de DoiT como reseller, y listo. Somos un complemento de los servicios y soporte que recibes directamente de Amazon; no quitamos nada de esa relación, salvo que el pago de la facturación de AWS se hace directamente a través de DoiT. Dado que el costo es cero, podrás imaginar que DoiT no realizará la migración de la base de datos en sí, pero actuaremos como asesores para que recibas el consejo correcto en el momento adecuado en cada una de las distintas etapas de la migración. Tú deberás completar el trabajo, o puedes apoyarte en un tercero para ejecutarlo. Además, tendrás todos los beneficios habituales de ser cliente de DoiT, entre ellos:

Soporte ilimitado (24x7 - Follow the sun)

Capacitación sin costo

Acceso a DoiT Cloud Intelligence

Revisiones del Well Architected Framework (WAfR) sin costo

Flexsave de DoiT (ahorros flexibles)

Spot0 de DoiT (precios flexibles de Spot)

Jason

Jason Gregson es Global Head of AWS Programs and Operations en DoiT International. Tras muchos años como Solution Architect, incluidos 5 años en Amazon, le apasiona ayudar a los clientes a construir aplicaciones modernas sobre los servicios más recientes de AWS. Tecnólogo pragmático e ingeniero de corazón, disfruta del aprendizaje impulsado por la comunidad y de compartir tecnología para que todos conozcan el arte de lo posible. Síguelo en Twitter en @JasonGregson.

Artem

Artem Shchodro es Senior Cloud Architect en DoiT International. Ex Amazonian, ayuda a los clientes a sacarle el máximo valor a la nube. Artem es pragmático y directo, y combina el valor de negocio con la tecnología. No lo sigas en Twitter.