aula02 sistemas distribuídos - caracterização de sistemas distribuídos

84
Caracterização de Sistemas Distribuídos CURSO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA DE SISTEMAS DISTRIBUÍDOS PROF. MESSIAS R. BATISTA

Upload: messias-batista

Post on 12-Apr-2017

255 views

Category:

Software


4 download

TRANSCRIPT

Page 1: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Caracterização de Sistemas Distribuídos

CURSO DE CIÊNCIA DA COMPUTAÇÃODISCIPLINA DE SISTEMAS DISTRIBUÍDOS

PROF. MESSIAS R. BATISTA

Page 2: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Agenda

▫ Definição de Sistemas

Distribuídos

▫ Metas

▫ Tipos de Sistemas

Distribuídos

2

Page 3: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

IntroduçãoO que aconteceu de 1945 até 2017?

3

Page 4: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

1945Revolução dos Computadores

▫ Poucos computadores nas organizações;

▫ Funcionavam de forma independente;

4

Page 5: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

1980Mais revoluções▫ Desenvolvimento dos

microprocessadores de grande capacidade;

▪Máquinas de 8, 16, 32, 64 bits;

▪Máquinas com capacidade de mainframe;

▪Redução do custo.

5

Page 6: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Revolução dos Computadores1940-1959

6

Page 7: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Revolução dos Computadores1959-1965

7

Page 8: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Revolução dos Computadores1965-1970

8

Page 9: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Revolução dos Computadores1970~

9

Page 10: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

10

Primeiro avanço tecnológico!

“O desenvolvimento de microprocessadores degrande capacidade.”

Page 11: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

11

Segundo avanço tecnológico!

“O segundo desenvolvimento foi a invenção de redes de

computadores de alta velocidade.”

Page 12: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Redes de Computadores▫ Localmente permitiram a

conexão de centenas de máquinas em um edifício;

▫ Redes de longa distância permitiram que milhões de máquinas no mundo se conectem;

12

Page 13: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Infográfico: A evolução da Web

13

Page 14: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

““O resultado dessas tecnologias

é que, atualmente não é somente viável, mas também fácil de montar sistemas de computação compostos por

quantidades de computadores conectados por uma rede de alta

velocidade.”14

Page 15: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Definição de um Sistemas Distribuído

15

Page 16: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

16

O que é umsistema

distribuído?

Page 17: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

17

Como o desenvolvedor sabe o que é

sistema distribuído?

Page 18: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

18

Como o usuário sabe o que ésistema

distribuído?

Page 19: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

““Um sistema distribuído é um

conjunto de computadores independentes que se

apresenta a seus usuário como um sistema único e

coerente.”(Tanenbaum; Van Steen)19

Page 20: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

20

Citem alguns exemplos de sistemas

distribuídos...

Page 21: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Analisando a definição

21

▫ Sistemas distribuídos consistem em componentes autônomos;

▫ Usuários (pessoas ou programas), acham que estão utilizando um único sistema;

▫ Os componentes precisam colaborar;

▫ Como colaborar é o cerne ao se desenvolver sistemas distribuídos;

▫ Não é importante o tipo de componentes;

▫ “Um sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuário como um sistema único e coerente.”

▫ (Tanenbaum; Van Steen)

Page 22: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

A camada de software(middleware)

22

Page 23: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

MetasAs quatros coordenadas

23

Page 24: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

24

Não seria mais simplesconectar vários recursos a um

computador em vez de criar um Sistemas Distribuído?

Page 25: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Metas Existem quatro metas importantes a serem cumpridas na construção de um sistemas distribuído.

▫ Acesso a recursos;

▫ Ocultação de recursos;

▫ Aberto;

▫ Expansível.

25

Page 26: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Acessa a RecursosMeta

26

Page 27: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Acesso a Recursos

27

▫ Economia a partir do compartilhamento de recursos;

Page 28: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Acesso a recursos(cuidados)

28 ▫ Sistemas que oferecem pouco proteção;

▪ Informações sensíveis enviados como texto comum;

▪ Rastreamento de comunicações para montar um perfil de usuário específico;

Page 29: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da DistribuiçãoMeta

29

Page 30: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

30

▫ “Uma meta importante de um sistema distribuído é ocultar o fato de que seus processos e recurso estão fisicamente distribuídos por vários computadores”

Page 31: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparências da Distribuição

31 Tipos de Transparência

Transparência Descrição

