Blog de Amazon Web Services (AWS)

Smilics Technologies desarrolla una plataforma SaaS multi-tenant sobre AWS para mejorar la eficiencia energética eléctrica de particulares e industrias

Sobre Smilics Technologies

Smilics Technologies es una empresa perteneciente al holding The Yellow Nest con más de 90 empleados. Nuestro objetivo dentro del grupo es la ideación, desarrollo, fabricación y venta de soluciones que ayuden a mejorar la eficiencia energética eléctrica, tanto de usuarios domésticos como industriales.

Estas soluciones están conformadas por un hardware (los dispositivos Wibeee), que miden cada segundo más de 20 parámetros eléctricos, y un software (la plataforma Wibeee Nest), que recoge este enorme volumen de datos, lo procesa, almacena y analiza para facilitar al cliente una visión clara y comprensible de su consumo eléctrico.

Más en concreto, y gracias a la revolución que está representando el fenómeno del autoconsumo solar, hoy más de 100,000 hogares y empresas de todo el mundo monitorizan su producción solar y optimizan sus cargas de consumo gracias a nuestras tecnologías.

Con la innovación como puntal de nuestro desarrollo, hace siete años que trabajamos un algoritmo de machine learning capaz de desagregar la señal eléctrica y descomponerla para atribuir el consumo de cada uno de los electrodomésticos de una vivienda, por separado. De este modo nuestros clientes ‘residenciales’ tienen el mayor control posible sobre su consumo.

Y es que en nuestro ADN está el dejar el mundo un poco mejor de cómo nos lo hemos encontrado.

El Desafío

Los medidores Wibeee generan una trama de datos de aproximadamente 1KB cada segundo y lo envían a la plataforma de forma inmediata. Esto es así porque hay dos características que lo necesitan: (1) poder mostrar en tiempo real el consumo de la vivienda, (2) guardar esta información en una resolución lo suficientemente pequeña para que el algoritmo de machine learning pueda desagregar la señal eléctrica de forma eficaz.

Recibir más de 97 MB por segundo y procesar estas lecturas no es tarea sencilla. Agregarlas para disponer de granularidades más manejables (minutos, 15 minutos, horas) tampoco. Y persistirlo todo para que las consultas sobre base de datos sean cercanas al tiempo real, ya requiere de una arquitectura muy específica.

A principios de 2021 todo el software de la plataforma venía soportado por un proveedor de Cloud externo, sobre servidores aprovisionados manualmente y con seis nodos de Apache Cassandra como gestor de base de datos principal para el almacenamiento de todas las lecturas. Viendo que el crecimiento de la venta de dispositivos era imparable, se decidió analizar qué alternativas había en el mercado Cloud que pudieran ayudarnos en el desarrollo del negocio y garantizar que esta apuesta fuera sostenible en el tiempo.

Con los análisis de las consultoras Gartner y Forrester en la mano, y después de contactar con el equipo técnico y comercial de AWS en Iberia, nos quedó claro el camino a seguir.

La Solución en AWS

La plataforma Wibeee Nest está diseñada para dar respuesta a 5 fases en nuestro proceso de datos:

  1. El proceso de INGESTA, basado en AWS Elastic Beanstalk y máquinas Amazon EC2 sobre un grupo de auto escalado, encargado de validar la entrada de información proveniente de los Wibeee, en todo el sistema.
  2. El proceso de AGREGACIÓN, en el que vamos a trasladar este flujo de datos vía Amazon Kinesis Data Streams y vamos a hacer agregaciones de segundo a minuto, cuarto de hora y hora ‘al vuelo’ gracias a AWS Lambda. Trataremos en este momento la problemática de los datos multi-minuto, que son aquellos datos que nos llegan cuando un dispositivo ha estado desconectado, pero guardando medidas durante un tiempo y, en cuanto recupera conectividad, nos los envía para su desempaquetado y agregación. También utilizamos Amazon Kinesis Data Analytics para la extracción de métricas en tiempo real del streaming de datos, como también Amazon Kinesis Data Firehose para la transformación y cargas de los datos en Amazon Simple Storage Service (Amazon S3).
  3. El proceso de PERSISTENCIA, donde guardaremos los datos en diversos servicios como Amazon RDS for PostgreSQL para base de datos relacional, Amazon ElastiCache for Redis para las métricas de tiempo real, Amazon DynamoDB como base de datos NoSQL y poder así almacenar datos no estructurados, y por último Amazon S3 para guardar grandes volúmenes de métricas en ficheros con formato Parquet.
  4. El proceso INSPECTEE, en el que analizaremos con nuestro algoritmo de Machine Learning las lecturas eléctricas en resolución de segundo.
  5. Y finalmente el proceso el proceso de PRESENTACIÓN, en el cual se exponen los datos recolectados y ya procesados vía API con el servicio Amazon API Gateway y que a su vez utiliza AWS Lambda para realizar las consultas a las distintas bases de datos de la capa de persistencia. El servicio Amazon Athena es utilizado para realizar consultas SQL al catálogo de datos generado por AWS Glue sobre las métricas almacenadas en Amazon S3.

Con todo esto conseguimos nuestros objetivos iniciales:

  • Mínima intervención de nuestro equipo de sistemas, al tratarse en su mayoría de una arquitectura manejada y serverless.
  • Aprovisionamiento de medidas en real-time tanto para los usuarios finales, como para las empresas comercializadoras de energía, que son nuestros principales clientes.
  • Capacidad de proporcionar acceso a la información via PULL con Amazon API Gateway y nuestra API REST pública.
  • Capacidad también de proporcionar acceso PUSH realizando streaming de datos con Amazon Kinesis Firehose ‘ad-hoc’ para grandes clientes.

Diagrama de Arquitectura en AWS

Conclusión

A fecha de hoy, más de 100,000 medidores están enviando información sobre consumos domésticos e industriales a nuestra plataforma. Desde el día de la puesta en marcha hace más de un año, no se ha registrado ningún incidente ni alerta de baja disponibilidad del servicio.

Tanto las comercializadoras de energía como los clientes finales (usuarios) disponen en tiempo real de la información, con todos los beneficios sobre el conocimiento del consumo que podemos aportarles.

Resaltar finalmente que el crecimiento de clientes (especialmente el segmento con instalaciones fotovoltaicas) ha sido enorme, y la plataforma no se ha visto afectada en lo más mínimo, confirmando así, que nuestra elección de ir de la mano de AWS fue la acertada.

Por Joan Villalta, Senior Product Manager en SMILICS TECHNOLOGIES

Sobre los Autores

Joan Villalta, desde 2021 Senior Product Manager en SMILICS TECHNOLOGIES.

Más de 20 años de experiencia en soluciones Cloud que requieran alta disponibilidad y manejen grandes volúmenes de datos.

Ezequiel Ballesteros, Solutions Architect de PyMEs en AWS Iberia, con gran experiencia en Migraciones.
Marta de Esteban Belzuz, Account Manager de AWS en Iberia. Se dedica a ayudar a los clientes a acelerar sus negocios y su proceso de transformación digital en la nube de AWS.