Morph: el sistema para procesar datos en tiempo real
13 de octubre de 2024
No nos sirve de nada avalar un proyecto con nuestra experiencia profesional si no somos capaces de aplicarla con sentido y excelencia. Con la intención de que nuestra experiencia y maestría acumuladas en proyectos de procesamiento y explotación del dato se acerquen de forma valiente a esta calidad magnífica que buscamos en nuestros trabajos, hemos creado Morph.
Morph es un producto, una infraestructura reutilizable para crear pipelines para el procesamiento de datos en tiempo real de una forma sencilla y, además, económica. Permite crear diversos sistemas que dan solución a problemas como la detección de eventos y el análisis de datos agregados.
Por ejemplo, en el equipo de Data & Artificial Intelligence hemos desarrollado esta solución para detectar incidencias en la ruta de un usuario dentro de un trayecto en transporte público. Lo hicimos con el proyecto de TMB (Transports Metropolitans de Barcelona).
También usamos esta tecnología para la ingesta de datos tanto en tiempo real como para procesamiento por lotes. Los casos de uso han sido muy dispares. Por ejemplo, para recuperar una gran cantidad de tuits sobre un tema concreto y poder así realizar una evaluación en tiempo real del sentimiento de las personas, o para llevar a cabo el análisis de la evolución del precio de diferentes criptomonedas.
La barrera de entrada para Data Acceleration es sencilla y el planteamiento puede escalar desde una Prueba de Concepto (POC) hasta un proyecto transversal para la empresa. Es decir, puede crecer desde un piloto muy limitado e independiente a su infraestructura a un proyecto a gran escala. Se trata de un proceso muy evolutivo, donde se van incluyendo servicios y actualizando procesos antiguos por los nuevos.
De proyecto a producto: la evolución natural de Morph
Morph nació como una evolución natural de los proyectos en los que ya trabajábamos anteriormente con arquitecturas de datos como Lambda o Kappa. Parte del equipo Data & Artificial Intelligence aprovechó las primeras semanas de confinamiento durante la crisis provocada por la pandemia, con algunos sectores paralizados, para invertir tiempo en desarrollar este producto, una solución que consideraron altamente portable y escalable.
El nombre de Morph (nacido en un brainstorming del equipo) alude al proceso de transformación, metamorfosis, pero también al polimorfismo. Hace mención, ademas, a la idea de crear una solución útil y reutilizable para ayudar a nuestros clientes a maximizar el valor de sus datos.
Ahora, con el objetivo de ofrecer una solución que nos permita lograr todo esto de una forma rentable, desde el equipo de Data & AI ofrecemos, gracias a Morph, una solución empaquetada. Su principal ventaja radica en que, al tener la infraestructura orientada a ser desplegada mediante Kubernetes, podemos realizar una instalación agnóstica del proveedor cloud o incluso en un cluster on premise.
Asimismo, los componentes son configurables con políticas de autoescalado para optimizar recursos, lo que permite reducir el gasto en computación al mínimo necesario en cada momento.
Recopilar, construir y medir
¿Cómo funciona Morph? En el proceso se pueden distinguir cuatro grandes etapas.
- Como suele ser habitual en este tipo de proyectos, el primer paso es el de recopilación y extracción de datos de diversas fuentes, tanto públicas como internas.
- A continuación se construye un gran repositorio unificado de esos datos. Para ello, se limpia, estandariza y selecciona aquello que resulta interesante de las fuentes citadas.
- A partir del repositorio creamos métricas, generamos datos agregados o acometemos tareas de análisis sobre los mismos.
- Por último, con la información resultante, generamos tablas a modo de resúmenes e informes para crear visualizaciones útiles para el negocio.
Arquitectura de referencia de Morph
Para estas labores en el team de Data & AI de SNGULAR contamos con perfiles muy diversos. Los ingenieros de datos diseñan el flujo de datos, implementan las transformaciones requeridas y definen su estructura de almacenamiento. Precisamos también de profesionales especialistas en DevOps para configurar los contenedores y recursos asociados al despliegue en Kubernetes. Por otro lado, se requiere a especialistas en visualización de datos que construyen, despliegan y y configuran dashboards para la visualización de datos en herramientas como Google Data Studio, Tableau o PowerBI.
La democratización de la computación distribuida y de altas prestaciones permite hoy en día, de manera rápida, eficaz y con bajo coste, montar este tipo de sistemas reduciendo la incertidumbre y facilitando su evolución y mantenimiento.
Mirando al futuro, Luis Mesa, Data Engineer & Cloud Architect en el equipo de IA de SNGULAR, considera que es en el acceso y consumo de datos de fuentes propias del cliente donde más esfuerzo hay que invertir. «Es mucho mejor, por ejemplo, tener una API para consumir datos, que permita filtrar, limitar y agrupar los mismos, que un proceso batch que lea unos datos en CSV dejados diariamente en un servidor FTP», asegura Luis.
No hay duda de que disponer de la información en tiempo real nos permite tomar decisiones más realistas y acertadas. Todas las acciones, los eventos que tratamos de identificar o predecir con el uso de esta tecnología están enfocados a reducir el tiempo de reacción o aumentar la capacidad de anticipación de nuestros clientes para maximizar sus beneficios.
Morph puede proporcionar robustez y alta disponibilidad, escalabilidad, una rápida implementación, plasticidad y libertad.
Morph proporciona estos elementos
- Morph es extremadamente robusto ya que se despliega sobre Kubernetes. Si un nodo se cae, los componentes se rebalancean automáticamente mientras que otro nodo es aprovisionado.
- Diseñado para escalar. Sólo usa los recursos imprescindibles para funcionar en cada momento. Si la necesidad de procesamiento crece, Morph puede incrementar su potencia automáticamente.
- Capaz de ser puesto en producción casi de inmediato. Sólo se necesita crear o adaptar algunos conectores para la ingesta o el volcado de datos de diversas fuentes para poder operar con ellos.
- Sin compromisos con sistemas o bases de datos específicas. Es capaz de trabajar con cualquier proveedor y servicio gestionado e incluso en entornos basados en soluciones de nube híbrida.
- Sin vendor lockings, pudiendo ser desplegado en todos los proveedores de nube pública y on premise si hiciera falta. Tan solo se necesita la capacidad de crear un cluster de Kubernetes.
Las aplicaciones posibles son muy numerosas y en nuestro team estaremos encantado de mostrar cuáles son y explicar en detalle cómo funciona Morph. Si te has quedado con ganas de saber más no dudes en escribirnos a alfred@sngular.com.