Prévia do material em texto
Caracterização de Sistemas Distribuídos CURSO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA DE SISTEMAS DISTRIBUÍDOS PROF. MESSIAS R. BATISTA Agenda ▫Definição de Sistemas Distribuídos ▫Metas ▫Tipos de Sistemas Distribuídos 2 Introdução O que aconteceu de 1945 até 2017? 3 1945 Revolução dos Computadores ▫Poucos computadores nas organizações; ▫Funcionavam de forma independente; 4 1980 Mais 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 Revolução dos Computadores 1940-1959 6 Revolução dos Computadores 1959-1965 7 Revolução dos Computadores 1965-1970 8 Revolução dos Computadores 1970~ 9 10 Primeiro avanço tecnológico! “O desenvolvimento de microprocessadores de grande capacidade.” 11 Segundo avanço tecnológico! “O segundo desenvolvimento foi a invenção de redes de computadores de alta velocidade.” 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 Infográfico: A evolução da Web 13 http://evolutionofweb.appspot.com/ http://evolutionofweb.appspot.com/ “ “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 Definição de um Sistemas Distribuído 15 16 O que é um sistema distribuído? 17 Como o desenvolvedor sabe o que é sistema distribuído? 18 Como o usuário sabe o que é sistema distribuído? “ “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 20 Citem alguns exemplos 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) A camada de software (middleware) 22 Metas As quatros coordenadas 23 24 Não seria mais simples conectar vários recursos a um computador em vez de criar um Sistemas Distribuído? 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 Acessa a Recursos Meta 26 Acesso a Recursos 27 ▫ Economia a partir do compartilhamento de recursos; 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; Transparência da Distribuição Meta 29 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” 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 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 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 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 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 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 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 Transparência da Distribuição 38 ▫ O usuário não percebe que um recurso falhou e se recuperou; Transparência à falha “ A principal dificuldade para mascarar falhas está na incapacidade de distinguir entre um recurso morto e um recurso insuportavelmente lento. 39 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 41 é necessário haver transparência? Abertura Meta 42 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” 44 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 Escalabilidade Meta 46 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; 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 Escalabilidade 49 ▫ Sincronia entre os relógios; ▫ Escalabilidade geográfica;Outros problemas 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” Técnicas de Escalabilidade 51 ▫ Ocultar latências de comunicação; ▫ Distribuição; ▫ Replicação. Técnicas de Escalabilidade 52 ▫ Evitar esperar por respostas a requisições remotas; ▪ Utilizar requisições assíncronas; Ocultar latências de comunicação 53 Técnicas de Escalabilidade 54 ▫ Subdivisão de componentes em partes menores, em sequência, espalhando-os pelo sistema; Distribuição 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 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. 57 É possível cumprir as metas propostas? CiladasMeta 58 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. Tipos de Sistemas Distribuídos Tipos de Sistemas Distribuídos 60 Cluster e Grid Tipos de Sistemas Distribuídos 61 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 Sistemas de computação distribuídos 63 Computação de Cluster 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 Sistemas de computação distribuídos 65 Computação de Grade Sistemas de Informação Distribuídos Tipos de Sistemas Distribuídos 66 Sistemas de Informação Distribuídos 67 ▫ Sistemas de Processamento de Transações; ▫ Integração de Aplicações Empresariais; 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 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 Sistemas de Processamento de Transações 70 Transação Aninhada Sistemas de Processamento de Transações 71 Transação Aninhada Integração de Aplicações Empresariais 72 Sistemas Distribuídos Pervasivos Tipos de Sistemas Distribuídos 73 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” Sistemas Distribuídos Pervasivos 75 ▫ Adotar mudanças contextuais; ▫ Incentivar composição ad hoc; ▫ Reconhecer compartilhamento como padrão. Sistemas Domésticos Tipos de Sistemas Distribuídos Sistemas Distribuídos Pervasivos 76 77 Sistemas Eletrônicos para Tratamento de Saúde Tipos de Sistemas Distribuídos Sistemas Distribuídos Pervasivos 78 79 Redes de Sensores Tipos de Sistemas Distribuídos Sistemas Distribuídos Pervasivos 80 81 Conclusão Sistemas Distribuídos 82 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 Caracterização de Sistemas Distribuídos CURSO DE CIÊNCIA DA COMPUTAÇÃO DISCIPLINA DE SISTEMAS DISTRIBUÍDOS PROF. MESSIAS R. BATISTA