¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
Conoce nuestra marca.¿Buscas nuestro logo?
Aquí te dejamos una copia, pero si necesitas más opciones o quieres conocer más, visita nuestra área de marca.
Conoce nuestra marca.dev
Andrea Vila y Moisés Martínez 12/09/2022 Cargando comentarios…
Una de las situaciones habituales a la que nos enfrentamos cuando queremos construir una plataforma unificada de acceso al dato dentro de nuestra organización es la necesidad de desplegar procesos de ingesta y transferencia de datos entre los diferentes sistemas de almacenamiento, que se pueden encontrar tanto en entornos On-premise como en entornos Cloud. Para la realización de este tipo de procesos se utilizan los denominados motores de ingesta que nos permiten transferir datos desde diferentes orígenes de manera ágil y escalable hacia un sistema de almacenamiento. En este post vamos a centrarnos en el motor de ingesta que permite desplegar este tipo de procesos en Azure mediante la utilización del Integration Runtime (IR) de Azure Data Factory.
Un proceso de ingesta de datos consiste en cargar registros de información (datos) desde uno o varios orígenes hacia un sistema de almacenamiento de datos.
Un motor de ingesta es un componente que permite ejecutar los diferentes procesos de ingesta, orquestando los diferentes flujos de datos (movimiento, transformación, limpieza, etc.) y planificando la ejecución de cada uno de ellos en base a las necesidades de la plataforma de datos.
Desarrollar un buen proceso de ingesta nos permitirá:
Existen 2 modalidades de procesos de ingestión de datos:
En este post nos centraremos en la modalidad de ingesta en modo batch y el servicio dentro de Azure que nos ofrece estas capacidades: Azure Data Factory.
Los procesos de ingesta, en modo batch, mediante Azure Data Factory, se desarrollan mediante la construcción de canalizaciones (o pipelines). Las canalizaciones son agrupaciones lógicas de actividades que en su conjunto llevan a cabo una tarea específica, por ejemplo, ingestar todos los datos de clientes de un CRM en el repositorio central. Además, las actividades utilizan otros tipos de componentes que les permiten acceder a la información con el objetivo de completar su cometido. Estas relaciones entre componentes se pueden visualizar en el siguiente flujo:
El primer paso para comenzar a mover los datos desde entornos híbridos hacia el repositorio de datos central es comenzar a desarrollar las pipelines de ingesta de datos. Para poder ejecutar las diferentes actividades de movimiento de datos dentro de nuestra pipeline de Data Factory lo primero que necesitamos hacer es seleccionar el motor de ejecución que utilizarán los linked service de origen y destino para llevar a cabo la actividad.
Pero la gran pregunta es… ¿Qué es un motor de ejecución dentro de un motor de ingesta y cómo elegimos el adecuado para nuestros movimientos de datos?
El motor de ejecución dentro de Data Factory se conoce como Integration Runtime. El Integration Runtime (IR) es el servicio que proporciona las capacidades de computación a las diferentes actividades dentro de Data Factory, proporcionando el puente entre las actividades y los linked services. Como es habitual en la mayoría de organizaciones, los datos de origen y destino se encuentran dispersos entre entornos On-premise y nuevos entornos Cloud. La localización del IR define dónde se realizará la computación y el movimiento de los datos.
El origen y el destino de la información de estos procesos de transferencia de datos, junto con la configuración de las redes de comunicaciones entre el entorno Cloud y el entorno On-premise, son elementos determinantes a la hora de definir la configuración y el tipo de IR que debe ser desplegado dentro de la plataforma. De entre las posibles opciones:
Para decidir entre las diferentes opciones qué IR desplegar y utilizar debemos responder a una serie de preguntas que se representan en el siguiente flujo de evaluación:
En este post partiremos de las consideraciones que representan una de las casuísticas más habituales dentro de las organizaciones:
Por lo tanto, la elección del motor de ejecución a desplegar y utilizar en nuestros procesos de ingesta será un Self-hosted IR.
Un Integration Runtime autogestionado puede ser desplegado en dos posibles ubicaciones, dependiendo de la naturaleza de los datos que se utilicen en los procesos de transferencia de información:
En base a las diferentes necesidades de ingesta de información, se pueden presentar 3 posibles escenarios de despliegue dentro de una organización:
Teniendo en cuenta el caso de uso inicial del post de ingestar y mover datos entre entornos híbridos, el escenario idóneo para este tipo de situaciones es el Escenario 3, siendo la posible arquitectura la que se muestra en la siguiente imagen:
Es muy importante seleccionar de forma adecuada el motor de ejecución sobre el que correrán nuestros procesos de movimientos de datos. Cuándo utilizar uno u otro dependerá del origen y el destino de los procesos de transferencia de datos, tal y como se ilustra en la siguiente figura:
Tal y como acabamos de ver, el Integration Runtime es el corazón de los procesos de ingestión desarrollados en Azure Data Factory. Elegir el tipo de IR adecuado para desplegar y/o utilizar es una decisión muy importante que debemos tomar antes de comenzar a desarrollar nuestros procesos de movimientos de datos.
No hacerlo de la forma adecuada podría suponer:
En posts posteriores describiremos los pasos que son necesarios llevar a cabo para la instalación de un Self-Hosted Integration Runtime dentro de una máquina virtual y cómo conectarse a los orígenes de datos.
Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.
Cuéntanos qué te parece.