Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3 Sistema Distribuido
Transparencia: Un nodo puede acceder a otros nodos del sistema y comunicarse con
ellos.
Sin embargo, uno de los inconvenientes que presentan estos sistemas puede ser la
"expansión del desarrollo", que implica que los sistemas acaban siendo excesivamente
complejos y difíciles de mantener. Esta mayor complejidad puede complicar a los
equipos las tareas de organización, gestión y mejora de estos sistemas. Parte de la
dificultad puede ser entender la relación que hay entre los distintos componentes o
quién posee un componente de software concreto. Esto hace que sea difícil saber
cómo modificar los componentes para maximizar su rendimiento y evitar que ello tenga
un impacto negativo no solo en los componentes dependientes, sino también en los
clientes. Cuando un sistema distribuido tiene varios repositorios, puede que sea
necesario utilizar herramientas especializadas como Atlassian Compass para gestionar
y organizar el código del sistema.
Un sistema distribuido tiene como objetivos elevar la eficiencia y evitar los errores y los
cuellos de botella.
La idea es que, distribuyendo el trabajo, todos los nodos colaboren para alcanzar un
mismo objetivo en común, mayor y más relevante que la suma de todas las partes.
Debido a esto, si bien cada nodo puede funcionar de forma independiente, muchas
veces se los puede poner a procesar una misma tarea en conjunto.
Estos objetivos pueden variar según las necesidades específicas de cada sistema
distribuido, pero en general, buscan optimizar la utilización de recursos, mejorar la
confiabilidad y la eficiencia, y proporcionar una experiencia transparente y coherente
para los usuarios y aplicaciones que interactúan con el sistema.
Generalmente, cuando las aplicaciones se ejecutan sobre una única unidad
informática, existe la posibilidad de que, con el tiempo, los niveles de potencia o de
almacenamiento requeridos empiecen a irse de las manos.
Los sistemas distribuidos son piezas de software que sirven para coordinar las
acciones de varias computadoras. Esta coordinación se logra mediante el intercambio
de mensajes, es decir, con trozos de datos que transmiten información.
Los sistemas distribuidos son piezas de software que sirven para coordinar las
acciones de varias computadoras. Esta coordinación se logra mediante el intercambio
de mensajes, es decir, con trozos de datos que transmiten información.
Distribución de datos
Por otro lado, la distribución presenta una serie de problemas técnicos que hacen que
el diseño e implementación de un almacenamiento y cómputo distribuido sean
importantes de considerar. Un punto a tomar en cuenta es el riesgo de posibles fallos.
Características de los sistemas distribuidos
Compatibilidad
Los dispositivos pueden funcionar con diferentes sistemas operativos. Esto no impide
que puedan ofrecer siempre los mismos servicios a los usuarios. Por tal razón, todos
los dispositivos conectados son compatibles entre sí.
Otro tema fundamental es el diseño del software, porque este también es compatible
con todos los sistemas y usuarios que se tienen en cada computadora.
Tolerancia a fallos
Al ser una sola red con muchas computadoras, si falla alguno de sus componentes, los
demás podrán seguir efectuando su función cabalmente, evitando los errores
rápidamente.
Por tal razón, los sistemas distribuidos suelen brindar mucha confianza cuando se
trabaja con ellos, porque es bastante raro que falle el sistema completamente, porque
las tareas no residen en un solo aparato, sino en diferentes equipos.
Middleware y API
Los diferentes procesadores usan un middleware de distribución, ayudando a compartir
diferentes recursos y capacidades para brindar a los usuarios una red coherente e
integrada. También ofrece a las aplicaciones una serie de servicios, como seguridad y
recuperación de fallos.
Computación en cluster
Es un conjunto de computadoras similares conectadas a través de una red de área
local de alta velocidad. Se usa frecuentemente para la programación en paralelo,
donde un solo programa intensivo en cómputo se ejecuta en paralelo en varias
computadoras.
Computación en red
Se compone de nodos con marcadas diferencias en hardware y tecnología de red. La
tendencia actual a tener una configuración específica de nodos para ciertas tareas ha
llevado a que haya una mayor diversidad, que es lo más frecuente en la computación
en red.
Computación en la nube
Es un conjunto de recursos virtualizados alojados en el centro de datos de un
proveedor de la nube. Los clientes pueden establecer una infraestructura virtualizada
para aprovechar una variedad de servicios en la nube.
Para el usuario, pareciera que está alquilando su propia computadora exclusiva. Sin
embargo, en realidad es probable que la esté compartiendo con otros clientes. Lo
mismo se aplica al almacenamiento virtual.
Compartir recursos
Sean instalaciones de almacenamiento, archivos de datos, servicios o redes, es posible
que se desee compartir estos recursos entre las aplicaciones, por simple economía.
Resulta mucho más barato tener una instalación de almacenamiento compartida entre
múltiples aplicaciones, que tener que comprar y mantener almacenamiento para cada
una por separado.
Abstracción
Para ocultar que los procesos y recursos se encuentran distribuidos en varias
computadoras, posiblemente diseminadas geográficamente. Es decir, los procesos y
recursos quedan abstraídos del usuario.
Apertura
Indica básicamente que un sistema distribuido esté erigido con elementos que se
puedan integrar con facilidad a otros sistemas. Cumpliendo con las reglas
normalizadas, cualquier proceso con esa interfaz puede comunicarse con otro proceso
con la misma interfaz.
Interoperabilidad y portabilidad
Se refiere cuando dos sistemas de diferentes fabricantes pueden funcionar en conjunto.
La portabilidad determina hasta qué punto una aplicación realizada para el sistema A
pueda funcionar en el sistema B sin modificaciones.
Escalabilidad
Es necesaria cuando hay un aumento de usuarios que necesitan más recursos. Un
buen ejemplo es el aumento de la audiencia de Netflix cada viernes por la noche.
Este modelo funciona teniendo muchos procesos aislados, todos con la capacidad de
comunicarse entre sí a través de un sistema incorporado de transmisión de mensajes.
Es uno de los protocolos más utilizados para transferir archivos grandes en la web. La
idea principal es facilitar la transferencia de archivos entre diferentes pares en la red sin
tener que pasar por un servidor principal.
BitTorrent permite alojar archivos de forma voluntaria y subirlos para otros usuarios que
los deseen. Es tan popular porque fue el primero de su tipo en ofrecer incentivos por
contribuir a la red.
Ventajas
– Todos los nodos en el sistema distribuido están conectados entre sí. Por tanto, cada
uno de los nodos puede compartir datos fácilmente con los otros nodos.
– Recursos como las impresoras se pueden compartir con múltiples nodos en lugar de
restringirse a uno solo.
– La falla de un nodo no conduce a la falla de todo el sistema distribuido. Los otros
nodos aún se pueden comunicar entre sí.
Desventajas
– Puede ocurrir una sobrecarga en la red si todos los nodos del sistema distribuido
intentan enviar datos a la vez.
Los sistemas distribuidos se pueden utilizar en una gran cantidad de casos, como los
sistemas de banca electrónica, los juegos en línea multijugador masivos y las redes de
sensores.
StackPath
Utiliza un sistema distribuido particularmente grande para impulsar su servicio de red
de entrega de contenido. Cada uno de sus puntos de presencia (PoP) tiene nodos,
formando un sistema distribuido a nivel mundial,almacena el contenido solicitado más
recientemente y con más frecuencia en las ubicaciones más cercanas al sitio que se
está utilizando.
Internet
Es el mayor sistema distribuido del mundo. Cualquier usuario siente como si fuera un
solo sistema, aunque está compuesto por millones de computadoras.