Planeamiento de una migración de almacén de datos
La migración del almacenamiento de datos es un desafío para cualquier empresa. Para llevarla a cabo correctamente y evitar sorpresas imprevistas y costos no planeados, debe investigar minuciosamente las dificultades, mitigar los riesgos y planear la migración para asegurarse de que está lo más preparado posible. A nivel general, el plan debe cubrir los pasos principales del proceso de migración del almacenamiento de datos y las tareas incluidas en ellos. Los pasos principales del proceso son:
- Preparación antes de la migración
- Estrategia de migración y ejecución
- Después de la migración
La preparación incluye, por ejemplo, aspectos como la puesta a punto del equipo de migración del almacenamiento de datos en términos de las habilidades necesarias y la familiarización con la tecnología. También conlleva configurar un laboratorio de prueba de concepto, saber cómo se administrarán los entornos de prueba y producción, conseguir la autorización adecuada para migrar los datos y un sistema de producción fuera del firewall corporativo y configurar el software de migración en el centro de datos para que la migración pueda continuar.
Para que la migración de un almacenamiento de datos se lleve a cabo sin problemas, el plan debe incluir una comprensión clara de los siguientes aspectos:
- El caso empresarial: los factores determinantes, las ventajas para el negocio y los riesgos.
- Los roles y las responsabilidades del equipo de migración.
- El conjunto de aptitudes y el entrenamiento necesarios para permitir una migración correcta.
- El presupuesto asignado para finalizar la migración.
- La estrategia de migración.
- El modo de combatir los riesgos del proyecto de migración con el fin de evitar retrasos o reprocesamientos.
- El sistema de almacenamiento de datos existente, su arquitectura, esquema, volúmenes de datos, flujos de datos, seguridad y dependencias operativas.
- Las diferencias entre el DBMS de almacenamiento de datos local existente y Azure Synapse, como los tipos de datos, las funciones SQL, la lógica y otras consideraciones.
- Qué se debe migrar y las prioridades.
- Las tareas, los enfoques, el orden y las fechas límite de la migración.
- Cómo controlar la migración.
- Cómo evitar la interrupción del usuario mientras se lleva a cabo la migración.
- Lo que necesita hacer de forma local para evitar retrasos y que se lleve a cabo la migración.
- Las herramientas para permitir la migración segura de esquemas, datos y procesamiento ETL a Azure.
- Los cambios en el diseño del modelo de datos que son necesarios durante y después de la migración.
- Los cambios de tecnología antes o después de la migración y cómo reducir el reprocesamiento.
- La degradación de la tecnología después de la migración.
- Cómo implementar las pruebas y el control de calidad para demostrar el éxito.
- Los puntos de control para evaluar el progreso y permitir la toma de decisiones.
- El plan de contingencia y los puntos de reversión en caso de que se produzcan errores.
Para comprender todo esto, es necesario preparar y comenzar actividades específicas antes de que se inicie la migración. Echemos un vistazo a lo que eso conlleva con más detalle.
Preparación antes de la migración
Hay varias cosas que deben solucionarse antes de iniciar una migración del almacenamiento de datos.
Los roles principales de un equipo de migración del almacenamiento de datos
Entre los roles principales de un proyecto de migración se incluyen los siguientes:
- Propietario de la empresa
- Jefe de proyecto (con experiencia en una metodología ágil, como Scrum)
- Coordinador del proyecto
- Ingeniero de la nube
- Administrador de base de datos (DBMS de almacenamiento de datos existente y Azure Synapse)
- Modeladores de datos
- Desarrolladores de ETL
- Especialista en virtualización de datos (posiblemente un administrador de bases de datos)
- Ingeniero de pruebas
- Analistas de negocio (para ayudar a probar las consultas, los informes y los análisis de las herramientas de BI)
Además, el equipo necesita el respaldo del equipo de infraestructura local.
Aptitudes y aprendizaje para preparar el equipo para la migración
En lo que respecta a las aptitudes, es importante contar con experiencia en la migración de un almacenamiento de datos. Por lo tanto, asegúrese de que los miembros adecuados del equipo de migración estén entrenados en aspectos básicos de la nube de Azure, Azure Blob Storage, Azure Data Lake Storage, Azure Data Box, ExpressRoute, administración de identidades de Azure, Azure Data Factory y Azure Synapse. Lo más probable es que los modeladores de datos deban ajustar los modelos de datos de Microsoft Azure Synapse una vez que se haya producido la migración del almacenamiento de datos existente.
Evaluación del almacenamiento de datos existente
Otra parte de la preparación para la migración es la necesidad de una evaluación completa del almacenamiento de datos existente para comprender totalmente la arquitectura, los almacenes de datos, el esquema, la lógica de negocios, los flujos de datos, la funcionalidad de DBMS utilizada, la operación de almacenamiento y las dependencias. Cuanta más comprensión obtenga aquí, mejor. El conocimiento detallado de cómo funciona el sistema ayuda a comunicarse y a cubrir todas las bases.
La evaluación tiene como fin no solo garantizar la comprensión detallada de la disposición actual del equipo de migración, sino también conocer los puntos fuertes y débiles de la disposición actual. Por lo tanto, el resultado de la evaluación del almacenamiento de datos actual puede afectar a la estrategia de migración: migración mediante lift-and-shift frente a una solución más amplia. Por ejemplo, si el resultado de una evaluación es que el almacenamiento de datos está al final del ciclo de vida, es evidente que la estrategia sería más la de una migración de datos a un almacenamiento de datos recién diseñado en Azure Synapse frente a un enfoque lift-and-shift.
Preparación local de la migración de datos
Además de preparar y poner a punto el equipo de migración en el entorno de destino y evaluar la disposición actual, es importante igualmente definir el movimiento local, ya que los almacenamientos de datos de producción tienden a estar controlados en gran medida por los procedimientos y los procesos de aprobación de TI. Para evitar retrasos, asegúrese de que los equipos de operaciones e infraestructura del centro de datos están listos para migrar los datos, el esquema, los trabajos ETL, etc., a la nube de Azure. La migración de datos se puede realizar por estos medios:
- AzCopy en Azure Blob Storage.
- Microsoft Azure ExpressRoute para transferir los datos comprimidos directamente a Azure.
- Exportación de archivos a Azure Data Box.
Los principales factores que influyen en la selección de estas opciones son el tamaño del volumen de datos (en terabytes) y la velocidad de la red (en Mbps). Es necesario calcular cuánto tiempo se tardaría en migrar los datos a través de la red, teniendo en cuenta que los datos podrían comprimirse en el almacenamiento de datos y descomprimirse al exportarlos. Esta situación puede ralentizar la transferencia de datos. Vuelva a comprimir los datos mediante Gzip al moverlos por cualquiera de los métodos anteriores. PolyBase puede procesar los datos comprimidos en Gzip directamente. Es probable que los volúmenes de datos de gran tamaño se migren a través de Azure Data Box si los datos tardan demasiado tiempo en migrarse.
Además, para que Azure Data Factory controle la ejecución de las exportaciones de los datos del almacenamiento de datos existente desde Azure, se debe instalar el software de IR autohospedado en el centro de datos para permitir que continúe la migración. A la vista de estos requisitos, si se necesita una aprobación formal para que esto sea posible, el inicio de los procesos de aprobación adecuados en una fase temprana para que esto suceda le ayudará a evitar retrasos más tarde.
Preparación de Azure para la migración de datos y esquemas
En lo relativo a la preparación por parte de Azure, la importación de datos debe administrarse a través de Microsoft Azure ExpressRoute o Microsoft Azure Data Box. Las canalizaciones de Azure Data Factory son una buena manera de cargar los datos en Azure Blob Storage y, después, cargarlos desde ahí a Azure Synapse mediante PolyBase. Por lo tanto, se necesita preparación por parte de Azure para desarrollar este tipo de canalización.
La alternativa es usar la herramienta ETL existente en Azure si es compatible con Azure Synapse, lo que significa configurar la herramienta en Azure desde Azure Marketplace y preparar una canalización para importar los datos y cargarlos en Azure Blob Storage.
Definición de una estrategia de migración
Objetivos de la migración
En cualquier estrategia, debe haber un conjunto de finalidades o metas que definan el éxito de una operación. Luego, se pueden establecer objetivos para lograr estas metas y asignar responsabilidades a las personas para alcanzarlos. En la tabla siguiente se muestran ejemplos de metas de la migración y las métricas correspondientes para establecer los objetivos de un proyecto de migración del almacenamiento de datos en la nube:
Ejemplos de tipos de metas y métricas:
Mejorar el rendimiento general
- Rendimiento de la migración de datos
- Rendimiento de ETL
- Rendimiento de la carga de datos
- Rendimiento de consultas complejas
- Número de usuarios simultáneos
Operaciones a un costo más bajo
- Costo de proceso por carga de trabajo, por ejemplo, el número de horas de proceso x el costo por hora de:
- Informes estándar
- Consultas ad hoc
- Procesamiento ELT por lotes
- Costo de almacenamiento (almacenamiento provisional, tablas de producción, índices, espacio temporal)
Funcionamiento con mejores niveles de servicio y disponibilidad
- Contratos de nivel de servicio
- Alta disponibilidad
Mejorar la productividad
- Automatización de tareas, menor personal administrativo
Por lo tanto, una migración del almacenamiento de datos realizada con éxito se puede interpretar como un almacenamiento de datos que se ejecuta tan rápido, o más rápido, y a un costo más bajo, que el sistema heredado del que parte la migración. La asignación de propietarios de estas metas crea el sentido de la responsabilidad para alcanzarlas. También garantiza que las pruebas en un laboratorio de prueba de concepto (como se define en la sección de reducción del riesgo de esta guía) se considerarán correctas siempre y cuando identifiquen formas de conseguir las metas.
Enfoque de migración
Hay varias opciones estratégicas para migrar el almacenamiento de datos existente a Azure Synapse:
- Usar el enfoque lift-and-shift con el almacenamiento de datos existente tal cual.
- Simplificar el almacenamiento de datos existente para, posteriormente, migrarlo.
- Rediseñar completamente el almacenamiento de datos en Azure Synapse y migrar los datos.
Los resultados de la evaluación del almacenamiento de datos existente deberían influir en gran medida en la estrategia que se va a adoptar. Si el resultado de la evaluación es bueno, podría recomendarse una estrategia lift-and-shift. Si el resultado es mediocre debido a una clasificación de agilidad baja, podría ser necesario realizar una simplificación antes de la migración. Si el resultado es deficiente, podría ser necesario un rediseño completo.
La estrategia lift-and-shift deja la arquitectura como está; lo que intenta es minimizar el trabajo de mover el sistema existente. Si la herramienta ETL existente ya es compatible con Azure Synapse, es posible que pueda cambiar el objetivo sin apenas hacer nada. No obstante, habrá diferencias en los tipos de tablas, tipos de datos, funciones SQL, vistas, lógica de negocios de los procedimientos almacenados, etc. Estas diferencias, y el modo de compensarlas, se detallan en los documentos de nivel inferior de esta serie de migraciones.
La simplificación del almacenamiento de datos existente antes de la migración tiene como fin reducir la complejidad para facilitar esta operación. Esta simplificación podría incluir algunas de estas tareas:
- Quitar o archivar las tablas no utilizadas antes de la migración para evitar la migración de datos que no se usan.
- Convertir los data marts físicos en data marts virtuales mediante software de virtualización de datos para reducir lo que se debe migrar. La conversión también mejora la agilidad y reduce el costo total de propiedad, así que podría considerarse como una modernización durante la migración.
También puede simplificar primero y, luego, aplicar la estrategia lift-and-shift a lo que quede.
Ámbito de la migración
Sea cual sea la estrategia que elija, debe definir claramente el ámbito de la migración, lo que se migrará y si se hará de forma gradual o todo a la vez. Un ejemplo de migración gradual es migrar primero los data marts, y luego el almacenamiento de datos. Este enfoque le permitirá centrarse en las áreas empresariales de mayor prioridad, y dejará que su equipo vaya adquiriendo experiencia, ya que cada data mart se migra de forma individual antes de migrar el almacenamiento de datos propiamente dicho.
Definición de lo que se debe migrar
Realice un inventario de todo lo que necesite migrar. Entre estos elementos se incluyen el esquema, los datos, los procesos ETL (canalizaciones), los privilegios de autorización, los usuarios, las capas de acceso semántico de herramientas de inteligencia empresarial y las aplicaciones analíticas. En cada uno de los artículos de migración de nivel inferior de esta serie se proporciona una descripción detallada de lo que conlleva la migración del inventario. A continuación, se muestran los vínculos a estos artículos.
- Consideraciones sobre la migración, el diseño y el rendimiento de los esquemas.
- Migración de datos, procesamiento ETL y carga.
- Acceso a las operaciones de almacenamiento de datos y seguridad.
- Migración de visualizaciones e informes.
- Minimización del efecto de los problemas de SQL.
- Herramientas de terceros que le ayudarán en la migración del almacenamiento de datos.
Si no está seguro de cuál es la mejor estrategia, realice pruebas en un laboratorio de prueba de concepto para identificar las técnicas más óptimas. Para más información, consulte la sección sobre la reducción de riesgos del proyecto de migración del almacenamiento de datos.
Control de la migración
La migración del almacenamiento de datos a Azure Synapse conlleva la realización de varias tareas:
- Locales, como la exportación de datos.
- En la red, como la transferencia de datos.
- En la nube de Azure, como la transformación, la integración y la carga de datos.
El problema es que administrar estas tareas puede ser complicado si los scripts y las utilidades se desarrollan, prueban y ejecutan de forma independiente en los entornos locales y de Azure. La complejidad es mayor si el control de versiones, la administración de pruebas y la ejecución de la migración no están coordinados.
Estas complejidades se deben evitar y se deben controlar desde un lugar común mediante un repositorio de control de código fuente para administrar los cambios en los entornos de desarrollo, pruebas y producción. La ejecución de la migración abarca tareas que deben realizarse de forma local, en la red y en Azure. Dado que Azure Synapse es el entorno de destino, el control de la ejecución de la migración desde Azure simplifica la administración. Utilice Azure Data Factory para crear una canalización de control de la migración a fin de regular la ejecución tanto en el entorno local como en Azure. Esta canalización introduce la automatización y minimiza los errores. Data Factory se convierte en una herramienta de orquestación de la migración, no solo en una herramienta de integración de datos empresariales.
Otras opciones para controlar la migración que se encuentran disponibles de la mano de asociados de Microsoft y que se ejecutan en Azure incluyen herramientas de automatización del almacenamiento de datos para intentar automatizar la migración. Por ejemplo, proveedores como WhereScape y Attunity. La mayoría de estas herramientas de automatización van destinadas a un enfoque lift-and-shift de la migración. Incluso en este caso, puede que haya elementos que no admitan tales herramientas, por ejemplo, los procedimientos almacenados. Estos productos y otros se detallan en otra guía dedicada a herramientas de terceros que le ayudarán a migrar a Azure Synapse.
Pruebas de migración
Lo primero que debe hacer es definir una serie de pruebas y un conjunto de resultados de las pruebas que se deben ejecutar para comprobar que la operación se ha realizado correctamente. Es importante asegurarse de que todos los aspectos se prueban y se comparan en los sistemas existentes y migrados, como por ejemplo:
- Schema
- Tipos de datos convertidos cuando sea necesario
- Uso de esquemas definidos por el usuario en Azure Synapse para distinguir entre almacenamiento de datos y tablas de data mart
- Usuarios
- Roles y asignaciones de estos roles a los usuarios
- Privilegios de seguridad de acceso a datos
- Privacidad y cumplimiento de los datos
- Privilegios que regulan las funcionalidades de administración
- Calidad e integridad de los datos
- Procesamiento ETL que rellena Azure Synapse tanto hacia el almacenamiento de datos como desde este hacia cualquier data mart, incluidas las pruebas
- Todas las filas de todas las tablas son correctas, incluido el historial
- Procesamiento de dimensiones que cambian lentamente
- Procesamiento de captura de datos modificados
- Cálculos y agregaciones que utilizan funciones que podrían variar entre sistemas
- Resultados de todas las consultas, informes y paneles conocidos
- Rendimiento y escalabilidad
- Funcionalidad analítica
- Costos en el nuevo entorno de pago por uso
Automatice las pruebas lo máximo posible, de forma que cada prueba sea repetible y permita un enfoque coherente en la evaluación de los resultados. Si los informes y los paneles son incoherentes, contar con la posibilidad de comparar el linaje de los metadatos en los sistemas originales y migrados es útil durante las pruebas de migración, ya que puede resaltar las diferencias y determinar dónde se produjeron cuando no son fáciles de detectar.
La mejor manera de hacerlo de forma segura es crear roles, asignarles privilegios de acceso y, luego, asociar usuarios a roles. Para acceder al almacenamiento de datos recién migrado, configure un proceso automatizado para crear usuarios y asignar roles. Haga lo mismo para quitar roles a los usuarios.
Comunique la transición a todos los usuarios para que sepan qué está cambiando y qué cabe esperar.
Reducción del riesgo en el proyecto de migración del almacenamiento de datos
Otro factor importante en la migración del almacenamiento de datos es el de la reducción del riesgo del proyecto con el fin de maximizar la probabilidad de éxito. Hay varias cosas que se pueden hacer para reducir el riesgo de la migración de un almacenamiento de datos. Incluyen:
- Establecer un laboratorio de prueba de concepto para permitir que su equipo pruebe las cosas, lleve a cabo pruebas, comprenda los problemas e identifique soluciones y optimizaciones que ayuden a validar los enfoques de migración, mejorar el rendimiento y reducir los costos. También contribuye a establecer maneras de automatizar las tareas, usar las herramientas integradas y crear plantillas para capturar procedimientos recomendados, aprender de la experiencia y realizar un seguimiento de todo lo aprendido. Constituye una forma valiosa de mitigar el riesgo y aumentar las oportunidades de éxito. Además, puede asignar propietarios a las pruebas, quienes serán responsables de alcanzar las metas y los objetivos de la migración definidos en la estrategia de migración.
- Incorpore la virtualización de los datos entre las herramientas de inteligencia empresarial y el almacenamiento de datos y los data marts. Incorpore la transparencia para el usuario con la virtualización de los datos a fin de reducir el riesgo en la migración de un almacenamiento de datos, y oculte la migración a los usuarios mediante herramientas de inteligencia empresarial de virtualización de datos, tal como se muestra en el diagrama siguiente.
Esto tiene como fin romper la dependencia entre los usuarios empresariales que usan herramientas de inteligencia empresarial de autoservicio y el esquema físico del almacenamiento de datos y los data marts subyacentes que se van a migrar. Al introducir la virtualización de los datos, cualquier alternancia de esquema realizada durante la migración del almacenamiento de datos y los data marts a Azure Synapse (por ejemplo, para optimizar el rendimiento) se puede ocultar a los usuarios empresariales porque solo tienen acceso a las tablas virtuales de la capa de virtualización de datos. Si se necesita un cambio estructural, solo se deberán cambiar las asignaciones entre el almacenamiento de datos o los data marts y las tablas virtuales para que esos cambios y la migración pasen desapercibidos para los usuarios.
- Considere el archivado de las tablas existentes identificadas como de uso poco frecuente antes de la migración del almacenamiento de datos, ya que no tiene mucho sentido migrar tablas que no se usan. Por ejemplo, se podrían archivar los datos no usados en Azure Blob Storage o en Azure Data Lake Storage y crear tablas externas en Azure Synapse para los datos que sigan estando en línea.
- También podría introducir una máquina virtual (VM) en Azure con una versión de desarrollo (normalmente gratuita) del DBMS del almacenamiento de datos heredado existente que se ejecuta en ella. De esta forma, puede mover rápidamente el esquema de almacenamiento de datos existente a la máquina virtual y trasladarlo luego a Azure Synapse mientras trabaja completamente en la nube de Azure.
- Defina el orden y las dependencias de la migración.
- Asegúrese de que los equipos de operaciones e infraestructura estén preparados para la migración de los datos lo antes posible en el proyecto de migración.
- Identifique las diferencias en la funcionalidad de DBMS y el momento en que la lógica de negocios propietaria podría convertirse en un problema. Por ejemplo, no es probable que el uso de procedimientos almacenados para el procesamiento ELT se migre fácilmente, ni que contenga linaje de metadatos dado que las transformaciones están enterradas en el código.
- Considerar una estrategia para migrar primero los data marts y luego el almacenamiento de datos que es el origen de estos. Esta estrategia permite la migración gradual, resulta más manejable y es posible clasificar por orden de prioridad la migración en función de las necesidades empresariales.
- Considere la posibilidad de usar la virtualización de los datos para simplificar la arquitectura actual de almacenamiento de datos antes de la migración; por ejemplo, para reemplazar los data marts por otros virtuales de forma que pueda eliminar antes de la migración los almacenes de datos físicos y los trabajos ETL de los data marts sin perder funcionalidades. De esta forma, se reduce el número de almacenes de datos que se van a migrar, las copias de datos y el costo total de propiedad, y se mejora la agilidad. Esta solución requiere cambiar de data marts físicos a virtuales antes de migrar el almacenamiento de datos. En muchos sentidos, puede considerarse un paso de modernización del almacenamiento de datos antes de la migración.
Pasos siguientes
Para más información sobre las migraciones del almacenamiento de datos, asista a un taller de modernización del almacenamiento de datos en la nube virtual en Azure que ofrece Informatica.