Running a cluster with Apache Nifi and Docker

Sobre Apache NiFi hemos hablado mucho, ya sea en ejemplos de #DataStreaming ejecutados en RealTime o bien, en la construcción de Data Pipeline más simples. En todos los casos anteriores, nuestro Apache NiFi, era “Single node”. El post de hoy es lanzarlo mediante su opción de Cluster y mediante Docker. Veamos: Preparando el docker-compose.yml Lo primero será construir nuestro “docker-compose.yml” con todo aquello requerido. Como por ejemplo añadiendo un ZooKeeper para la gestión de la información entre los nodos de forma automatizada y, luego, la configuración de Apache NiFi. [Leer más]

UOC: Camino al Cloud, aprendizajes vs desaprendizajes

Recientemente la UOC (Universitat Oberta de Catalunya), presentó su “Camino al Cloud“, de la mano de David Ayala (IT Architecture Manager en la UOC) en las Jornadas Técnicas de RedIRIS 2019. Hoy haremos un resúmen de su “Camino” y veremos con un poco de detalle algunas de sus propuestas. Como ya vimos en el pasado post de “Mango: Desescalando una organizacion”, afrontar una Transformacion Digital no es nada fácil pero tampoco imposible. [Leer más]

Deployando Traefik en Kubernetes mediante Helm

Helm es un más que interesante gestor de paquetes en Kubernetes y, mediante ficheros YAML va a permitirnos una gestión de nuestro Clúster de una forma muy simple. Una de sus grandes opciones es que tiene un repositorio muy amplio (Charts), podemos descubrir algunos de sus ejemplos en: https://github.com/helm/charts/ En nuestro caso usaremos Kubernetes mediante la opción microk8s que ya hemos hablado anteriormente. Instalar Helm Por defecto, en snap no tenemos la opción y tendremos que determinar que queremos hacerlo mediante “classic”. [Leer más]

Micro Clúster Kubernetes en Ubuntu (MicroK8s)

Hoy contaremos como desplegar un “Clúster” Kubernetes en Ubuntu y lo haremos mediante su opción de “MicroK8s” (Kubernetes for workstations and appliances). Instalando Kubernetes MicroK8s Para ello, el primer paso será asegurarnos que tenemos instalado “snap” en nuestro Ubuntu: sudo apt install snapd. Una vez lo tengamos, podemos proceder a instalarlo con snap install microk8s --classic. MicroK8s es una instalación mínima de Kubernetes diseñada para funcionar localmente. Para asegurarnos que ha quedado correctamente instalado lanzamos el comando: microk8s. [Leer más]

AWS LocalStack: Develop and test your cloud apps offline

La llegada del Cloud supuso un antes y un después, pero también es cierto, complicó un tanto la vida para poder validar los correctos funcionamientos de nuestras aplicaciones ya que, teníamos que replicar entornos, por ejemplo de Integración, elevando sus costes. Pues bien, el proyecto LocalStack es una fantástica solución para “simular” nuestro AWS Cloud en local, sea instalado localmente o bien desplegado en su versión Docker. Requirements Para poder ejecutar cualquier tipo de interacción con nuestro LocalStack tendremos que tener instaladas las AWS CLI (Command Line Interface), veamos: [Leer más]

Emotion as a Service... analyzing human expressions and emotions

La emociones como servicio (Emotion as a Service). ¿Suena raro? ¡Quizás si! Pero ya es totalmente posible y abre, frente a nosotros, un nuevo paradigma de interpretación de nuestra realidad permitiéndonos analizar las expresiones humanas, como la emoción, de forma sencilla y muy rentable. ¿Cómo podemos hacerlo? Por ejemplo a partir de grabaciones en vídeo o audios o con “simples” imágenes. Mediante los médios anteriores, podremos reconocer a las personas que expresan emociones y obtener importantes métricas muy poderosas. [Leer más]

Data Science project lifecycle

La gestión de proyectos, que hemos hablado por aquí bastante, no es cosa fácil… pero lo es todavía menos cuando tenemos frente a nosotros proyectos de “Data Science”. Por ello hemos desarrollado un pequeño framework para poder afrontar, con éxito, nuestro proyecto “Data Science”, veamos: Definition of Project El Sprint 0. ¿Cuántas veces nuestras expectativas vs lo entregado coinciden?. Aunque se esté trabajando con Metodología Agile, por ejemplo, no quiere decir que planifiquemos bien, que pensemos bien, etc… y es por eso de la importancia de trabajar cuanto antes y lo mejor posible nuestro Sprint 0. [Leer más]

Apache Airflow: Batch Processing platform

Airflow es una plataforma de Batch Processing donde podremos crear, programar y supervisar dichos flujos de trabajo y todo mediante DAGs. Airflow ejecuta las tareas en un conjunto de workers mientras continúa con las dependencias especificadas. Dispone de una más que completa línea de comandos que permite realizar configuraciones un tanto complejas en los DAGs, como también de una correcta interfaz de usuario que facilita la visualización de las pipelines que se están ejecutando en producción, para su monitoreo y aplicar resolución de problemas cuando sea necesario. [Leer más]

Faust: Stream Processing for Python

Faust es una librería de procesamiento en flujo distribuido que ha sido diseñada y construida para manejar el procesamiento de grandes cantidades de datos en tiempo real. Se inspira en Kafka Streams, pero adopta un enfoque ligeramente diferente en el procesamiento de los flujos. Faust está escrito en Python 3, aprovechando así sus notables mejoras de rendimiento y se integra con su librería asyncio (Asynchronous I/O), escrita para facilitar los procesos asíncronos de alto rendimiento. [Leer más]