# Computación frontera

La computación frontera (en inglés edge computing), computación en la frontera o proceso perimetral es un paradigma de computación distribuida que acerca computación y almacenamiento de datos a la ubicación en la que se necesita para mejorar los tiempos de respuesta y ahorrar ancho de banda.
Los orígenes de este tipo de computación son las redes de distribución de contenidos (CDN) creadas a finales de los años noventa para servir contenido web y vídeo estando desplegados cerca de los usuarios. Al inicio de 2000 estas redes evolucionaron para alojar aplicaciones y componentes de aplicaciones en los servidores perimétricos de las redes, de donde surgieron los primeros servicios de procesamiento perimetral de aplicaciones hospedadas: localizadores de distribuidores, carritos de compra, agregadores de datos en tiempo real y motores de inserción de anuncios.
El procesamiento perimetral moderno amplía significativamente este enfoque a través de la tecnología de virtualización que facilita la implementación y ejecución de una gama más amplia de aplicaciones en los servidores perimétricos.

## Definición

Una definición de computación frontera sería cualquier tipo de programa informático que ofrezca una baja latencia más cerca de las solicitudes. Karim Arabi, en un discurso de apertura de IEEE DAC 2014 y posteriormente en una charla invitada en el Seminario MTL del MIT en 2015 En términos generales, la edge computing se define como toda computación fuera de la nube que ocurra en el perímetro de la red, y más específicamente en aplicaciones donde se requiere el procesamiento de datos en tiempo real. En su definición, la computación en la nube opera con macrodatos mientras que la computación perimétrica opera con "datos instantáneos" que son datos en tiempo real generados por sensores o usuarios.
Según el informe The State of the Edge, el procesamiento perimetral se concentra en servidores "en las proximidades de la red de la última milla". Alex Reznik, presidente del comité de estándares MEC ISG del ETSI define libremente el término: "cualquier cosa que no sea un el centro de datos tradicional podría ser la 'ventaja' para alguien".
Los nodos perimétricos utilizados para la retransmisión de juegos se conocen como gamelets, que suelen estar a uno o dos saltos del cliente. Según Anand y Edwin, 'el nodo perimétrico se encuentra principalmente a uno o dos saltos del cliente móvil para cumplir con las limitaciones de tiempo de respuesta para los juegos en tiempo real' en el contexto de los juegos en la nube.

## Concepto

El aumento de dispositivos IdC perimétricos de la red está produciendo una enorme cantidad de datos que se computarán en los centros de datos, lo que lleva al límite los requisitos de ancho de banda de la red. A pesar de las mejoras de la tecnología de red, los centros de datos no pueden garantizar tasas de transferencia y tiempos de respuesta aceptables, lo que podría ser un requisito crítico para muchas aplicaciones. Además, los dispositivos perimétricos consumen constantemente datos provenientes de la nube, lo que obliga a las empresas a construir redes de entrega de contenido para descentralizar el suministro de datos y servicios, aprovechando la proximidad física al usuario final.
De manera similar, el objetivo del procesamiento perimetral es mover la computación desde los centros de datos hacia el perímetro de la red, explotando objetos inteligentes, teléfonos móviles o puertas de enlace de red para realizar tareas y brindar servicios en nombre de la nube. Al mover los servicios al perímetro, es posible proporcionar almacenamiento en caché de contenido, entrega de servicios, almacenamiento y administración de IdC, lo que da como resultado mejores tiempos de respuesta y tasas de transferencia. Al mismo tiempo, distribuir la lógica en diferentes nodos de red presenta nuevos problemas y desafíos que la computación tradicional no ha logrado vencer.

### Privacidad y seguridad

La naturaleza distribuida de este paradigma introduce un cambio en los esquemas de seguridad utilizados en la computación en la nube. No solo se deben cifrar los datos, sino que se deben adoptar diferentes mecanismos de cifrado, ya que los datos pueden transitar entre diferentes nodos distribuidos conectados a través de Internet antes de llegar finalmente a la nube. Los nodos perimétricos también pueden ser dispositivos con recursos limitados, lo que limita la elección en términos de métodos de seguridad. Además, se requiere un cambio de una infraestructura de arriba hacia abajo centralizada a un modelo de confianza descentralizado. Por otro lado, al mantener los datos al margen, es posible transferir la propiedad de los datos recopilados de los proveedores de servicios a los usuarios finales.

### Escalabilidad

