jueves, 28 de septiembre de 2017

Edge Computing, qué es y porqué me importa.

Las tecnologías son como un péndulo. Las modas que desaparecen años después resurgen con algún nuevo matiz pero el mismo fondo.
Cloud no es nada más que el producto de eso mismo, la eterna lucha entre la centralización o descentralización de recursos.
Antes cada empresa tenía sus propios CPD llenos de servidores y con todos sus recursos centralizados en ellos, con el tiempo llegó al normativa ante desastres naturales que obligaba a tener una réplica de ese CPD a varios kilómetros y replicándose en tiempo real. Justo estaba empezando a emerger tecnologías como VMWare ESX (que vieja soy…) las cuales daban respuesta a estas necesidades, el CPD remoto ya podía ser de la mitad del tamaño y soportaba lo mismo o más que el original.
Luego alguien se dió cuenta que no todas las empresas podían tener esa infraestructura con su propio CPD, sus facturas de luz, su mantenimiento, su gestión y todo lo que conllevaba tener eso operativo cada día y seguro. Entonces llegó la nueva moda, el cloud.
Las empresas podían disfrutar de tener su propia infraestructura con garantías, replicada y, con muchas cosas, autogestionadas. Los costes bajaban en picado y las oportunidades eran infinitas. La cumbre de la centralización había llegado. Millones de empresas con todos sus recursos en CPDs inmensos con tecnología punta a su servicio a un precio muy competitivo.
Pero a la par nacían nuevos rumbos de mercado que chocaban con ello frontalmente. IoT, es el concepto mismo de descentralización (y blockchain, pero de eso hablaremos otro día) millones de dispositivos conectados por todo el mundo. Unos incluso en movimiento. Gestionar todo esto desde infraestructuras como la nube podrían suponer muchos problemas para las empresas:
  • Problemas de costos: Tener un número de “cosas” medianamente grande suponía ancho de banda (gasto) y procesado (gasto) en tu nube.
  • Problemas de seguridad: No vamos a entrar en la seguridad del dispositivo y demás, solo en el canal. Cantidades ingentes de información de valor para tu empresa corriendo por la red hasta tu nube. Dependiendo qué información fuera eso al crimen organizado se lo estábamos poniendo en bandeja.
  • Problemas de protección de datos: Muchos de esos datos que se estaban almacenando no cumplian todas las normativas de todos los países donde se pudiera vender el producto.
Por suerte IoT está en pleno crecimiento, es lo que se trabajará y estudiará los próximos años por lo que había margen para poder solucionar y mejorar los esquemas para su gestión.
Entonces ha surgido una nueva moda más, agregar una tercera capa entre esos dispositivos y la nube donde poder recolectar y tratar todos esos datos. A eso se le dió el nombre de Fog/Edge computing.


¿Que es el Fog/Edge computing?

Existe un documento muy trabajado de la SoftNet 2016 donde se habló de los términos Fog Computing, Edge Computing y Cloudlet. Durante días estuve leyendo papers y documentos sobre cuál es la mejor definición de Fog y Edge y cuál era la diferencia entre ambos conceptos.
En la diapositiva 19, por fin pude respirar tranquila:
Correcto, no existe una definición consensuada de cada uno de los términos por lo que es muy difícil poder esclarecer las diferencias entre ambos.
Podríamos decir que Fog nació en concreto para IoT y que Edge cubría más campos y es más dependiente de la conexión (si es Wifi o LTE) pero también es muy inexacto. En mi opinión lo voy a llamar Edge, que es como están llamando las principales casas a sus soluciones, y seguimos adelante.

El término Edge lo que defiende es una capa intermedia entre la nube y los dispositivos. IBM muestra en su blog un diagrama que es muy ilustrativo:
Los cuadros azules inferiores serían los Sensores/Actuadores, se puede ver como en la parte más local, sin que haya salido aún a la red, existen tantos servidores Edge como se puedan necesitar.

Puedes agruparlos como quieras:
  • Por número de sensores máximos que quieras que soporten.
  • Por funcionalidad de los diferentes sensores.
  • Por la potencia necesaria en el Edge para tratar la información antes de salir. Por ejemplo, que necesitemos algo de inteligencia para seleccionar qué información queremos mandar luego a la nube.
  • Por localización. Por ejemplo, un Edge para cada ciudad o pueblo.

Los casos puede ser infinitos, habría que ver las necesidades de cada empresa para pensarse como distribuir los Edge, pero como se puede ver en el esquema las posibilidades son infinitas.
Una vez tenemos la infraestructura definida la funcionalidad de los Edge también queda a criterio de las necesidades, se puede:
  • Depurar la información: Posiblemente no necesites toda la que tus dispositivos generan, aquí eliminas la no necesaria.
  • Ofuscar/Cifrar/Tokenizar información: Si hay una capa más segura es mejor subirlo a ese nivel pero dependendiendo de la criticidad en esta capa ya se podría agregar un primer nivel de seguridad en el dato.
  • Guardar temporalmente: Si es muy importante que esa información llegue a tu nube, puedes preparar tus Edge para que guarden esa información en caso de que existan problemas con la red.
  • Empaquetar información: Puede que prefieras tener la red libre durante todo el día y la información llegue en una única entrega por la noche, cuando nadie está usando la red. No tendrás información en tiempo real, pero hay negocios que no lo necesitan.
  • Implementar seguridad en el canal: Puede que tu pequeño sensor no tenga capacidad de establecer una conexión cifrada hasta la nube, podemos poner esa seguridad a este nivel.
Los límites están en las necesidades de cada negocio, puede meter la inteligencia que necesites en tu Edge.

Ventajas

A estas alturas ya tenemos una idea de que es el Edge y para que sirve, por lo que es más sencillo poder ver las ventajas que aporta [http://elijah.cs.cmu.edu/DOCS/satya-edge2016.pdf]:
  • Reducción de la latencia: Las “cosas” están más cerca de su Edge que de la nube por lo que la información fluirá de forma más rápida.
  • Escalabilidad: Filtraremos y trataremos los datos que subimos a la nube por lo que el flujo de datos será menor reduciendo costes y volumen de carga.
  • Mejora de la privacidad: Tendremos un mayor control de los datos, donde viajan y cómo. Ya no son nuestros pequeños dispositivos generando tráfico por la red sino que hasta que no son tratados no viajarán.
  • Control de errores por desconexión: Si la red, tanto por el lado de la nube como por el nuestro, tiene caídas podemos guardar los datos temporalmente para no perderlos.
  • Seguridad. Podemos mejorar la seguridad en nuestras conexiones, en la cantidad de datos (a menos volumen de datos menor volumen que defender), en la calidad del dato.
Como veis Edge tiene un largo recorrido, los principales distribuidores cloud están trabajando duro por poder ofrecer soluciones de calidad adaptados a sus plataformas.

Pese a que aún esta solución esta en definición el futuro es IoT y creo que el Edge es una muy buena medida para poder controlar los enormes volúmenes de información que nuestras pequeñas cosas generarán.

Iremos profundizando sobre Edge e IoT próximamente, espero que con este artículo s haya dado unas pinceladas para entender qué es y porque va a ser tan importante.

Anexos
www.openfogconsortium.org  

No hay comentarios:

Publicar un comentario