Sistemas Distribuidos y el siglo XXI

Ya finalizando el siglo pasado tuve la oportunidad de ayudar en un proyecto informático muy ambicioso: la búsqueda de mensajes de radio emitidas por civilizaciones extraterrestres… ¿Y  qué diantres tiene que ver con Sistemas Distribuidos?

Recientemente mis colegas acá escribieron un interesante artículo sobre la visibilidad de la red distribuida, el cual me gustó mucho y pensé llevarlo a un nivel más elevado: si ese tema trata de tener conocimiento completo de los diferentes componentes en funcionamiento dentro de nuestra red, los Sistemas Distribuidos van «más arriba»; llegan hasta donde carecemos de control sobre los dispositivos que lo conforman.

Los voy a ejemplificar ambos a nivel de ciencia social, comparando un sindicato versus una confederación (en su tercera acepción en idioma español, como central de trabajadores y gremios y no desde punto de vista político).

Sistemas distribuidos

Si buscamos el concepto de Sistemas Distribuidos en la Wikipedia (la enciclopedia donde todas y todos podemos contribuir) será redirigido al artículo llamado Computación Distribuida y, cito:

La computación distribuida es un modelo para resolver problemas de computación masiva utilizando un gran número de ordenadores organizados en clústeres incrustados en una infraestructura de telecomunicaciones distribuida.

https://es.wikipedia.org/wiki/Computaci%C3%B3n_distribuida

Sigo con los ejemplos: la misma Wikipedia, si nos consideramos nosotros mismos como ordenadores, es un Sistema Distribuido de muy alto nivel ya que cumplimos con sus características intrínsecas… ¿Y cuáles son?

Características de los Sistemas Distribuidos

Un Sistema Distribuido (o Computación Distribuida) tiene:

  • Concurrencia: que en el caso de los ordenadores es un programa distribuido y en la Wikipedia son personas… que usan un software especializado y distribuido por navegadores web.
  • Asíncrono: cada ordenador (o wikipedista) trabaja de manera independiente sin esperar un resultado de otro, al terminar su lote de trabajo entregan y es asimilado y guardado. 
  • Resiliencia: un dispositivo informático que se estropee o pierda conexión, o una persona que fallece, se retira o es expulsada de la Wikipedia, en ambos entornos no supone el detener el trabajo o tarea global. Siempre habrán nuevos recursos, máquinas o humanos, listos para unirse al Sistema Distribuido.

Los alienígenas

Cierto que  inicié este artículo hablando de ellos. Desconozco si es en broma o en serio (muchas veces se me dificulta entender el sarcasmo) pero me han preguntado que de qué planeta provengo yo; bromas y chistes aparte lo de la búsqueda de señales de radio de civilizaciones extraterrestres es totalmente en serio.

En el hoy -lamentablemente- destruido radiotelescopio de Arecibo, Puerto Rico, los astrónomos Carl Sagan y Frank Drake enviaron un mensaje al cúmulo de Hércules, un conjunto de galaxias a 25 mil años luz de distancia de nuestro planeta.

Hercules Globular Cluster (https://commons.wikimedia.org/wiki/File:Hercules_Globular_Cluster,_EVscope-20211008.jpg)
Hercules Globular Cluster (https://commons.wikimedia.org/wiki/File:Hercules_Globular_Cluster,_EVscope-20211008.jpg)

Eso quiere decir que tomará 50 mil años obtener una respuesta, si es que existe vida allá afuera, pero ¿Y si es a nosotros a quien ya nos enviaron mensajes hace miles o millones de años?

Pues de esto iba el programa Seti@home: recogía señales de radio y los picaba en trozos de dos minutos que enviaba a cada persona que quisiera colaborar en el análisis con su ordenador. Al finalizar del cálculo según un algoritmo especial, era enviado el resultado y se solicitaba un nuevo trozo de código. Si un ordenador después de un tiempo razonable no devolvía respuesta pues el mismo trozo era enviado a otra ordenador que quisiera colaborar: el «premio» consistía reconocer públicamente a la persona colaboradora como descubridora de vida e inteligencia fuera de este mundo.

Por favor, lea también   eSpeak en Ubuntu 16 (y otros ambientes)

Yo instalé dicho programa y lo puse como protector de pantalla, así calculaba mientras yo trabajaba en otra cosa o descansaba.

Seti@home (imagen de setiathome.berkeley.edu)
Seti@home (imagen de setiathome.berkeley.edu)

Monitorización distribuida

La monitorización distribuida depende de la topología de red empleada y la traigo a colación como introducción o acercamiento a la monitorización de un sistema distribuido. Si sois nuevos usuarios de Pandora FMS os recomiendo tomaros un tiempo a leer esa entrada.

Esencialmente trata de entornos distribuidos que sirven a una empresa u organización pero no ejecutan un software común y tienen áreas o finalidades bien distintas entre departamentos, apoyados en la comunicación con una topología de red distribuida acompañado de una bien planificada arquitectura de seguridad en la monitorización.

Pandora FMS ofrece en este campo la monitorización de servicios, muy bien descrita en la documentación oficial.

Observabilidad

Que sería un atributo de un sistema, y el tema da para una entrada completa en este vuestro blog, pero en resumen expongo la observabilidad como un concepto global que incluye actividades de monitorización más alertas y administración de alertas, visualización y análisis de trazas para sistemas distribuidos y análisis de registros.

Empresas como Twitter han tomado muy en serio la observabilidad y, como ya habrán adivinado, esa red social tan adictiva es un sistema distribuido pero con un producto final difuso (aumentar nuestros conocimientos y hechos sobre el mundo real).

Monitorización transaccional

¿Cómo podemos monitorizar un sistema distribuido si el mismo consta de componentes muy heterogéneos y como vimos puede llegar a cualquier parte de nuestro universo conocido?

Pandora FMS dispone de la Monitorización transaccional de negocio, herramienta que considero la más apropiada para los sistemas distribuidos ya que podemos configurar transacciones, tantas como necesitemos, y luego echar mano de los agentes transaccionales necesarios para ello.

Es un tema difícil de digerir pero en nuestra documentación se inicia con ejemplo sencillo  y práctico que a medida que se vaya experimentando se puede ir agregando «bloques» de transacciones más complejos hasta llegar un punto que se pueda tener un panorama del sistema distribuido.

Todo esto es posible con Pandora FMS ya que cuenta con monitorización estándar, chequeos remotos, monitorización sintética transaccional y el Satellite server para entornos distribuidos que se pueden utilizar con la monitorización transaccional para sistemas distribuidos.

Presente y futuro

La pregunta no es si necesitamos sistemas distribuidos, es un hecho que el mundo actual utiliza los sistemas distribuidos en los servicios de computación en la nube o en los centros de datos e Internet.

Los sistemas distribuidos pueden ofrecer funciones imposibles en sistemas monolíticos o aprovechar procesos informáticos como por ejemplo el realizar restauraciones desde copias de seguridad pidiendo a otros sistemas trozos que falten o se hayan deteriorado en el sistema local.

Para todos estos casos, y en todo caso, la flexibilidad de Pandora FMS siempre será útil y adaptable para los retos actuales o futuros.

Antes de despedirnos, recuerda que Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.

¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario: https://pandorafms.com/es/contactar/

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/

No dudes en enviar tus consultas. ¡El equipazo de Pandora FMS estará encantado de atenderte!