Introducción a Distribuidos: Tendencias. Definición. Áreas de Aplicación. Características. Flashcards

(28 cards)

1
Q

Qué mostró la ley de Moore?

A

Se creía que nos garantizaba performance por la progresión de los transistores.
No fue asi por los clocks, y se empezó a estancar la performance aunque crecían los transistores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qué pasa con las computadoras en cuanto a tendencias?

A

Las computadoras ya no conducen el movimiento. Se estancó la cantidad de PCs. IoT crece exponencialmente en los últimos años. Compro una lámpara con wifi, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cómo surge la necesidad de sistemas distribuidos?

A

Cobran gran relevancia debido al constante crecimiento del nivel de integración
e interdependencia entre sistemas, volúmenes de datos a procesar,
capacidades de cómputo, paralelismo y virtualización.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

En qué se encuentran presentes los sistemas distribuidos?

A
  • Big Data
    ● Data Analytics
    ● Scalable Architectures
    ● Elastic Architectures
    ● Machine Learning
    ● Internet of Things (IoT)
    ● Wearables
    ● High Performance Computer
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qué arquitecturas de comunicación hay?

A

Cliente Servidor: el servidor no nos conoce
Peer to peer: uno a uno
Heterogeneos: Hay asimetrias en las jerarquías. Algunos saben quienes lo llamó y algunos no

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cómo se definen los sistemas distribuidos según Tanenmaun?

A

“Colección de computadoras independientes que el usuario ve como un solo
sistema coherente”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Cómo se definen los sistemas distribuidos según Couloris?

A

“Es un sistema de computadoras interconectadas por una red que se
comunican y coordinan sus acciones intercambiando mensajes”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Cómo se definen los sistemas distribuidos según Lamport?

A

“Aquel en el que el fallo de un computador que ni siquiera sabes que
existe, puede dejar tu propio computador inutilizable”
DEFINICION IMPORTANTE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cuáles son los parámetros para diseñar sistemas distribuidos?

A
  • Transparencia: cuanto muestro y cuanto oculto
  • Tolerancia a fallos: Availability, reliability, safety, maintainability
  • Acceso a recursos compartidos: Cómo, donde
  • Sistemas distribuidos abiertos: Interfaces, interoperatibilidad, portabilidad
  • Escalabilidad
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qué variantes de multiprogramación hay?

A

Multithreading: varios threads que comparten memoria, 1 proceso
Multiprocessing: varios procesos que tienen memoria separada pero misma compu
multicomputing: unidades de computo separadas. LA MATERIA SE ENFOCA EN ESE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qué modelos hay para sistemas distribuidos?

A

-Modelo de Estados
(interleaved model)

-Modelo de Eventos
(happened before)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Cuál es la diferencia entre concurrencia y paralelismo?

A

Paralelo: Dos procesos ocurren a la vez. No hablan entre ellos y no comparten un recurso.
Concurrente: Comparten un recurso por lo cual no ocurren exactamente a la vez.
El mejor escenario es paralelo pero no siempre es posible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qué tipos de topologias hay?

A

Bus,
star: un central
Tree:hay una jerarquía
mesh: todos con todos
sequential: tenemos que pasar por todos
ring: Se usa bastante porque tiene algunos algoritmos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Cuál es la diferencia entre sistemas centralizados y distribuidos?

A

Centralizados
Sin conexiones
Con conexiones pero:
● Sin trabajo colaborativo
● Sin un objetivo común
● Sistemas de tiempo compartido
● ‘Terminales de conexión’
Muy difíciles de escalar:
● CPUs, Memoria, HD

Distribuidos
Componentes conectados y:
● realizando trabajo colaborativo
● buscando un objetivo común
Escalan distribuyendo trabajo y
recursos:
● Nodos, regiones, canales

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Cuáles son las ventajas de centralizar?

A

Control: lógica de control muy simple, efectiva y, en ocasiones, eficiente.
● Homogeneidad: la centralización incita a definir estándares para
software y hardware.
● Consistencia: es posible definir fuertes políticas de consistencia de
información y monitoreo del estado global del sistema.
● Seguridad: se disminuye la ‘superficie de ataque’ frente a amenazas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cuáles son las ventajas de distribuir?

A