La escalabilidad en una red distribuida debe enfrentar diferentes problemas. En primer lugar, debe tener en cuenta la heterogeneidad de los dispositivos, que tienen diferentes limitaciones de rendimiento y energía, la condición altamente dinámica y la confiabilidad de las conexiones, en comparación con la infraestructura más robusta de los centros de datos en la nube. Además, los requisitos de seguridad pueden introducir una mayor latencia en la comunicación entre nodos, lo que puede ralentizar el proceso de escalado.

### Confiabilidad

La gestión de las conmutaciones por error es fundamental para mantener vivo un servicio. Si un solo nodo deja de funcionar y no está disponible, los usuarios aún deberían poder acceder a un servicio sin interrupciones. Además, los sistemas de procesamiento perimetral deben proporcionar acciones para recuperarse de una falla y alertar al usuario sobre el incidente. Para ello, cada dispositivo debe mantener la topología de red de todo el sistema distribuido, de modo que la detección de errores y la recuperación sean fácilmente aplicables. Otros factores que pueden influir en este aspecto son la tecnología de conexión en uso, que puede proporcionar diferentes niveles de confiabilidad, y la precisión de los datos producidos en el perímetro que podrían no ser confiables debido a condiciones ambientales particulares.

### Velocidad

La computación frontera acerca los recursos computacionales analíticos a los usuarios finales y, por lo tanto, ayuda a acelerar la velocidad de comunicación. Una plataforma perimétrica bien diseñada superaría significativamente a un sistema tradicional basado en la nube. Algunas aplicaciones se basan en tiempos de respuesta cortos, lo que hace que el procesamiento perimetral sea una opción significativamente más factible que la computación en la nube. Algunos ejemplos son aplicaciones que involucran la percepción humana, como el reconocimiento facial, que normalmente tarda un humano entre 370-620ms en realizar. La edge computing más probable que pueda imitar la misma velocidad de percepción que los humanos, lo cual es útil en aplicaciones como la realidad aumentada donde los auriculares deben reconocer preferiblemente quién es una persona al mismo tiempo que lo hace el usuario.

### Eficiencia

Debido a la proximidad de los recursos analíticos a los usuarios finales, las sofisticadas herramientas analíticas y las herramientas de inteligencia artificial pueden ejecutarse en el perímetro del sistema. Esta ubicación en el perímetro ayuda a aumentar la eficiencia operativa y aporta muchas ventajas al sistema.
Además, el uso de la edge computing como una etapa intermedia entre los dispositivos del cliente y la Internet más amplia da como resultado ahorros de eficiencia que se pueden demostrar en el siguiente ejemplo: Un dispositivo cliente requiere un procesamiento computacionalmente intensivo en archivos de video que se realizará en servidores externos. Al usar servidores ubicados en una red de borde local para realizar esos cálculos, los archivos de video solo necesitan ser transmitidos en la red local. Evitar la transmisión a través de Internet da como resultado un ahorro significativo de ancho de banda y, por lo tanto, aumenta la eficiencia.

## Aplicaciones

Los servicios de aplicaciones perimetrales reducen los volúmenes de datos que deben moverse, el tráfico consiguiente y la distancia que deben viajar los datos. Eso proporciona una latencia más baja y reduce los costos de transmisión. La descarga de computación para aplicaciones en tiempo real, como los algoritmos de reconocimiento facial, mostró mejoras considerables en los tiempos de respuesta, como se demostró en las primeras investigaciones.
Investigaciones posteriores mostraron que el uso de máquinas de recursos abundantes llamadas cloudlets cerca de los usuarios móviles, que ofrecen servicios que normalmente se encuentran en la nube, proporcionó mejoras en el tiempo de ejecución cuando algunas de las tareas se descargan al nodo perimétrico. Por otro lado, descargar cada tarea puede resultar en una ralentización debido a los tiempos de transferencia entre el dispositivo y los nodos, por lo que dependiendo de la carga de trabajo se puede definir una configuración óptima.
Otro uso de la arquitectura son los juegos en la nube, donde algunos aspectos de un juego podrían ejecutarse en la nube, mientras que el video renderizado se transfiere a clientes livianos que se ejecutan en dispositivos como teléfonos móviles, gafas de realidad virtual, etc. Este tipo de transmisión también se conoce como transmisión de píxeles.
Otras aplicaciones notables incluyen automóviles conectados, automóviles autónomos, ciudades inteligentes, Industria 4.0 (industria inteligente) y domótica.