Mayoría aplicaciones están diseñados para depender de la nube. Sin embargo, muchas organizaciones están empezando a darse cuenta de que nube La dependencia tiene desventajas. Los desafíos de la excesiva dependencia de la nube son más evidentes en industrias como la aviación, los restaurantes de servicio rápido, comercio electrónicoy atención médica, donde los trabajadores sin escritorio dependen aplicaciones móviles para hacer sus trabajos.
Usando la nube en la práctica
Piense en cómo un restaurante moderno de comida rápida utiliza la tecnología móvil en la actualidad. Clientes ingrese sus opciones de menú en los quioscos del restaurante, en dispositivos portátiles en el autoservicio o en terminales de punto de venta. Luego, su pedido se envía a las pantallas de la cocina para que se prepare. Cuando está listo, se envía una alerta al personal del mostrador para que lo entregue. Aunque parezca simple, en realidad se trata de un flujo de trabajo complejo y crítico para el negocio en el que es vital que datos se sincroniza y comparte en tiempo real.
Estos datos deben viajar a un centro de datos remoto al otro lado del mundo para llegar a un dispositivo en el mismo edificio. Las aplicaciones empresariales quedan inutilizables si la conexión de datos es lenta, un Wifi el enrutador se rompe o hay una interrupción del servicio en la nube.
Dado que las aplicaciones exclusivas de la nube tienen tantos puntos únicos de falla, las operaciones se detienen mientras se espera que se vuelva a conectar un dispositivo. Aplicaciones como estas no brindan una excelente experiencia de usuario y, en última instancia, cuestan dinero a las empresas. experiencia del cliente, o peor. En situaciones como la atención médica, donde las decisiones sobre el tratamiento de un paciente se registran y actualizan en dispositivos móviles utilizados por un equipo, estas interrupciones y su impacto en la toma rápida de decisiones pueden tener implicaciones graves.
Encontrar formas de conectar esos diferentes dispositivos directamente es una solución obvia. De hecho, la creación de redes peer-to-peer entre dispositivos es común; ¿Cuántas veces has usado AirDrop para enviar fotos a la casa de un amigo? teléfono inteligente?
Entonces, ¿por qué no tenemos más aplicaciones de trabajo colaborativo creadas con funciones opcionales de la nube para permitirles funcionar sin Internet?
Una respuesta es que ha sido más fácil crear aplicaciones exclusivamente en la nube. Una gran cantidad de bases de datos y herramientas exclusivas de la nube ha significado que los desarrolladores no han tenido que preocuparse por las redes TCP/IP, la partición de bases de datos o la compresión en disco cada vez que deben actualizar un campo en una tabla de base de datos.
Más allá de las aplicaciones exclusivas de la nube
Por el contrario, las aplicaciones offline han sido difíciles de implementar debido a las limitadas herramientas disponibles para respaldarlas. Existen protocolos escalables de igual a igual para datos que no cambian, como fotos mediante AirDropping. Sin embargo, los desarrolladores necesitan la confiabilidad de un base de datos cuando las actualizaciones de datos deben ser en tiempo real o súper precisas. Para hacer esto, se debe crear un almacén de datos fuera de línea capaz de manejar cambios fuera de línea y de igual a igual.
¿Pero por dónde empezar? Un modelo de almacén de datos que permite que estas aplicaciones de campo funcionen sin una conexión a la nube tiene varias características clave.
En primer lugar, debe ser fácil de usar para los desarrolladores de software. En lugar de enviar datos a un servidor remoto, la aplicación necesita escribir datos en su base de datos local primero en forma de cambios, luego detectar cambios de otros dispositivos y recombinarlos cuando sea necesario. Los dispositivos deben poder descubrir, conectar y mantener estas conexiones con dispositivos cercanos en lo que se llama una red en malla. Es importante tener en cuenta que la creación de redes de malla para la sincronización de datos entre pares no es una solución milagrosa para permitir que una organización opte por la nube cuando sea necesario. Estas redes generan grandes cantidades de datos que pueden abrumar a los dispositivos pequeños si cada nodo intenta sincronizar agresivamente cada pieza de datos, lo que se convierte en un obstáculo para las empresas y detiene las operaciones.
Como tal, para superar esto, los diferentes tipos de dispositivos deberían tener diferentes responsabilidades a la hora de sincronizar los datos. Los dispositivos más pequeños, como teléfonos y tabletas, que tienen menos potencia de procesamiento y capacidad de almacenamiento, pueden centrarse en sincronizar los datos solicitados explícitamente por otros dispositivos, no documentos completos, para no saturar el ancho de banda del dispositivo. Esto significa que estos dispositivos más pequeños pueden sincronizar datos increíblemente rápido porque solo se intercambian los deltas. Los dispositivos más grandes, como servidores locales o en la nube, conectados a la malla a través de Internet, deben ser responsables de sincronizar la mayor cantidad de datos posible, garantizando el acceso y la visibilidad de los datos para los usuarios que no están conectados directamente a la malla local.
Al considerar el aspecto de latencia de la sincronización, una red de malla peer-to-peer debe facilitar que otros dispositivos se unan y abandonen cuando lo necesiten. Dentro de este modelo, es clave garantizar que todos los dispositivos tengan entradas de la misma fuente de datos. Sin embargo, esto plantea un gran desafío matemático ya que la topología de la red en malla cambia con el tiempo. Por lo tanto, es importante que estas redes de malla sean flexibles sin necesidad de tener el historial completo de una tabla de base de datos para escribir o leer el valor más reciente. Por tanto, creando una red ad-hoc.
Para que esto tenga éxito, la red de malla peer-to-peer debe comprender que los dispositivos se actualizan con frecuencia pero en diferentes momentos, por lo que debe tener en cuenta los datos entrantes con diferentes esquemas. De esta manera, incluso si un dispositivo está fuera de línea y, por lo tanto, desactualizado, aún debería poder leer datos nuevos y sincronizarse. La forma de hacerlo radica en cómo funciona la red con un dispositivo en un orden confiable de cambios que puedan inspeccionarse, lo que también incluye incorporar metadatos sobre los cambios de esquema a lo largo del tiempo.
Los desarrolladores necesitan las herramientas adecuadas para poder crear intencionalmente aplicaciones opcionales en la nube. Cuando hay una interrupción, todos los dispositivos deben ver los mismos resultados de consulta dado el mismo conjunto de cambios, incluso si los cambios llegan en un orden diferente. Es un desafío para los equipos de desarrollo crear un almacén de datos peer-to-peer confiable, fuera de línea y que sincronice datos en una malla parcialmente conectada. Sin embargo, a medida que las capacidades opcionales de la nube se vuelvan más atractivas, habrá una demanda creciente de una solución completa de extremo a extremo que combine lo mejor del software en la nube con lo mejor del software peer-to-peer.
Hemos presentado la mejor computación en la nube.
Este artículo se produjo como parte del canal Expert Insights de TechRadarPro, donde presentamos las mejores y más brillantes mentes de la industria tecnológica actual. Las opiniones expresadas aquí son las del autor y no son necesariamente las de TechRadarPro o Future plc. Si estás interesado en contribuir, descubre más aquí: https://www.techradar.com/news/submit-your-story-to-techradar-pro