Edge Computing, en el contexto de la computación en la nube , consiste aproximadamente en instalar múltiples servidores en múltiples lugares, de modo que es probable que un usuario de una aplicación en la nube esté físicamente más cerca de un servidor que si todos los servidores estuvieran en un solo lugar. Esto está destinado a hacer que las aplicaciones sean más rápidas. [1] En términos más generales, se refiere a cualquier diseño que acerca físicamente la computación al usuario, para reducir la latencia en comparación con cuando una aplicación se ejecuta en un único centro de datos . [2] En el caso extremo, esto puede referirse simplemente a la informática del lado del cliente . [3]
El término comenzó a usarse en la década de 1990 para describir las redes de entrega de contenido , que se usaban para entregar contenido de video y sitios web desde servidores ubicados cerca de los usuarios. [4] A principios de la década de 2000, estos sistemas ampliaron su alcance para albergar otras aplicaciones, [5] lo que dio lugar a los primeros servicios informáticos de vanguardia. [6] Estos servicios podrían hacer cosas como encontrar distribuidores, gestionar carritos de compras, recopilar datos en tiempo real y colocar anuncios.
El Internet de las cosas (IoT), donde los dispositivos están conectados a Internet, a menudo está vinculado con la informática de punta. Sin embargo, es importante comprender que la informática de punta y la IoT no son lo mismo. [7]
La computación perimetral implica ejecutar programas informáticos que brindan respuestas rápidas cerca del lugar donde se realizan las solicitudes . Karim Arabi, durante una conferencia magistral de IEEE DAC 2014 [8] y posteriormente en un seminario MTL del MIT en 2015, describió la computación de borde como computación que ocurre fuera de la nube , en el borde de la red, particularmente para aplicaciones que necesitan procesamiento de datos inmediato. [9] A diferencia de los centros de datos , los entornos informáticos de vanguardia no siempre tienen un clima controlado, a pesar de que requieren una potencia de procesamiento significativa. [10]
La computación perimetral a menudo se equipara con la computación en la niebla , particularmente en configuraciones más pequeñas. [11] Sin embargo, en implementaciones más grandes, como las ciudades inteligentes , la computación en la niebla sirve como una capa distinta entre la computación en el borde y la computación en la nube, y cada capa tiene sus propias responsabilidades. [12] [13]
El informe "The State of the Edge" explica que la informática de borde se centra en servidores ubicados cerca de los usuarios finales. [14] Alex Reznik, presidente del comité de estándares ISG de ETSI MEC, define "borde" en términos generales como cualquier cosa que no sea un centro de datos tradicional. [15]
En los juegos en la nube , los nodos de borde, conocidos como "gamelets", suelen estar a uno o dos saltos de red del cliente, lo que garantiza tiempos de respuesta rápidos para juegos en tiempo real. [dieciséis]
La informática perimetral podría utilizar tecnología de virtualización para simplificar la implementación y la gestión de diversas aplicaciones en servidores perimetrales. [17]
Se espera que los datos del mundo crezcan un 61 por ciento a 175 zettabytes para 2025. [18] Según la firma de investigación Gartner, alrededor del 10 por ciento de los datos generados por las empresas se crean y procesan fuera de un centro de datos centralizado tradicional o de una nube. Para 2025, la firma predice que esta cifra alcanzará el 75 por ciento. [19] El aumento de dispositivos IoT en el borde de la red está produciendo una enorme cantidad de datos: almacenar y utilizar todos esos datos en centros de datos en la nube lleva los requisitos de ancho de banda de la red al límite. [20] 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 a menudo es un requisito crítico para muchas aplicaciones. [21] Además, los dispositivos en el borde consumen constantemente datos provenientes de la nube, lo que obliga a las empresas a descentralizar el almacenamiento de datos y el suministro de servicios, aprovechando la proximidad física al usuario final.
De manera similar, el objetivo de la computación perimetral es alejar la computación de los centros de datos hacia el borde de la red, explotando objetos inteligentes , teléfonos móviles o puertas de enlace de red para realizar tareas y proporcionar servicios en nombre de la nube. [22] Al trasladar los servicios al borde, es posible proporcionar almacenamiento en caché de contenido , entrega de servicios, almacenamiento de datos persistente y gestión de IoT, lo que resulta en mejores tiempos de respuesta y tasas de transferencia. Al mismo tiempo, distribuir la lógica a diferentes nodos de la red introduce nuevos problemas y desafíos. [23]
La naturaleza distribuida de este paradigma introduce un cambio en los esquemas de seguridad utilizados en la computación en la nube . En la informática de punta, los datos pueden viajar entre diferentes nodos distribuidos conectados a través de Internet y, por lo tanto, requieren mecanismos de cifrado especiales independientes de la nube. Los nodos de borde 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 centralizada de arriba hacia abajo a un modelo de confianza descentralizado. [24] Por otro lado, al mantener y procesar datos en el borde, es posible aumentar la privacidad minimizando la transmisión de información confidencial a la nube. Además, la propiedad de los datos recopilados pasa de los proveedores de servicios a los usuarios finales. [25]
La escalabilidad en una red distribuida debe enfrentar diferentes problemas. En primer lugar, se 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. [21]
La técnica de programación de última generación puede aumentar la utilización efectiva de los recursos de borde y escalar el servidor de borde asignando recursos de borde mínimos a cada tarea descargada. [26]
La gestión de las conmutaciones por error es crucial para mantener vivo un servicio. Si un solo nodo falla y es inaccesible, los usuarios aún deberían poder acceder a un servicio sin interrupciones. Además, los sistemas informáticos de punta 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 las tecnologías de conexión utilizadas, que pueden proporcionar diferentes niveles de confiabilidad, y la precisión de los datos producidos en el borde que podrían no ser confiables debido a condiciones ambientales particulares. [21] A modo de ejemplo, un dispositivo informático de vanguardia, como un asistente de voz , puede continuar brindando servicio a los usuarios locales incluso durante cortes del servicio en la nube o de Internet. [25]
Edge Computing acerca los recursos computacionales analíticos a los usuarios finales y, por lo tanto, puede aumentar la capacidad de respuesta y el rendimiento de las aplicaciones. Una plataforma perimetral bien diseñada superaría significativamente a un sistema tradicional basado en la nube. Algunas aplicaciones dependen de tiempos de respuesta cortos, lo que hace que la computación en el borde sea una opción significativamente más factible que la computación en la nube. Los ejemplos van desde IoT hasta la conducción autónoma, [27] cualquier cosa relevante para la salud o la seguridad humana/pública, [28] o que involucre la percepción humana, como el reconocimiento facial, que normalmente requiere que un humano realice entre 370 y 620 ms. [29] Es más probable que la computación de borde 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.
Debido a la cercanía de los recursos analíticos a los usuarios finales, se pueden ejecutar herramientas analíticas sofisticadas y herramientas de Inteligencia Artificial en el borde del sistema. Esta ubicación en el borde ayuda a aumentar la eficiencia operativa y es responsable de muchas ventajas para el sistema.
Además, el uso de la computación perimetral como etapa intermedia entre los dispositivos cliente e Internet en general genera ahorros de eficiencia que se pueden demostrar en el siguiente ejemplo: Un dispositivo cliente requiere un procesamiento computacional intensivo de archivos de video que se realizarán en servidores externos. Al utilizar servidores ubicados en una red local para realizar esos cálculos, los archivos de video solo necesitan transmitirse en la red local. Evitar la transmisión a través de Internet genera importantes ahorros de ancho de banda y, por lo tanto, aumenta la eficiencia. [29] Otro ejemplo es el reconocimiento de voz . Si el reconocimiento se realiza localmente, es posible enviar el texto reconocido a la nube en lugar de grabaciones de audio, lo que reduce significativamente la cantidad de ancho de banda requerido. [25]
Los servicios de aplicaciones perimetrales reducen los volúmenes de datos que deben moverse, el tráfico consiguiente y la distancia que deben recorrer los datos. Eso proporciona una menor latencia 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. [30] Investigaciones adicionales demostraron que el uso de máquinas ricas en recursos llamadas cloudlets o microcentros de datos cerca de los usuarios móviles, que ofrecen servicios que normalmente se encuentran en la nube, proporcionaba mejoras en el tiempo de ejecución cuando algunas de las tareas se descargan al nodo de borde. [31] Por otro lado, descargar cada tarea puede resultar en una desaceleració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.
El sistema de red eléctrica basado en IoT permite la comunicación de electricidad y datos para monitorear y controlar la red eléctrica, [32] lo que hace que la gestión de la energía sea más eficiente.
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 . [33]
Otras aplicaciones notables incluyen automóviles conectados , automóviles autónomos , [34] ciudades inteligentes , [35] Industria 4.0 , domótica [36] y sistemas satelitales . [37] El campo incipiente de la inteligencia artificial de borde (IA de borde) implementa la inteligencia artificial en un entorno informático de borde, cerca de donde se recopilan los datos. [38]
Consulte la Sección 6.2: Distribución de aplicaciones al borde
¿Qué es el 'borde'? Lo mejor que puedo hacer es esto: cualquier cosa que no sea una "nube de centro de datos".