noviembre 02, 2023

Falacias de los Sistemas Distribuidos

 Falacias  

Las falacias, también nombrado como trampas, son un conjunto de errores o falsas creencias que se cometen al diseñar y desarrollar un sistemas distribuidos.
Historia de las falacias
Peter Deutsch, mientras trabajaba en la empresa Sun Microsystem, en la década de los 90 propuso la lista de 7 falacias de la computación distribuida; posteriormente, en 1.994, James Gosling, fundador de Java, añadió una más para finalmente ser conocida como las ocho falacias de los sistemas distribuidos.

 

Falacias en Sistemas Distribuidos.

Las falacias son [1,2]:

  1. La red es fiable. Los sistemas no son inmunes a fallas: los servidores pueden estar fuera de servicio, la energía eléctrica puede fallar. Las aplicaciones deben estar construidas para sortear estas fallas. 
  2. La latencia es cero. La latencia en redes pequeñas pueden considerarse casi cero; pero en las redes Wan, con servidores remotos, y usuarios alrededor del mundo, la latencia puede ser significativa. En estos casos, las aplicaciones deben tener cuidado con las respuestas tardías. Contemplar mecanismos para desechar las solicitudes, hacer re-intentos de peticiones  idempotentes, como mecanismo de prevención de fallas. 
  3. El ancho de banda es infinito. Así como el ancho de banda aumenta debido a las mejoras de la tecnología, el volumen de datos se incrementa. Por ello, podemos tener problemas con el ancho de banda lo cual influiría en la degradación del rendimiento de la aplicación. 
  4. La red es segura. Es un error no prestar atención a la seguridad de la aplicación. Las aplicaciones están expuestas a software maliciosos que pueden alterar las funcionalidades del software. 
  5. La topología no cambia. La red está en cambio constante: nuevas direcciones ip, servidores, dispositivos, servicios, clientes, entre otros. Los cambios en la topología influye sobre el ancho de banda y el rendimiento de las aplicaciones. 
  6. Hay un solo administrador. Un solo administrador es posible en redes pequeñas, pero para grandes redes, distribuidas geográficamente y con distintos propietarios, esto no se cumple. 
  7. El costo de transporte es cero. En la comunicación entre procesos distribuidos intervienen equipos, sistemas de balance de carga y ancho de banda; en cuanto a la comunicación entre las aplicaciones están involucrado el protocolo que se usa y como se serializa y deserializa. 
  8. La red es homogénea. Una red homogénea es pequeña con equipos bajo la misma tecnología, configuración y características. Pero en grandes redes esto no es así: allí se soportan una gran variedad de protocolos y dispositivos, aplicaciones con distintas necesidades y sistemas heterogéneos.

1.Fallas de los Sistemas Distribuidos. Adaptado de [2]


En la Figura 1 se muestra un esquema con la síntesis de las ocho falacias de los sistemas distribuidos ya referidas. En resumen, diseñar una aplicación es una tarea que requiere considerar aspectos que están fuera del alcance del diseñador de la aplicación; por ello el proceso de diseño requiere que se haga un ejercicio de escenarios probables de funcionamiento para determinar si la aplicación puede seguir operando a pesar de las posibles escollos que encuentre.


Bibliografia

      1. Ingrid Van Den Hoogen. “Deutsch’s Fallacies, 10 Years After”. In: (2004). Documento electrónico .
      2. Alex Xu. “What are the most common misconceptions about distributed environments?, [@alexxubyte], Twitter”. In: (Dec. 2022). Twitter. Documento electrónico.

      No hay comentarios.:

      Publicar un comentario