Con el paso del tiempo, el concepto de Internet de los objetos abarca cada vez más cosas. Además de tener sensores y procesadores internos incorporados, estas cosas también se conectan directamente a la red, transmitiendo sus datos en línea. La domótica puede ser el caso de uso "principal" de este concepto: si, por ejemplo, el frigorífico se queda sin leche, la pedirá automáticamente al supermercado. Pero el alcance de las aplicaciones IoT es cada vez mayor. Tendremos muchas cosas que interactúen entre sí pero sean independientes unas de otras, las oficinas pedirán automáticamente artículos de oficina cuando los necesiten sin nuestra intervención, e incluso sensores en nuestra ropa y nuestro cuerpo transmitirán nuestros datos de salud a nuestros médicos en tiempo real. Este tipo de comunicación M2M (máquina a máquina) es clave.
Para aprovechar todas las ventajas potenciales de IoT, la computación en nube debe ser la base de IoT. La idea que subyace a Internet es que la mayor parte de los datos recopilados se transmitan en línea, de modo que las aplicaciones puedan agregar, analizar y utilizar estos datos de forma eficaz. Volvamos al ejemplo del frigorífico. En este ejemplo, en lugar de que sea el propio frigorífico el que pida la leche al supermercado, éste transmite todos sus datos, incluido el inventario actual de alimentos y el consumo del usuario, a la aplicación, que lee y analiza los datos. La decisión de compra se toma entonces en función de factores como el presupuesto actual de alimentos del usuario y el tiempo que tardará en llegar la leche, y la nube es el hogar ideal para estas aplicaciones.
Si todos nuestros productos cotidianos estuvieran equipados con ello, la cantidad de datos generados sería enorme. Por ello, IoT debe plantearse cómo almacenar y analizar los datos generados. No se trata solo de la cantidad de datos, sino también de la velocidad a la que estos se generan. Los sensores generan cada vez más datos más rápido de lo que la mayoría de las aplicaciones comerciales pueden procesarlos.
Las soluciones basadas en la nube son fundamentales para hacer frente al volumen y la velocidad de generación de datos. La nube puede proporcionar de forma automática y dinámica recursos de almacenamiento aprovisionados en función de nuestras necesidades sin intervención manual. La nube también nos ofrece la posibilidad de acceder a almacenamiento virtual a través de clústeres de bases de datos en la nube o almacenamiento físico virtualizado que puede ajustar la capacidad sin tiempo de inactividad, y la posibilidad de acceder a grandes conjuntos de recursos de almacenamiento, lo que no es posible a nivel local.
La segunda cuestión sobre estos datos es qué hacer con ellos. Este problema plantea dos dificultades. La primera es cómo procesar en tiempo real todos los datos obtenidos de cada objeto. La segunda dificultad es extraer información útil de todos los puntos de datos disponibles recogidos y correlacionar la información obtenida de diferentes objetos para añadir valor real a los datos almacenados.
Aunque el procesamiento en tiempo real pueda parecer sencillo -tomar los datos, analizarlos y luego utilizarlos-, no es así en tiempo real. Volvamos al ejemplo del frigorífico. Imaginemos que cada vez que alguien abre la puerta del frigorífico, éste envía un paquete de datos. Estos paquetes de datos incluyen lo que se ha movido y lo que se ha metido. Estimemos que hay unos 2.000 millones de frigoríficos en el mundo, y que la puerta del frigorífico se abre y se cierra 4 veces al día, por lo que se generarán 8.000 millones de paquetes de datos en un día, lo que supone unos 100.000 paquetes de datos por segundo de media. Esta cantidad es muy sorprendente. Y lo que es peor, estos puntos de datos pueden concentrarse en momentos característicos del día (principalmente por la mañana y por la noche). Si preparamos la capacidad de procesamiento en función de la carga máxima, se desperdiciará mucha infraestructura.
Una vez realizado el procesamiento en tiempo real, nos encontraremos con la segunda dificultad, que es cómo extraer información útil de estos datos almacenados y llevarlos a un nivel superior y que dejen de ser cuestiones personales. Sería estupendo para usted personalmente que su frigorífico pudiera hacer automáticamente el pedido de la compra por usted, pero ¿y si el fabricante supiera que los frigoríficos de determinadas regiones tienen tendencia a sobrecalentarse, o que los frigoríficos que almacenan determinados artículos agotan su vida útil demasiado deprisa? Entonces sí que tendría más importancia para los fabricantes. Para extraer este tipo de información de los datos almacenados, tenemos que aprovechar las soluciones de big data existentes (y algunas en el horizonte).
La computación en nube es idónea para gestionar estos problemas. En el primer punto problemático, permite la asignación (y recuperación) dinámica de recursos de procesamiento, lo que permite a las aplicaciones que necesitan analizar datos de frigoríficos en tiempo real hacer frente a estos volúmenes masivos de datos y optimizar los costes de infraestructura. En la segunda dificultad, la computación en nube puede colaborar con las soluciones de big data.
En resumen, el Internet de los objetos puede cambiar la arquitectura general de la computación en nube, pero al mismo tiempo ésta también es fundamental para lograr este cambio. En cuanto a los recursos informáticos virtualizados, aunque las aplicaciones puedan asignar dinámicamente estos recursos sin intervención manual, la computación en nube no tendrá ningún desarrollo si es así. Porque el Internet de las Cosas es el único motor de su desarrollo.