Baixe o app para aproveitar ainda mais
Prévia do material em texto
ARQUITETURA DE SISTEMAS DISTRIBUÍDOS Prof. Carlos Alves disciplinas@linuxconsult.com.br Sobre o Professor Possui mestrado em informática pela PUC-Minas; É professor do curso de Bacharel em Sistemas de Informação e curso Tecnólogo em Redes de computadores pelas Faculdades Estácio e Inforium ; Já lecionou em instituições como PUC-Minas e Pitágoras É Analista de informática (Administrador de Redes) da Sociedade Mineira de Cultura / Puc-Minas; Unidade I • Evolução da computação: 1.1 Computação centralizada – mainframe 1.2 Microcomputadores e redes de computadores 1.3 Sistemas distribuídos Agosto 07 Apresentação da Disciplina 14 Evolução do processamento 21 Fundamentos de Sistemas Distribuídos 28 Aplicações Distribuídas e TI Verde O que é um Sistema Distribuído? • Segundo Tanenbaum, um sistema distribuído é um conjunto de computadores independentes entre si que se apresenta a seus usuários como um sistema único e coerente. • Um sistema distribuído é aquele no qual os componentes interligados em rede se comunicam e coordenam suas ações apenas passando mensagens. (Coulouris) Exemplos • Internet Sistema distribuído muito grande Permite fazer uso de seus serviços Como WWW, email e transferência de arquivos. • Intranet Parte da internet, composta por redes locais Pode estar ligada a internet por meio de um roteador • Sistema de computação de cluster Cada cluster consiste em um conjunto de nós de computação controlados e acessados por meio de um único nó mestre SISTEMAS DISTRIBUÍDOS • PRINCÍPIOS E PARADIGMAS Fonte: SISTEMAS DISTRIBUÍDOS: PRINCÍPIOS E PARADIGMAS - TANEMBAUM -2ª edição, página 10. Tipos - Sistemas de computação distribuídos Utilizada para tarefas de computação de alto desempenho Computação de cluster Conjunto de computadores semelhantes, interligados em uma rede local de alta velocidade e cada nó executa o mesmo sistema operacional Tipos - Sistemas de computação distribuídos Computação em grade Possui alto grau de heterogeneidade: nenhuma premissa é adotada em relação a hardware, sistemas operacionais, redes, domínios administrativos, entre outros Recursos de diferentes organizações são reunidos para permitir a colaboração de um grupo de pessoas ou instituições Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Aplicações que usam a grade Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Serviços para descoberta de recursos, alocação e escalonamento de tarefas Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Protocolos de comunicação para suportar transações na grade Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Responsável pelo controle de acesso a um recurso específico Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Provê interfaces para permitir compartilhamento de recursos locais em sites específicos Tipos - Sistemas de computação distribuídos Arquitetura de um software para computação em grade Aplicações Camada coletiva Camada de conectividade Camada de Recurso Camada base Middleware Tipos - Sistemas de computação distribuídos Sistemas de informação distribuídos É encontrada em organizações que necessitam utilizar várias aplicações em rede Sistemas de processamento de transações Um servidor executa uma operação, inclui em um banco de dados, e disponibiliza em um sistema remoto para o cliente Integração de aplicações empresariais As aplicações se tornam mais sofisticadas, sendo separadas em componentes independentes, necessitam sua integração Tipos - Sistemas de computação distribuídos Sistemas distribuídos pervasivos Introdução de mecanismos móveis e embutidos Instabilidade é um comportamento esperado Ausência geral de controle administrativo humano Descobrem automaticamente seu ambiente e “se encaixam” o melhor que puderem Tipos - Sistemas de computação distribuídos Sistemas domésticos Redes domésticas: computadores, TVs, impressoras, dispositivos para jogos, ligados em um único sistema Tipos - Sistemas de computação distribuídos Sistemas eletrônicos para tratamento de saúde Costumam ser equipados com vários sensores organizados em uma rede de área corporal, deve suportar processamento de dados na rede Deve incomodar o mínimo possível o paciente Permite o monitoramento enquanto o paciente se move 2 tipos de arquitetura • Com hub central localizado no paciente • Com conexão sem fio Tipos - Sistemas de computação distribuídos • Sistemas eletrônicos para tratamento de saúde – Desafios • Onde e como armazenar os dados monitorados? • Como evitar perda de dados? • Qual a infra-estrutura necessária para gerar e transmitir sinais de alerta? • Como os médicos podem dar retorno on-line? • Como pode ser alcançada a extrema robustez do sistema de monitoração? • Quais as questões de segurança e como as políticas adequadas podem ser impostas? Tipos - Sistemas de computação distribuídos Redes de sensores Conjunto de dispositivos que permitem obter informações sobre um fenômeno, deve suportar processamento de dados na rede Tecnologia que habilita a pervasividade Nós pequenos, alimentados por bateria, e equipados com dispositivos de sensoriamento Tipos - Sistemas de computação distribuídos Monitoramento e vigilância Exemplos: Tipos - Sistemas de computação distribuídos Redes de sensores 2 tipos de arquitetura Sensores sem cooperação, apenas enviando dados a um BD centralizado Sensores recebem requisições, consultam seu próprio banco, processam e devolvem respostas Desafios Economia de bateria Processamento eficiente de dados Comunicação entre nós sensores Evolução Pontos importantes Revolução nos sistemas computacionais • 1945-1985: computadores grandes e caros • Poucos computadores operando independentemente uns dos outros A partir de 1985, dois avanços na tecnologia • Microprocessadores mais poderosos • Desenvolvimento de redes de alta velocidade Computação centralizada Mainframe Grande computador Produzido por uma grande empresa Todos os componentes (processador, memória...) do computador principal (Main) são colocados dentro de uma única estrutura (frame). Computação centralizada Características: Sistemas multiusuário Sistemas proprietários Hardware, software, rede, Instalação e manutenção feita pelo fabricante Confiabilidade x custo Lei de Moore Computação centralizada Microcomputadores e redes de computadores Ampliação do parque computacional em função de: Processadores mais rápidos e mais baratos Redes mais rápidas e acessíveis Liberdade de escolha Menor custo de manutenção Necessidade inerente de conectividade Aplicação básica Compartilhamento de recursos Microcomputadores e redes de computadores Evolução Terminais substituídos por microcomputadores Uso de um programa emulador de terminais com uma unidade de disquete O micro se comportar como um terminal Em alguns casos era necessário o uso de uma placa que compatibilizasse a forma de comunicação serial entre os dois computadores. Microcomputadorese redes de computadores Sistemas Distribuídos Utilização das redes de computadores (locais e de longa distância) para execução colaborativa e cooperativa de aplicações e não somente para compartilhamento de recursos Sistema Distribuído = Computadores + Rede + Aplicação É um sistema em que os computadores estão conectados em rede e coordenam suas ações através de troca de mensagens. Sistemas Distribuídos Vantagens de SDs sobre sistemas centralizados Econômicas: melhor custo/benefício do que mainframes Velocidade: pode ter mais poder computacional que mainframes Distribuição inerente: algumas aplicações envolvem máquinas espacialmente separadas Confiabilidade: se uma máquina quebra, o sistema como um todo pode continuar Crescimento incremental: poder computacional pode ser adicionado em pequenos incrementos Vantagens de SDs sobre sistemas centralizados Compartilhamento de dados: permite o acesso a uma base comum de dados por vários usuários Compartilhamento de dispositivos: permite o compartilhamento de dispositivos caros por vários usuários Comunicação: facilita comunicação humana Flexibilidade: distribui a carga sobre máquinas disponíveis com um custo mais efetivo Desvantagens de Sistemas Distribuídos Software: pouco software existente para SD Sistema: falta de uma divisão clara entre sistema/aplicação Rede: rede pode saturar ou causar outros problemas Segurança: acesso fácil também aplica-se aos dados privativos Metas Construir um sistema distribuído não é trivial Para valer a pena o esforço, Tanenbaum sugere quatro metas a serem cumpridas: Acesso a recursos Transparência da distribuição Abertura Escalabilidade Ciladas devem ser observadas Acesso a recursos Facilitar aos usuários e as aplicações o acesso a recursos remotos e seu compartilhamento de maneira controlada e eficiente Dentre os recursos temos: Impressoras Computadores Facilidades de armazenamento Dados Páginas Web Redes Transparência da distribuição Abertura 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. Escalabilidade Escalável em relação a seu tamanho Possibilidade de adicionar mais usuários e recursos ao sistema Escalável em termos geográficos Usuários e recursos podem estar longes uns dos outros Escalável em termos administrativos Deve ser fácil de gerenciar mesmo que envolva várias organizações Ciladas Erros comuns ao desenvolver um sistema distribuído A rede é confiável A rede é segura A rede é homogenia A topologia não muda A latência é zero A largura de banda é infinita O custo de transporte é zero Há só um administrador Ciladas Erros comuns ao desenvolver um sistema distribuído A rede é confiável A rede é segura A rede é homogenia A topologia não muda A latência é zero A largura de banda é infinita O custo de transporte é zero Há só um administrador Próxima aula Fundamentos de Sistemas Distribuídos
Compartilhar