# data[].attributes.body
Escalabilidad limitada: Debido a su naturaleza monolítica, no escala bien sin un diseño complejo.

Elasticidad baja: Dificultades para adaptarse a cargas variables.

Tolerancia a fallos: Un error en un filtro puede afectar a toda la aplicación.

Desplegabilidad y testabilidad promedio: Aunque la modularidad ayuda, se requiere probar y desplegar toda la aplicación ante cualquier cambio.

# data[].attributes.body
Topología de Arquitectura de Pipeline

Las tuberías y los filtros se coordinan de una manera específica, y las tuberías forman una comunicación unidireccional entre filtros, generalmente de punto a punto.

# data[].attributes.body
Costo bajo: Es relativamente económico de construir y mantener debido a su simplicidad.

Simplicidad: Fácil de entender y de implementar.

Modularidad: Los filtros pueden ser modificados o reemplazados sin afectar a los demás.

# data[].attributes.body
Es un componente que realiza una transformación o procesamiento sobre un conjunto de datos. Existen 4 tipos:

Productor: El punto de inicio de un proceso, solo de salida, a veces llamado la fuente.

Transformador: Recibe datos, los transforma y envía los resultados a la siguiente etapa del proceso.

Probador: Evalúa los datos según ciertos criterios y, dependiendo del resultado, puede o no generar una salida.

Consumidor: El punto final del proceso que persiste o muestra los resultados, como en una base de datos o una interfaz de usuario.

# data[].attributes.body
Las tuberías en esta arquitectura forman el canal de comunicación entre filtros. Cada tubería es típicamente unidireccional y de punto a punto (en lugar de transmisión) por razones de rendimiento, aceptando la entrada de una fuente y siempre dirigiendo la salida a otra

# data[].attributes.body
Apache Kafka es una plataforma de streaming que se utiliza para crear aplicaciones de procesamiento de datos en tiempo real. Emplea la arquitectura de pipeline, permitiendo que los datos fluyan y se procesen en diferentes etapas.

En un sistema de monitoreo, los datos de telemetría se envían a Kafka desde varios microservicios. Luego, estos datos se procesan a través de filtros y transformadores, como Service Info Capture y Duration Filter, antes de almacenarse en una base de datos o usarse para análisis en tiempo real.

# data[].attributes.body
Herramientas ETL

Por ejemplo, Apache NiFi, Talend e Informatica, integran datos de diversas fuentes, transformándolos y cargándolos en un destino como un data warehouse.

En una empresa que recopila datos de ventas de tiendas físicas, comercio electrónico y redes sociales, una herramienta ETL puede extraer los datos (Extract), limpiarlos y unificarlos (Transform), y finalmente cargarlos en un data warehouse para su análisis (Load), funcionando como un filtro en la arquitectura de pipeline, lo que permite modificar o reemplazar una etapa sin afectar las demás.

# data[].attributes.attachment_caption
Diseño, Desarrollo y Despliegue de un Data Pipeline

# data[].attributes.body
Lenguajes y Frameworks de Programación

Python: Utilizado para la creación de scripts para pipelines y automatización

JavaScript/Node.js: Utilizado para crear aplicaciones y APIs que interactúan en pipelines.

Go: Utilizado para el desarrollo de microservicios y aplicaciones en contenedores.

# data[].attributes.attachment_link.title
Design, Development and Deployment of a simple Data Pipeline

# data[].attributes.attachment_link.description
Data Engineering technical challenge (part 1)

# data[].attributes.body
Cuando se necesita un flujo de procesamiento secuencial y modular.

Para sistemas donde las transformaciones de datos pueden descomponerse en pasos claros.

Ideal para sistemas simples o con un presupuesto limitado, pero menos adecuado para sistemas que requieren escalabilidad horizontal o tolerancia a fallos.

# data[].attributes.body
Servicios en la Nube

1. AWS: Es un proveedor de servicios en la nube que ofrece herramientas para implementar pipelines.

2. Google Cloud Platform (GCP): Ofrece herramientas como Google Cloud Build para crear pipelines.

3. Microsoft Azure: Proveedor de nube que incluye Azure DevOps y otras herramientas para CI/CD.

# data[].attributes.attachment_link.title
Video Exposición Arquitectura Tubos y Filtros