1 Respuesta
P: ¿Qué necesito para crear mi propia nube personal para dispositivos IoT?
¿Qué necesita que haga?
¿Su dispositivo IoT es una tostadora conectada que hace un seguimiento de las tostadas quemadas y ajusta el mecanismo de calentamiento basándose en algún tipo de aprendizaje automático que se adapta a su uso doméstico?
¿Es una Raspberry Pi que está utilizando como cámara para el timbre de la puerta, y quiere almacenar de forma segura y privada el vídeo de captura de movimiento para protegerse de los piratas del porche?
¿Está configurando una serie de dispositivos sensores que registran datos de series temporales como la temperatura, la presión barométrica o los niveles de humedad dentro de un área (un edificio con climatización, por ejemplo)?
Todos estos son casos de uso diferentes, y suponen algún tipo de infraestructura de backend para apoyar el flujo de datos dentro y fuera del sistema.
–
A nivel de «nube personal», no estamos hablando de muchos datos. Lo más probable es que encuentres algún tipo de sistema de almacenamiento similar a Google Drive (ownCloud, NextCloud y similares) bastante adecuado, junto con una conexión a Internet de algún tipo para conectarte a él y un lugar para instalar el software (ya sea servidores/VM alquilados a un proveedor de alojamiento o comprando tu propio hardware y alquilando espacio físico de colocación en un centro de datos).
Con algo como ownCloud/Nextcloud, trabajarás con conceptos de almacenamiento con los que ya estás familiarizado (volúmenes remotos, discos o puntos de montaje del sistema de archivos), y las cosas funcionarán como una unidad de red local de un servidor de archivos o Dropbox/Google Drive/iCloud/etc.
Pero para casos de uso específicos en torno al IoT, donde los dispositivos generan o interactúan con los datos, las opciones pueden ser más específicas según la necesidad:
Para datos no estructurados y «estáticos» (archivos de vídeo o audio, o incluso algo como un montón de archivos CSV y documentos de Word), un sistema de almacenamiento de objetos es un backend ideal. MinIO y OpenStack Swift son dos buenas opciones.
Para los datos de series temporales, podría utilizar OpenTSDB o similar.
Para datos en streaming (generados continuamente a partir de múltiples fuentes de datos), podría encontrar uso con Apache Kafka.
Para el tema de la configuración de la tostadora, un clúster Hadoop con HDFS para el almacenamiento de datos y MapReduce puede proporcionar algunas opciones básicas de aprendizaje automático.
–
Todos estos están diseñados para grandes clústeres escalables de cientos (o incluso miles) de nodos, aunque puedes desplegar todo esto en un solo servidor con virtualización para un pequeño número de dispositivos IoT y empezar a escalar la infraestructura física subyacente cuando sea necesario.
Pero ahora sólo estás construyendo una infraestructura. En este momento no es realmente una «nube personal», a menos que la revendas de forma bajo demanda y en autoservicio («nube pública») o formes parte de un grupo de TI más grande que establezca una tecnología de autoservicio para que tus equipos de desarrollo la consuman cuando la necesiten («nube privada»).