Acesso Oculta diferenças na representação de dados e no modo de acesso a um recurso

Localização Oculta o lugar em que um recurso está localizado

Migração Oculta que um recurso pode ser movido para outra localização

Relocação Oculta que um recurso pode ser movido para uma outra localização enquanto em uso

Replicação Oculta que um recurso é replicado

Concorrência Oculta que um recurso pode ser compartilhado por diversos usuário concorrentes

Falha Oculta a falha e a recuperação de um recurso

Fonte: TANENBAUM; STEEN, 2008, p. 3

Page 32: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

32

▫ Diferenças em representação de dados;

▫ O modo como os usuário acessam os recursos;

Transparência de acesso

Page 33: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

33

▫ Usuários não podem afirmar a localização física de um recurso;

▪ Por exemplo: utilização de nomes lógicos, como a url.;

Transparência de localização

Page 34: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

34

▫ Usuários não podem afirmar a localização de um recurso ou se ele sempre esteve ali;▪ Exemplo: um arquivo

index em um servidor web.

Transparência de migração

Page 35: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

35

▫ Usuários não percebem que recurso são relocados durante a utilização▪ Exemplo: uso de redes

móveis.

Transparência de relocação

Page 36: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

36

▫ Oculta o fato de terem várias cópias disponíveis do mesmo conteúdo;▪ Como funcionam as redes

sociais?

Transparência de replicação

Page 37: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

37

▫ Oculta o fato de dois ou mais usuários estarem utilizando o mesmo recurso;▪ Deverá acontecer mesmo

que exista impacto de um sobre o outro.

Transparência de concorrência

Page 38: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

38

▫ O usuário não percebe que um recurso falhou e se recuperou;Transparência à

falha

Page 39: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

“A principal dificuldade

para mascarar falhas está na incapacidade de distinguir entre um recurso morto e um

recurso insuportavelmente lento.

39

Page 40: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Transparência da Distribuição

40

▫ Distância percorrida por uma informação pela rede tem a limitação da velocidade da luz;

▫ Repetir a conexão com o servidor diversas vezes, antes de desistir;

▫ Cópias (replicações) com servidores em continentes diferentes;

Grau de Transparência

Page 41: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

41

é necessário havertransparência?

Page 42: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

AberturaMeta

42

Page 43: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Abertura

43

“Um sistema distribuído aberto é um sistema que oferece serviços de acordo com regras padronizadas que descrevem a sintaxe e a semântica desses serviços”

Page 44: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

44

Page 45: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Abertura

45

Interoperabilidade: o ponto no qual dois serviço ou recursos trabalham juntos baseada na confiança, dado seus diferentes fabricantes.

Portabilidade: capacidade de uma aplicação desenvolvido para A poder ser utilizada em B sem alterações.

Conceitos importantes

Page 46: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

EscalabilidadeMeta

46

Page 47: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Escalabilidade

47 “[...] a escalabilidade é uma das mais importantes metas de projeto para desenvolvedores de sistemas distribuídos”

▫ Dimensões:

▪ Escalável quanto ao seu tamanho;

▪ Escalável em termos geográficos;

▪ Escalável em termos administrativos;

Page 48: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Escalabilidade

48

Problema de Escalabilidade

Conceito Exemplo

Serviços centralizados Um único servidor para todos os usuários

Dados centralizados Uma única lista telefônica on-line

Algoritmos centralizados Fazer roteamento com base em informações completas

Fonte: TANENBAUM; STEEN, 2008, p. 3

Page 49: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Escalabilidade

49

▫ Sincronia entre os relógios;

▫ Escalabilidade geográfica;Outros problemas

Page 50: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Técnicas de Escalabilidade

50

“[...]problemas de escalabilidade em sistemas distribuídos aparecem como problemas de desempenho causados por capacidade limitada de servidores e rede”

Page 51: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Técnicas de Escalabilidade

51

▫ Ocultar latências de comunicação;

▫ Distribuição;

▫ Replicação.

Page 52: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Técnicas de Escalabilidade

52

▫ Evitar esperar por respostas a requisições remotas;

▪ Utilizar requisições assíncronas;Ocultar latências de comunicação

Page 53: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

53

Page 54: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Técnicas de Escalabilidade

54

▫ Subdivisão de componentes em partes menores, em sequência, espalhando-os pelo sistema;

Distribuição

Page 55: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Técnicas de Escalabilidade

55