Disponibilidad: aún frente a fallos aislados, el sistema general puede
prestar servicios.
● Escalabilidad: mejores alternativas de adaptarse a nuevas escalas
● Reducción de Latencia: al favorecer principios de localidad de recursos.
● Colaboración: permite interacciones entre sistemas de forma orgánica y
natural.
● Movilidad: no están circunscriptos al alcance de un único computador.
● Costo: componentes más simples. Subsistemas delegados en servicios
terceros.

17
Q

En qué se diferencia centralizar, descentralizar y distribuir?

A

Centralizar implica la concentración de la autoridad en los niveles más altos
de un jerarquía.
Descentralizar implica transferir la toma de decisiones a eslabones inferiores
de cierta organización.
Distribuir implica utilizar un modelo descentralizado de control de
computadoras para la coordinación de actividades con una coherencia dada.

18
Q

Qué dice la ley de conway? en qué repercute?

A

“Cualquier organización que diseñe un sistema, inevitablemente
producirá un diseño cuya estructura será una copia de la estructura de
comunicación de la organización”

Este enunciado fue demostrado empíricamente en distintos relevamientos
de arquitecturas de software corporativo.
● Corolario: diseñamos de acuerdo a lo que conocemos y estamos
acostumbrados a hacer en el día a día.
● No es necesariamente negativo: en su trabajo, el hombre tiende a
encontrar soluciones distribuidas y paralelas eficientes (minimizan costo,
energía, tiempo, etc.)

19
Q

de qué surge la virtualizacion?

A

Necesidad de independencia real de los recursos ○ Seguridad en el acceso ○ Diferenciación entre instrucciones con
privilegios vs sin privilegios.

20
Q

En qué se diferencia un container y una maquina virtual?

A

Diferencia entre container y maquina virtual: No tenemos multiples guest os. Usamos un container engine q usar nuestro mismo kernel. Es más optimo porque No emulamos el procesador entero

21
Q

Cómo surge docker?

A

Desarrollado en Golang
● Primera versión estable en 2013
● Basado fuertemente en features provistos
por el kernel del OS y el Hypervisor:
○ Linux: cgroups, namespaces, union mount
○ Mac: recientemente soportado con HyperKit
○ Win: recientemente soportado con Hyper-V (*)
● Rápida adopción por parte de la industria
○ Kubernetes, AWS, GCP, Azure, etc. soportan Docker

22
Q

Qué necesita docker del SO para funcionar?

A

Namespaces: Aislamiento de Recursos
○ NET (Network Stack)
○ PID (Procesos)
○ MNT (Mount)
○ IPC (Semáforos, Shared Memory, etc.)
○ USER (user and group ids)
● Cgroups: Seguridad y administración
de recursos
● Union Mount: Múltiples directorios
vistos como uno

23
Q

Qué compone el engine de docker?

A

Docker Daemon
○ Manejo de todos los recursos (images,
containers, volumes, network, etc.)
○ Nueva funcionalidad a través de
Plugins (Ej. convoy)
● Docker REST API
○ Sumamente flexible
○ Fácil crear nuevos clientes con
funcionalidades específicas
● Docker CLI
○ Acceso REST API a través de unix socket
○ Gran cantidad de comandos disponibles

24
Q

Qué es una imagen de docker?

A

Bloques estáticos construidos a través de Dockerfiles
○ Distros de Linux proveen base Images (Ubuntu, Debian,
Centos, Alpine, etc.)
○ Se pueden reutilizar para construir nuevas Images

25
Qué es un dockerfile?
Secuencia de comandos que generan Images ○ Instalación de dependencias, librerías ○ Cada comando agrega un nuevo Layer ○ Agregado de archivos a utilizar
26
Qué es un container de docker?
Ejecución de comandos dentro de una Image ○ Kernel compartido entre Host OS y Container ○ Al terminar el comando a ejecutar, el container deja de existir ○ No proveen persistencia
27
Qué es un volumen de docker?
Directorios compartidos entre el Host OS y container ○ Necesarios para dar persistencia a aplicaciones
28
Qué es docker compose?
Desarrollado en Python ● Administración de múltiples containers ○ DNS Resolution ○ Containers en la misma red por defecto ● Configuración a través de YAMLs ○ Intuitivo ○ Mayoría de los comandos Docker disponibles