Reto 1. ¡Conoce el procedimiento de un sistema!
distribuido!
Nombre completo:
Fecha de elaboración: 04-03-2025
Nombre del asesor:
Un sistema distribuido es un modelo computacional en el cual múltiples
herramientas de cómputo independientes se conectan y comparten recursos
permitiendo funcionar como única unidad de procesamiento y con ello resolver un
problema o tarea de manera eficiente.
Objetivos.
Facilitar el acceso a recursos remotos.
Reducción de costos teniendo a disposición equipos que de manera
individual serían muy costosos.
Transparencia de distribución.
Proporcionando al usuario el servicio de recursos como un único sistema, no
de forma independiente.
Sistemas abiertos.
Se ajustan a estándares y permiten interoperabilidad y portabilidad.
Sistemas escalables.
Tienen la capacidad de expandirse en cantidad de recursos incluso
adaptarse a nuevos
Características de sistemas distribuidos.
Transparencia
Debe de tener apariencia como sistema único, sin mostrar todas las
complejas características que forman y organizan el sistema distribuido como
tal.
Escalabilidad
Cualidad en la cual los sistemas distribuidos pueden agregar más recursos
computacionales dependiendo del tamaño de servicio a ofrecer.
Confiabilidad y disponibilidad
La red de cómputo distribuido debe de ser respaldada por varios recursos
para sustituir un equipo en caso de falla y que el sistema pueda seguir con
sus operaciones.
Homogeneidad
El sistema distribuido debe brindar a los usuarios una misma manera operar
sin importar el recurso asignado para el proceso, el resultado por ejemplo de
una consulta debe de ser el mismo para cualquier usuario que desee
realizarla, sin importar la localización de este.
Tipos de sistemas distribuidos.
Sistemas distribuidos de cómputo.
Están diseñados para realizar actividades o procesos que requieren un nivel
alto de rendimiento.
Sistemas distribuidos de información.
Están diseñados para brindar una herramienta para que diferentes equipos
en una organización puedan realizar procesos o actividades, todos ellos
enlazados mediante una red.
Sistemas distribuidos masivos o embebidos.
Son todos aquellos que están diseñados para transferir, procesar o recibir
datos ya sea de forma estacionaria o mediante una red de movilidad,
ejemplos de estos serían, equipos móviles, cámaras y sistemas de vigilancia,
centro de datos, smartwatch, smarttv, sistemas de domótica, huertos
inteligentes, etc.
Estilos de Arquitectura distribuidos.
El estilo se plantea la manera en que los componentes del sistema tienen
interacción entre ellos, así como el intercambio de datos entre los mismos; además
de la configuración de cada uno de estos elementos con el sistema.
Dicha configuración puede presentar varias versiones las cuales se han clasificado
en Estilos de Arquitectura distribuidos y estos son los siguientes:
Arquitecturas en capas.
En ella los elementos se organizan en modo de capas, es decir, un
determinado elemento de una capa por ejemplo 𝐸𝑖 puede comunicar con otro
elemento de una capa subyacente en este caso seria 𝐸𝑖−1 . El control en este
tipo de arquitectura es de capa en capa; esto en forma jerárquica de la
siguiente manera:
i. Las solicitudes se mueven hacia abajo.
ii. Las respuestas se mueven hacia arriba.
Arquitecturas basadas en objetos.
En ella cada objeto a un componente y ser conectan a un mecanismo de
llamadas a procesos remotos. Esta tiene similitudes con la arquitectura
servidor-cliente.
Arquitecturas centradas en datos.
En ella los procesos de las aplicaciones de red se comunican mediante
servicio de datos compartidos basado en web.
Arquitecturas basadas en eventos.
En ellas sus procesos se comunican mediante la propagación de eventos, en
los que el middleware se encarga de que solo los procesos suscritos a dichos
eventos los reciban. Una ventaja de estos sistemas de eventos son
libremente acoplados. De igual manera pueden combinarse con
arquitecturas basadas en datos y origina lo que se denomina espacio de
datos compartidos; esto significa que los procesos ahora se desacoplan,
además de utilizar un interfaz similar a la implementada para el lenguaje SQL,
para con ella acceder a los datos utilizando una descripción en lugar de la
referencia explícita.
¿Cuál es la arquitectura de un sistema distribuido?
Las arquitecturas distribuidas son la base de todo sistema distribuido, esto ya sea
tanto estructura física como la estructura lógica; siendo importante el determinar
la organización de los componentes de software y como estos se intercomunican
con los demás componentes físicos para el correcto funcionamiento del sistema.
Lo importante de estas es que se intenta alcanzar la transparencia de distribución,
la cual necesita negociar rendimiento-tolerancia a fallas-facilidad de programación.
Además de tomar en cuenta que una solución única para satisfacer los requisitos
con los que el sistema distribuido debe contar no existe, se necesitan varias para
implementar en los sistemas dependiendo las condiciones de los mismos y la
escalabilidad deseada por las organizaciones.
¿Qué es el middleware y sus aplicaciones?
Este desarrolla una capa entre aplicaciones y plataformas distribuidas. Para este
mismo es importante brindar cierto grado de transparencia, con esto ocultar la
distribución de datos, su procesamiento y el control de aplicaciones. Los sistemas
middleware llevan a cabo un estilo de arquitectura específico; varias soluciones de
este adoptan un estilo basado en objetos, de igual manera adaptan estilo basado
en eventos. Permitir que este se moldee a un estilo arquitectónico específico permite
a las aplicaciones de diseño volverse más sencillas. Desarrollar diversas versiones
de middleware puede permitir generar características diferentes y específicas para
las aplicaciones requeridas ya que este método permite al middleware ser
personalizable y esto adaptarlo a las necesidades de la aplicación. Estas
modificaciones pueden generar aplicaciones utilizadas del mismo middleware.
Lo pueden ser el caso de los interceptores los cuales rompen el flujo de control y
con ello permiten que otra aplicación específica se ejecute. Este tipo de aplicación
esta implementada en sistemas distribuidos basados en objetos. La
retroalimentación y monitoreo constante son otras aplicaciones que el middleware
ofrece en conjunto con el sistema distribuido.
Conclusión: elabora una conclusión sobre la importancia del uso de sistemas
distribuidos y sus aplicaciones, así como acerca de la diferencia entre proceso y
un hilo.
La implementación de sistemas distribuidos es necesaria para que las
organizaciones cuenten con los recursos necesarios para realizar sus actividades y
procesamiento de datos, los cuales cuenten con los estilos de arquitectura
necesarios para complementar tanto componentes lógicos como físicos y estos
puedan brindar el rendimiento requerido. De la misma manera es importante
conocer las necesidades de la organización con respecto a la escala del sistema,
es necesario planificar que estilo arquitectura se va a implementar o incluso que
esta se pueda adaptar a las condiciones de una infraestructura ya existente; o si
esta misma requiere una escalabilidad mayor a la actual. El conocer las distintas
alternativas que ofrecen los estilos de arquitectura, asi como las características que
ofrece todo sistema distribuido nos permite tener buenos elementos a disposición al
momento de diseñar y planificar el tipo de estructura que mejor se adapte a lo que
se requiera; teniendo en cuenta tambien que el principal objetivo de los sistemas
distribuidos es aprovechas al máximo el rendimiento en conjunto de cada
herramienta computacional disponible en el sistema para obtener un servicio y
procesamiento de datos de la manera más eficiente posible. En cuanto a procesos
e hilos; el proceso como tal es un programa que está diseñado para cumplir con una
tarea específica, lo cual en los sistemas distribuidos si se utiliza la migración de
procesos esto puede permitir lograr escalabilidad y a configurar de manera dinámica
a clientes y servidores. Ahora los hilos han brindado una operatividad diferente
respecto a los procesos debido a que la comunicación y procesamiento en estos se
llega a traslapar y esto origina un alto nivel de rendimiento, lo cual es de suma
importancia dado que un sistema que solo se basa en procesos sin hilos genera
transparencia concurrente y esto tiene alto costo, es por ello que las técnicas multi-
hilos brindan la posibilidad de operar de manera más eficiente.
Bibliografía
Tanenbaum, A. S., & van Steen, M. (2008). Sistemas Distribuidos: Principios y
Paradigmas. (2aed) Pearson.