▫ Objetiva resolver o problema de desempenho;

▫ Aumenta a disponibilidade e o equilíbrio de carga entre componentes;

▫ Em sistemas geográficos auxiliar na diminuição da latência;

Exemplo: cache

Replicação

Page 56: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Técnicas de Escalabilidade

56

▫ Escalabilidade geográfica;

▪ Problema centrado na própria natureza;

▫ Escalabilidade administrativa;

▪ Apresenta problemas não técnicos relacionados as organizações e suas políticas.

Page 57: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

57

É possível cumprir as metas propostas?

Page 58: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

CiladasMeta

58

Page 59: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Ciladas em Sistemas Distribuídos

59

▫ A rede é confiável;▫ A rede é segura;▫ A rede é homogênea;▫ A topologia não muda;▫ A latência é zero;▫ A largura de banda é infinita;▫ O custo de transporte é zero;▫ Há só um administrador.

Page 60: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Tipos de Sistemas DistribuídosTipos de Sistemas Distribuídos

60

Page 61: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Cluster e GridTipos de Sistemas Distribuídos

61

Page 62: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de computação distribuídos

62

“[...] o hardware subjacente consiste em um conjunto de estações de trabalho ou PCs semelhantes conectados por meio de uma rede local de alta velocidade”

Computação de Cluster

Page 63: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de computação distribuídos

63

Computação de Cluster

Page 64: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de computação distribuídos

64

“[...] consiste em sistemas distribuídos que costumam ser montados como federação de computadores, na qual cada sistema pode cair sob um domínio administrativo diferente”

Computação em Grade

Page 65: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de computação distribuídos

65

Computação de Grade

Page 66: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de Informação DistribuídosTipos de Sistemas Distribuídos

66

Page 67: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de Informação Distribuídos

67

▫ Sistemas de Processamento de Transações;

▫ Integração de Aplicações Empresariais;

Page 68: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de Processamento de Transações

68

Primitiva Descrição

BEGIN_TRANSACTION Marque o inicio de uma transação

END_TRANSACTION Termine a transação e tente comprometê-la

ABORT_TRANSACTION Elimine a transação e restaure os valores antigos

READ Leia dados de um arquivo, tabela ou de outra forma

WRITE Escreva dados para um arquivo, tabela

Fonte: TANENBAUM; STEEN, 2008, p. 12

Page 69: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de Processamento de Transações

69

▫ Atômicas: para o mundo exterior, a transação acontece como se fosse indivisível;

▫ Consistente: a transação não viola invariantes de sistema;

▫ Isoladas: transações concorrentes não interferem umas com as outras;

▫ Duráveis: uma vez comprometida uma transação, as alterações são permanentes.

ACID

Page 70: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de Processamento de Transações

70

Transação Aninhada

Page 71: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas de Processamento de Transações

71

Transação Aninhada

Page 72: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Integração de Aplicações Empresariais

72

Page 73: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas Distribuídos PervasivosTipos de Sistemas Distribuídos

73

Page 74: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas Distribuídos Pervasivos

74

“[...] a questão ficou muito diferente com a introdução de dispositivos de computação móveis e embutidos. Atualmente encontramos sistemas distribuídos nos quais a instabilidade é o comportamento esperado”

Page 75: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas Distribuídos Pervasivos

75

▫ Adotar mudanças contextuais;

▫ Incentivar composição ad hoc;

▫ Reconhecer compartilhamento como padrão.

Page 76: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas DomésticosTipos de Sistemas DistribuídosSistemas Distribuídos Pervasivos

76

Page 77: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

77

Page 78: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Sistemas Eletrônicos para Tratamento de SaúdeTipos de Sistemas DistribuídosSistemas Distribuídos Pervasivos

78

Page 79: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

79

Page 80: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Redes de SensoresTipos de Sistemas DistribuídosSistemas Distribuídos Pervasivos

80

Page 81: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

81

Page 82: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

ConclusãoSistemas Distribuídos

82

Page 83: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Referências

83

TANENBAUM, A. S.; STEEN, M. V. Sistemas Distribuídos: princípios e paradigmas. 2.ed. São Paulo, SP: Pearson Prentice Hall, 2008

Page 84: Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos

Caracterização de Sistemas Distribuídos

CURSO DE CIÊNCIA DA COMPUTAÇÃODISCIPLINA DE SISTEMAS DISTRIBUÍDOS

PROF. MESSIAS R. BATISTA