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

Recientemente mis colegas 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 este post trata de tener conocimiento completo de los diferentes componentes en funcionamiento dentro de nuestra red, los Sistemas Distribuidos van «más allá»; llegan hasta donde carecemos de control sobre los dispositivos que lo conforman.

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

*Confederación

Del lat. confoederatio, -ōnis.

3. f. Asociación de segundo grado integrada por otras asociaciones u organismos, constituida para la defensa de intereses sectoriales.

Computación distribuida, sistemas distribuidos, ¿lo mismo?

Sistemas distribuidos

Si buscamos el concepto de Sistemas Distribuidos en Wikipedia (ese lugar mágico) serás 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.”

Sin ir más lejos: 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 del otro, al terminar su lote de trabajo lo entrega 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 detener el trabajo o tarea global. Siempre habrá nuevos recursos, máquinas o humanos, listos para unirse al Sistema Distribuido.

Los alienígenas

Cierto, inicié este artículo hablando de ellos. 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) ”

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 otro ordenador que quisiera colaborar: el «premio» consistía en reconocer públicamente a la persona colaboradora como descubridora de vida e inteligencia fuera de este mundo.

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) ”

¡Y ahí lo tenéis! ¡Un sistema distribuido para analizar las señales de radio del universo!

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 para leer esta 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

Sería un atributo de un sistema, y el tema da para una entrada completa en el 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 nuestra documentación se inicia con un ejemplo, sencillo y práctico, con el que, a medida que vas experimentando, puedes ir agregando «bloques» de transacciones más complejos hasta llegar un punto en el que puedes 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 ya no es si necesitamos sistemas distribuidos. Esto es un hecho. 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.

Shares