miércoles, 14 de diciembre de 2016

Fog computing: ¿Un nuevo viaje de ida y vuelta?

En el mundo de la tecnología parecen existir patrones que se repiten, historias que aunque se nos cuentan como nuevas, nos hacen rememorar lo ya vivido antes.

Una sensación en esa línea he tenido al leer las explicaciones sobre el significado, arquitectura y motivaciones del concepto de Fog Computing propuesto por Cisco y con el que me encuentro mientras leo el libro 'Internet of Things. Principles and Paradigms' editado por Rajkumar Vuyya y Amir Vahir Dastjerdi.

Primero veamos una definición que se propone en esa fuente:

We define Fog computing as a distributed computing paradigm that fundamentally extends the services provided by the cloud to the edge of the network

Y una pequeña explicación adicional:

Fog computing essentially involves components of an application runing both in the cloud as well as in edge devices between sensors and the cloud, that is, in smart gateways, roouters or dedicated devices.

Para entenderlo: en el mundo de Internet de las Cosas existen una miriada de dispositivos inteligentes distribuidos, con capacidad para emitir información y, de una forma más o menos limitada o amplia, actuar sobre su entorno, Coordinando esos dispositivos y dotando al conjunto de inteligencia y funcionalidad, existe algún tipo de aplicación que, en general, residirá en 'la nube' (recordar el concepto de Cloud of Things). Y, uniendo los datacenters donde reside la aplicación central con los dispositivos existe una red donde encontramos routers, gateways y otros elementos de networking.



Pues bien, la propuesta de Cisco es trasladar parte de la lógica de aplicación hacia esos elementos intermedios, esos routers y gateways. ¿El razonamiento? Los dispositivos, por un lado, son computacionalmente modestos pero, por otro, llevar toda la lógica al datacenter sobrecarga las comunicaciones y produce retardos a lo que se añade las típicas preocupaciones sobre la privacidad de los datos.

En cierto sentido, Fog computing es un tipo de Cloud computing en que la lógica, en lugar de estar centralizada, se encuentra parcialmente distribuida y en las fronteras de la red, en lugar de en su núcleo.

Desde luego, parece una propuesta interesante, pero hay dos reflexiones que se me ocurren.

Por un lado, me pregunto si, dado que es Cisco el proponente de esta arquitectura, y Cisco es un reconocido líder en equipamiento de networking, si los razonamientos que se hacen son absolutamente objetivos o tienen su parte de 'arrimar el ascua a la propia sardina' por parte de Cisco, de posicionarse, en definitiva, como un actor fundamental en el goloso campo de Internet de las Cosas.

Por otro lado, y enlazando con el inicio de este post, no deja de recordarme este planteamiento a la historia de la TI más tradicional, con un continuo viaje de ida y vuelta desde la periferia hasta el centro y viceversa. 

Así, la TI más antigua se inició con los mainframes con toda la lógica en servidor y unos terminales 'tontos' (de hecho, se llamaban así a los venerables VT100 o los 3270). Con la generalización del PC, la capacidad computacional de la periferia de la red creció enormemente y se pasó a modelos cliente/servidor con cada vez mayores potencialidades en cliente (en el PC, por entendernos). 

Con la llegada de la web, se tendió a clientes más ligeros (los navegadores) y, de nuevo, a llevar más lógica al servidor (servidor web y servidores de aplicación). Esta tendencia se acentuó más, ya bastante recientemente, con el modelo Cloud computing

Y resulta que ahora, con Fog computing, volvemos a plantear desplazar lógica hacia la periferia de la red, aunque en este caso no sea hacia los terminales sino a la zona fronteriza de la red propiamente dicha, hacia los routers y los gateways.

¿Es que estamos siempre con ese viaje de ida y vuelta? ¿Es que no decidimos cuál es el modelo óptimo y dónde debe residir la lógica?

Puede parecer una moda...o puede estemos en continuo progreso y movimiento y que según qué avance más deprisa, si las capacidades computacionales de los elementos terminales o las de los servidores, si el número de terminales o el ancho de banda de la red, decidamos en cada momento el mejor balance posible

Iremos viendo...