¿Qué son los Kite Cloud Connectors?

LUCA    27 octubre, 2020

Los Cloud Connectors son una de las capacidades Cloud Ready que nos ofrece Kite, desarrollada por nuestro grupo de Tecnología IoT.  En este post os explicaremos en qué consiste.

¿ Qué son los Cloud Connectors? 

En esencia,  son un servicio mediante el cual podemos disponer de todos los datos de conectividad de nuestras SIMs volcados en los brokers IoT de los principales hyperscalers de IoT: Azure y AWS.

Figura 1: Modelo de arquitectura
Figura 1: Modelo de arquitectura

La principal ventaja que podemos conseguir con ellos es incluir los datos de conectividad dentro de la lógica de negocio de la solución del cliente.  

Por ejemplo, se pueden disparar acciones bajo ciertas circunstancias identificadas por la red de Telefónica desde la propia infraestructura del cliente, lo que ahorra tiempo de implementación o de gestión:

  • Cuando el IMEI cambia,
  • Cuando el consumo de voz o datos alcanza un umbral
  • o cuando se detecta una alteración en la localización basada en red de una SIM

Además, estas reglas de negocio pueden usar los datos combinados de la red, los dispositivos, y otros datos que el cliente disponga previamente en su infraestructura. 

Integración de Kite con el IoT Core de AWS mediante Cloud Connectors

A modo de ejemplo, vamos a mostrar los datos de conectividad en un dashboard generado en Grafana,  de una serie de SIMS que tenemos distribuidas en el mundo.  

La arquitectura desplegada es la siguiente: 

Figura 2: Arquitectura para visualización de los datos de conectividad de las SIMS en un dashboard de Grafana
Figura 2: Arquitectura para visualización de los datos de conectividad de las SIMS en un dashboard de Grafana

Como podemos apreciar en el diagrama anterior, los dispositivos del cliente, usando las SIMs de Kite, se conectan a través de nuestra red con el broker MQTT de AWS IoT Core, donde vuelcan los datos propios de telemetría del dispositivo.

De manera paralela, se envían desde Kite en tiempo real las modificaciones o eventos que hay sobre la información de la SIM: estado de la SIM, estado de la conexión, APN utilizado, alias, consumo de datos/voz/SMS, IMEI del dispositivo conectado, etc., aglutinando todos esos datos en el mismo componente. 

Figura 3: Datos de estado de las SIMS aglutinados en un componente
Figura 3: Datos de estado de las SIMS aglutinados en un componente

¿Qué podemos hacer con estos datos?

Como ejemplo de una de la multitud de opciones que se pueden realizar con estos datos, hemos optado por integrarlos en un dashboard de Grafana.  

Una vez los datos han sido registrados en el IoT Core, hemos configurado una regla que envía todos estos datos a un microservicio que se encarga de parsear la información y enviarla a una base de datos.  

Figura 4: Regla para disparar la función Lambda
Figura 4: Regla para disparar la función Lambda

Para el despliegue del anterior microservicio, hemos utilizado una herramienta de AWS llamada AWS Lambda. Este permite ejecutar código sin provisionar ni administrar servidores, y se paga sólo por el tiempo de cómputo que se utiliza. 

Lambda puede ejecutar código en una gran cantidad de lenguajes de programación, sin tener que realizar tareas de administración. Sólo hay que cargar el código y automáticamente se desencadena todo lo necesario para ejecutar y escalar la función con alta disponibilidad. 

Figura 5: Función Lambda
Figura 5: Función Lambda

Las funciones lambda pueden realizar multitud de tareas: desde enviar los datos a un backend on premise del cliente, como republicar la información en otros servicios de AWS como el SNS o incluso enviarlo a otras nubes públicas como Azure o GCP. 

En nuestro caso, para realizar este demostrador, hemos decidido enviar esta información a una base de datos MySQL, también hosteada y gestionada dentro AWS . Esto nos permite tener un histórico de todas las modificaciones que se han producido en las SIMs que tenemos monitorizadas.   

Figura 6: Información registrada en un MySQL
Figura 6: Información registrada en un MySQL

Visualización en EC2

Como la visión de la base de datos puede ser un tanto árida optamos por desplegar un Grafana en una máquina del ec2 y así mostrar esta información de una manera más amigable.  

Grafana es una herramienta para visualizar datos de serie temporales. A partir de una serie de datos recolectados se puede obtener un panorama gráfico de la situación de una empresa, organización o servicio.  

Desplegar un servicio como este es algo muy sencillo, y muy bien documentado en la red.

Una vez desplegado en EC2, lo único que resta es configurar como fuente de datos de Grafana la base de datos MySQL que hemos utilizado anteriormente y … ¡Ya podemos empezar a agregar los widgets que más nos interesen, para mostrar los datos que queremos representar! 

Y como muestra dejamos el siguiente Dashboard 

Imagen que contiene monitor, computadora, pantalla, grande

Descripción generada automáticamente
Figura 7: Dashboard

Escrito por Luis Peña, IoT & Cloud Solutions Architect.

Para mantenerte al día con el área de Internet of Things de Telefónica visita nuestra página web o síguenos en TwitterLinkedIn YouTube

Deja un comentario

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