Cómo contenedorizar sus tareas de Talend con un solo clic

Cómo contenedorizar sus tareas de Talend con un solo clic

  • Edward Ost
    Over 25 years of experience in application and web development with extensive experience on both Java and .NET platforms. Ed works as the Channels Technical Director at Talend working with technology partners, commercial use customers, and SI partners in the Talend ecosystem. Current focus is on enterprise integration strategies spanning DW, Data Lake, and operational decision support systems using the Talend Unified Platform.

Este texto forma parte de una serie sobre arquitectura y contenedores serverless. La primera entrega de la serie analizaba el impacto de los contenedores sobre el DevOps.

Talend Data Integration es una plataforma de integración de datos para empresas que ofrece un diseño visual, generando un Java sencillo. Este enfoque de diseño modular ligero es la opción perfecta para los contenedores. En esta entrada le enseñaremos cómo contenedorizar su tarea de Talend con un solo clic. Todos los ejemplos de código de este texto los encontrará en nuestro repositorio de Git Talend Job2Docker. Este archivo léame de Git también incluye instrucciones pormenorizadas.

Cómo crear Job2Docker

Job2Docker tienes dos partes. La primera es un script de Bash muy sencillo que empaqueta su archivo ZIP de la tarea de Talend como una imagen de Docker. Durante esta etapa de empaquetado, el script modifica el comando de lanzamiento de su tarea de Talend para que se ejecute como PID 1. La tarea en sí no se modifica de ninguna otra manera. Con ese cambio, su tarea de Talend será el único proceso del contenedor. Este enfoque encaja con la filosofía y las mejores prácticas de Docker. Cuando cree una instancia de contenedor, su tarea de Talend se ejecutará automáticamente. Una vez terminada la tarea, el contenedor se desactivará. La lógica de su aplicación queda perfectamente disociada de la infraestructura computacional de alojamiento. Puede hacer uso de herramientas de orquestación de contenedores como Kubernetes, OpenShift, Docker Swarm, EC2 Container Services o Azure Container Instances para gestionar eficientemente sus contenedores de tareas. Tanto si trabaja en cloud como localmente, puede aprovechar la mejora en la elasticidad para rebajar los costes totales de la propiedad.

Cómo se ejecuta Job2Docker

La segunda parte de Job2Docker es una sencilla Tarea de suministro escrita en el mismo Talend. Hace el seguimiento de un directorio compartido. En el momento en que cree una Tarea desde Studio para este directorio, el oyente de Job2Docker invocará el script de empaquetado de tareas para crear la imagen en Docker.

Lo único que necesita para ejecutar los ejemplos son una instancia de Talend Studio 7.0.1 (que puede descargarse gratis aquí) y un servidor con Docker.

  • Si ejecuta Studio en Linux, puede simplemente instalar Docker y seleccionar un directorio para compartir sus tareas de Talend con Docker.
  • Si ejecuta Studio en Windows, puede probar Docker para Windows o instalar Linux en una máquina virtual.

Los ejemplos que incluimos han sido ejecutados en una MV de Linux mientras Talend Studio se ejecutó en Windows en el sistema operativo anfitrión. Para que Studio y Docker se comuniquen tendrá que compartir una carpeta con la herramienta de la MV que usted elija.

Una vez instalados estos scripts y el oyente de Job2Docker, el flujo de trabajo resultará transparente para el usuario de Studio.

1. Inicie la tarea Job2Docker_listener que controla el directorio compartido.

2. Haga clic en "Build" en Talend Studio para crear un archivo ZIP de la tarea de Talend en el directorio compartido. Y ya está.

3. El Job2Docker_listener de Talend activa el script Job2Docker para que convierta el archivo ZIP de Talend a un archivo .tgz apto para Docker.

4. El Job2Docker_listener de Talend activa el script Job2Docker_build, que genera una imagen para Docker.

5. Cree un contenedor con el comando Run (Ejecutar) de Docker. Su tarea se ejecutará automáticamente.

El repositorio Job2Docker incluye algunos ejemplos básicos tipo "Hola, mundo" y le indica cómo enviar parámetros fácilmente a su Tarea. El proceso detallado se explica en un breve vídeo disponible en YouTube.

Una vez tenga su imagen de Docker, ya puede publicarla en el registro de Docker que desee y coordinar su aplicación contenedorizada como parte de su flujo de trabajo de integración continua.

Se trata de un proceso engañosamente sencillo, pero tiene implicaciones de calado en la forma de gestionar sus flujos de trabajo a escala. En nuestra próxima entrada le enseñaremos cómo orquestar varias tareas contenedorizadas con herramientas de orquestación de contenedores como Kubernetes, EC2 Container Services, Fargate o Azure Container Instances.



Join The Conversation

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *