La computación de borde es un modelo de computación distribuida que acerca la computación y el almacenamiento de datos a las fuentes de datos. En términos más generales, se refiere a cualquier diseño que acerque físicamente la computación al usuario, de modo de reducir la latencia en comparación con cuando una aplicación se ejecuta en un centro de datos centralizado . [1]
El término comenzó a usarse en la década de 1990 para describir las redes de distribución de contenido , que se utilizaban para entregar contenido de sitios web y videos desde servidores ubicados cerca de los usuarios. [2] A principios de la década de 2000, estos sistemas ampliaron su alcance para alojar otras aplicaciones, [3] lo que dio lugar a los primeros servicios de computación de borde. [4] Estos servicios podían hacer cosas como encontrar distribuidores, administrar carritos de compras, recopilar datos en tiempo real y colocar anuncios.
El Internet de las cosas (IdC), donde los dispositivos se conectan a Internet, suele estar vinculado con la informática de borde. Sin embargo, es importante entender que la informática de borde y el IoT no son lo mismo. [5]
La computación de borde implica ejecutar programas informáticos que brindan respuestas rápidas cerca de donde se realizan las solicitudes . Karim Arabi, durante una conferencia magistral en IEEE DAC 2014 [6] y luego en un seminario MIT MTL en 2015, describió la computación de borde como la computación que ocurre fuera de la nube , en el borde de la red, particularmente para aplicaciones que necesitan procesamiento de datos inmediato. [7] A diferencia de los centros de datos , los entornos de computación de borde no siempre están climatizados, a pesar de requerir una importante potencia de procesamiento. [8]
La computación de borde a menudo se equipara con la computación en la niebla , particularmente en configuraciones más pequeñas. [9] 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 de borde y la computación en la nube, y cada capa tiene sus propias responsabilidades. [10] [11]
El informe "El estado del borde" explica que la informática de borde se centra en servidores ubicados cerca de los usuarios finales. [12] Alex Reznik, presidente del comité de estándares ETSI MEC ISG, define "borde" de manera vaga como cualquier cosa que no sea un centro de datos tradicional. [13]
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 los juegos en tiempo real. [14]
La computación de borde podría utilizar tecnología de virtualización para simplificar la implementación y la gestión de varias aplicaciones en servidores de borde. [15]
Se espera que los datos del mundo crezcan un 61 por ciento hasta alcanzar los 175 zettabytes en 2025. [16] 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 la nube. Para 2025, la firma predice que esta cifra alcanzará el 75 por ciento. [17] El aumento de los dispositivos IoT en el borde de la red está produciendo una cantidad masiva de datos: almacenar y usar todos esos datos en centros de datos en la nube lleva los requisitos de ancho de banda de la red al límite. [18] A pesar de las mejoras en la tecnología de red , los centros de datos no pueden garantizar velocidades de transferencia y tiempos de respuesta aceptables, lo que a menudo es un requisito crítico para muchas aplicaciones. [19] Además, los dispositivos en el borde consumen constantemente datos que provienen de la nube, lo que obliga a las empresas a descentralizar el almacenamiento de datos y el aprovisionamiento de servicios, aprovechando la proximidad física al usuario final.
De manera similar, el objetivo de la computación de borde es mover la computación desde 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. [20] Al mover servicios al borde, es posible proporcionar almacenamiento en caché de contenido , entrega de servicios, almacenamiento de datos persistentes 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 red introduce nuevos problemas y desafíos. [21]
La naturaleza distribuida de este paradigma introduce un cambio en los esquemas de seguridad utilizados en la computación en la nube . En la computación de borde, 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. [22] Por otro lado, al mantener y procesar datos en el borde, es posible aumentar la privacidad al minimizar la transmisión de información confidencial a la nube. Además, la propiedad de los datos recopilados cambia de los proveedores de servicios a los usuarios finales. [23]
La escalabilidad en una red distribuida debe hacer frente a diferentes cuestiones. 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 escalamiento. [19]
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. [24]
La gestión de los failovers es crucial para mantener vivo un servicio. Si un solo nodo se cae y no se puede acceder a él, los usuarios deberían poder seguir accediendo a un servicio sin interrupciones. Además, los sistemas de computación de borde deben proporcionar acciones para recuperarse de un fallo 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 en uso, que pueden proporcionar diferentes niveles de fiabilidad, y la precisión de los datos producidos en el borde, que podrían no ser fiables debido a condiciones ambientales particulares. [19] Como ejemplo, un dispositivo de computación de borde, como un asistente de voz , puede seguir prestando servicio a los usuarios locales incluso durante cortes de servicio en la nube o de Internet. [23]
La computación de borde 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 de borde 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 de borde sea una opción significativamente más factible que la computación en la nube. Los ejemplos van desde IoT hasta conducción autónoma, [25] cualquier cosa relevante para la salud o la seguridad humana/pública, [26] o que involucre la percepción humana, como el reconocimiento facial, que generalmente le toma a un humano entre 370 y 620 ms para realizarlo. [27] Es más probable que la computación de borde pueda imitar la misma velocidad de percepción que los humanos, lo que es útil en aplicaciones como la realidad aumentada, donde el auricular debería reconocer preferiblemente quién es una persona al mismo tiempo que lo hace el usuario.
Debido a la proximidad de los recursos analíticos a los usuarios finales, las herramientas analíticas sofisticadas y las herramientas de inteligencia artificial pueden ejecutarse 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 de borde como una etapa intermedia entre los dispositivos cliente e Internet en general 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 utilizar servidores ubicados en una red de borde 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 da como resultado ahorros significativos de ancho de banda y, por lo tanto, aumenta la eficiencia. [27] 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. [23]
Los servicios de aplicaciones de borde reducen los volúmenes de datos que se deben mover, el tráfico consecuente y la distancia que deben recorrer los datos. Eso proporciona una latencia más baja y reduce los costos de transmisión. La descarga de cómputo para aplicaciones en tiempo real, como los algoritmos de reconocimiento facial, mostró mejoras considerables en los tiempos de respuesta, como se demostró en investigaciones tempranas. [28] Investigaciones posteriores mostraron que el uso de máquinas ricas en recursos llamadas cloudlets o microcentros de datos cerca de 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 de borde. [29] Por otro lado, la descarga de 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, [30] lo que hace que la gestión energética sea más eficiente.
Otras aplicaciones notables incluyen automóviles conectados , automóviles autónomos , [31] ciudades inteligentes , [32] Industria 4.0 , automatización del hogar [33] y sistemas satelitales . [34] El campo naciente de la inteligencia artificial de borde (IA de borde) implementa la inteligencia artificial en un entorno de computación de borde, en el dispositivo o cerca de donde se recopilan los datos. [35]
Consulte la Sección 6.2: Distribución de aplicaciones al borde
¿Qué es "Edge"? Lo mejor que puedo decir es esto: es cualquier cosa que no sea una "nube de centro de datos".