SlideShare uma empresa Scribd logo
1 de 55
Parte 3
Conceitos Básicos de SD
Sistemas Distribuídos
Mainframes
• Década de 1970
– Soluções computacionais eram baseadas em
computadores de grande porte (mainframes)
– Redes de computadores ainda estavam em seus
primeiros passos
• Confiabilidade ainda não era satisfatória
• Os computadores de pequeno porte ainda não
possuíam capacidade suficiente para suportar
aplicações “sérias”
Mainframes
• O modelo baseado em mainframes começou a sofrer
saturação
– Aumento de demanda: mais aplicações e mais usuários
– Limitações na capacidade de crescimento dos
equipamentos
– Overhead associado aos sistema operacionais
• O mercado começa a perceber que a solução
centralizada não é o melhor caminho
– Distribuir melhor a carga de trabalho é mais interessante
Microcomputadores
• Os PCs começam a evoluir
– Mais poder de processamento e armazenamento
– Mais acessibilidade (interfaces amigáveis)
– Preço atraente (aumento do público consumidor)
– O termo “computador pessoal” começa a deixar de
fazer sentido
– Algumas configurações mais robustas atendem
perfeitamente certas necessidades empresariais
Microcomputadores
• O mercado de TI começa a migrar para plataformas
baixas buscando:
– Redução de custos
– Extensibilidade e Modularidade
– Distribuição de carga computacional
– Suporte à distribuição geográfica
• Novas soluções trazem novos desafios
– Administração e manutenção do ambiente
– Segurança da informação
– Desenvolvimento de aplicações
– Integração entre ambientes
Microcomputadores
• Tornou-se necessário repensar soluções,
antes baseadas em um mundo centralizado
• IMPORTANTE: A evolução dos PCs não decretou o fim da
plataforma mainframe
• Cerca de 26% do mercado brasileiro e 10% do mercado mundial
ainda se baseia em mainframes, embora este percentual esteja
em queda
• Bancos, governos e grandes corporações ainda possuem um
imenso legado de aplicações nessa plataforma (especialmente
aquelas classificadas como “missão crítica”)
• É preciso considerar o custo de migração ou redesenho de
soluções
• Ainda existem demandas específicas para supercomputadores
Evolução das Redes
– Redes em grande escala (WAN) e redes locais
(LAN)
• Novas tecnologias altamente confiáveis
• Custos mais atraentes
• Grande potencial de distribuição
– Miniaturização de componentes (hardware)
• Disseminação da tecnologia de informação e as
telecomunicações
• Exemplo: celulares, notebooks, players mp3, ...
Evolução das Redes
– Surgimento das conexões sem fio (wireless)
• Ampliação do potencial de interligação entre
dispositivos em qualquer lugar
– A Internet se torna parte do dia-a-dia das pessoas
• Diretamente:
– Milhões de usuários conectados e transações
• Indiretamente:
– Empresas envolvidas em atividades que afetam o
consumidor final
– Exemplos: RFIDs, notas fiscais eletrônicas, transações de
cartões de crédito, ...
Panorama Econômico
• A evolução tecnológica gera novas formas de fazer
negócio, obrigando as empresas a acompanhar essa
evolução para se manterem competitivas
• Mudanças na economia e política mundial a partir da
segunda metade do século XX abriram caminho para
novas abordagens da tecnologia de informação como
ferramenta para ampliar possibilidades de negócio
Lei de Moore
• A cada 24 meses o poder de processamento
dos computadores se duplica e o custo de
mantém constante
• Teoria elaborada por Gordon Moore, um dos
fundadores da Intel
• Esta redução de custo contribuiu para tranformar os
computadores em um artigo comum em nosso dia-a-dia
• O impacto não se restringe a computadores – afeta
todos os sistemas digitais (exemplo: telecomunicações)
Lei de Moore
• Observações importantes
• O próprio Moore adimite que sua “lei” só se manterá
correta enquanto a indústria mantiver as técnicas atuais
de produção.
• Sua estimativa é de 10 a 15 anos até que surjam inovações
tecnológicas que invalidem sua teoria
• Este tipo de evolução não aconteceu em nenhuma outra
tecnologia conhecida
Lei de Moore
Lei de Metcalfe
• O valor de um sistema de comunicação cresce
na razão do quadrado do número de usuários
do sistema
• Lei formulada por Robert Metcalfe, inventor do sistema
Ethernet de redes locais
• Fórmula: (n(n-1))/2
• Isso significa que quanto maior o número de usuários de
um sistema de comunicação, menor é o custo individual
e maior o valor global do sistema
Lei de Metcalfe
• Exemplos: Telefonia e Internet
– Quanto mais usuários, maior o valor da rede de
telefonia
– O custo individual para se acessar a internet é cada vez
menor
• Observação importante
• Embora alguns estudos mais recentes discordem
do cálculo proposto por Metcalfe (pois superestima
o valor de conexões adicionais) a idéia de agregar
valor pela quantidade de usuários abriu novos
horizontes para as empresas de tecnologia
– Exemplos: Netscape, Google, ...
Lei da Disrupção Tecnológica
• O custo de uma transação pode reduzir-se
mais facilmente no mercado do que no interior
de um empresa, através da interligação de
sistemas de informação
– Empresas que exploram as inovações tecnológicas
e a interligação adequadamente podem atingir
custos menores que as empresas resistentes à
evolução
Lei da Disrupção Tecnológica
• Observação Importante
– Empresas que não se adaptam a processos
inovadores correm o risco de se defrontar com
competidores que possuem custos transacionais
menores, o que permite ofertas de produtos mais
atraentes e margens de lucro mais interessantes
– Obs: disrupção, em termos físicos, é salto de uma faísca
entre dois corpos carregados de electricidade (só ocorre
devido a “colaboração” dos mesmos)
Consequências da Evolução
– Aumento da disponibilidade
• Distribuição de tecnologia e informações em escala
mundial
– Novas formas de compartilhamento
• Hardware (impressoras, servidores, ...)
• Recursos (espaço em disco, bancos de dados, tempo de
cpu, ...)
• Serviços (processamentos, pesquisas, ...)
Consequências da Evolução
– Heterogeneidade
• Diversas soluções, plataformas e modos de interligação
• Novas tecnologias surgindo a cada momento
– Sistemas abertos
• Soluções independentes de fornecedores
• Aumento da competitividade
– Escalabilidade
• A medida que a demanda por um recurso aumenta é
possível ampliá-lo sem comprometer custos ou
desempenho
Consequências da Evolução
– Tratamento de Falhas
• Investir em qualidade de software minimiza a ocorrência
de falhas, mas só isso não garante que as mesmas não
ocorrerão
• É igualmente importante desenvolver métodos de
tolerância a falhas para suportar desastres inevitáveis
– Segurança
• É preciso garantir não só a segurança da informação
armazenada, mas sua preservação durante o tráfego
Computação Ubíqua
• Também conhecida como Computação Pervasiva
• Objetivo
• Distribuir e interligar recursos computacionais de forma a
tornar a presença destes algo natural (quase imperceptível),
melhorando as interfaces de uso para que as mesmas não se
tornem um obstáculo para o usuário final
• Na computação pervasiva, o homem seria inundado por tantos
computadores que ele estaria interagindo mesmo sem
perceber.
Computação Ubíqua
– Evolução tecnológica e competitividade
• Novos dispositivos estão surgindo
• Miniaturização de dispositivos
• Renovação de tecnologia
• Incorporação de capacidade de processamento em aparelhos
comuns
• A capacidade de se ligar a redes wireless
• Aumento na integração entre dispositivos diversos e sistemas
distribuídos
– Telefones celulares navegando na internet
– Dispositivos GPS ou captadores de mídia em veículos
Convergência Tecnológica
• Conceito de convergência tecnológica:
• Integração de tecnologias relacionadas a telecomunicações,
computação (especialmente Internet) e captura/difusão de
informações para fornecer ao usuário aplicações mais acessíveis
– Independentes de localização
– Em qualquer rede computacional
– Usando qualquer canal de comunicação disponível
• A convergência tecnológica une técnicas de sistemas
distribuídos com sistemas de telecomunicações para
obter integração entre vídeos, dados, voz e imagens
de forma única e transparente para o usuário
Convergência Tecnológica
• Alguns tipos de convergência tecnológica:
– Convergência de Redes
» Uma mesma rede suporta serviços distintos
(exemplo: rede de voz e dados)
– Convergência de Serviços
» Um mesmo serviço adapta-se a diferentes meios
(exemplo: telefonia fixa, celular, TV a cabo e Internet)
– Convergência de Terminais
» Um mesmo terminal fornecendo acesso a distintas
redes e serviços (exemplo: PC e terminal móvel)
Interoperabilidade e Convergência
• Cuidado para não confundir os dois conceitos
APLICAÇÃO
CONVERGENTE
Aplicação 1
Aplicação 2
Interoperabilidade
Aplicação 1
Aplicação 2
Arquitetura Cliente/Servidor
• Nascimento da Arquitetura Cliente/Servidor
– Objetivo:
• Integrar sistemas que usavam bancos de dados corporativos
aos microcomputadores de usuários
– Esta arquitetura separa as aplicações corporativas e o
processamento de transações em duas partes:
• Execução no SERVIDOR
– Mais segureança
– Garantia de integridade
• Execução no CLIENTE
– Interface amigavel
– Exibição personalizada
– Problema:
• A solução tem um custo alto de suporte e manutenção
Internet
– É o surgimento de um novo modelo para
integração de sistemas
– Trabalha com padrões abertos, o que permite
independência de fornecedores
– Adoção em larga escala de HTML e outras
tecnologias associadas
– Surgimento de grupos de trabalho colaborativo
sem dependência geográfica
– Corporações adotam o modelo em seus
ambientes e o adaptam (Intranet) em número
cada vez maior
• Baixo custo
• Facilidade de implementação
Cliente/Servidor
• A solução técnica ideal:
– CLIENTE é qualquer equipamento (ou processo) que
depende de outro para executar seu trabalho
– SERVIDOR é este outro equipamento (ou processo) que
atende ao cliente
– Para que esta relação de solicitação e atendimento
aconteça, é necessária a existência de meios de
conexão entre as duas partes (meios públicos, privados
ou mistos)
– Qualquer equipamento (ou processo) pode atuar como
cliente ou servidor, dependendo do momento, devido
à troca de informações
• CLIENTES solicitam serviços
• SERVIDORES fornecem serviços
Cliente/Servidor Distribuído
• É o estágio mais complexo da computação distribuída
proporcionado pelo modelo Cliente/Servidor
• Pode conectar:
– Diversos tipos de redes
– Pontos geograficamente dispersos
– Configurações heterogêneas (hardware, software ou
ambos)
• Um usuário conectado a este ambiente pode recuperar
dados, processar informações ou disparar processos
espalhados por um ambiente sem limitações de
tamanho ou localização, agindo como se todos os
recursos necessários estivessem em sua máquina.
Resumo da Evolução
• Modelos
– Centralizado
– Centralizado Multiterminal
– Cliente/Servidor Local
• Máquinas setoriais
• Redução de custo
– Cliente/Servidor Multiplataforma
• Dados no mainframe
• Gateways conectando redes
– Cliente/Servidor Distribuído
• Redes, hardware e software heterogêneos
• Pouquíssima ou nenhuma restrição geográfica
• SGBDs e arquivos distribuídos
Arquitetura em Camadas
• Duas camadas ou 2-tier
– O cliente comunica-se diretamente com o servidor
– O servidor hospeda a base de dados
– A lógica da aplicação pode ser distribuída pelo modelo
das seguintes maneiras:
• Totalmente no cliente ou
• Dividida entre o cliente e o servidor
– A aplicação que é executada no cliente precisa ser
instalada em todas as máquinas que podem vir a se
tornar clientes
– Quaisquer alterações na lógica da aplicação afetam o
cliente e sua base de dados
Arquitetura em Camadas
• Duas Camadas (2-tier)
CLIENTE
SERVIDOR
PROCESSAMENTO PROCESSAMENTO
PROCESSAMENTO
DADOSDADOS
Arquitetura em Camadas
• Três camadas (3-tier ou n-tier)
– Uma ou mais camadas são criadas entre o cliente e
o servidor
– O cliente é responsável apenas pela interface com
o usuário final
– Alterações na lógica da aplicação se tornam mais
“regionais”:
• As modificações que não se refiram a interface ou a
forma como os dados estão armazenados podem ser
feitas sem afetar o cliente ou o SGBD
• Alterações na estrutura dos dados podem ser feitas sem
que o restantes do ambiente seja afetado
• Alterações de interface podem ser realizadas sem que o
banco de dados ou sua lógica de aplicação seja afetada
Arquitetura em Camadas
• Três Camadas (3-tier ou n-tier)
CLIENTE
SERVIDOR
BANCO DE
DADOS
SERVIDOR
APLICAÇÕES
Arquitetura em Camadas
• Três Camadas (3-tier ou n-tier)
CLIENTE
SERVIDOR
BANCO DE
DADOS
SERVIDOR
WEB
CLIENTE
CLIENTE
SERVIDOR
WEB
SERVIDOR
APLICAÇÕES
SERVIDOR
APLICAÇÕES
SERVIDOR
BANCO DE
DADOS
SERVIDOR
BANCO DE
DADOS
SERVIDOR
APLICAÇÕES
SERVIDOR
BANCO DE
DADOS
Vantagens da ACS
Mais Vantagens da ACS
Desvantagens
Conceitos e Terminologias
• Privilégios e complexidade
– Servidores normalmente precisam executar acesso a dados,
grandes volumes de computação e manipulação de
protocolos. Isso tudo exige privilégios especiais no
ambiente.
– O cliente não precisa ter estes mesmos privilégios, já que
suas necessidades são bem mais simples
– Para funcionar com mais eficiência os servidores
geralmente tentam trabalhar com as requisições de forma
concorrente, o que torna o projeto e a implementação de
servidores muito mais complexos que os clientes
Conceitos e Terminologias
• Tipos de interação
• Ao se projetar uma aplicação cliente/servidor,
os desenvolvedores devem estabelecer de que
forma os servidores vão interagir com cada
cliente.
• Isso define o grau de disponibilidade que a
aplicação terá.
Conceitos e Terminologias
• Tipos de interação
Conceitos e Terminologias
• Controle de estado
• As informações que o servidor mantém sobre a
situação atual da interação dele com o cliente é
chamada de state information (informação de
estado)
Conceitos e Terminologias
• Controle de estado
Requisitos para Distribuição
• Do ponto de vista dos USUÁRIOS:
– Transparência
• Não deve ser perceptível ao usuário questões referentes
a implementação da solução
– Compartilhamento de informação
– Confiabilidade
• O sistema se mantém funcionando corretamente sob
quaisquer circunstâncias de falha ou sobrecarga
– Disponibilidade
• Fração de tempo que o sistema se apresenta disponível
para uso
Requisitos para Distribuição
• Do ponto de vista dos USUÁRIOS (cont.):
– Tipos de Transparência
– De Localização:

Não se conhece a localização real dos recursos
– De Migração:

A mudança da localização física de um recursos é imperceptível
e deve haver controle sobre dependências residuais
– De Replicação:

A quantidade de cópias de um recurso não é conhecida e não
afeta o desempenho nem a continuidade de serviços
– De Concorrência:

Não se percebe a existência de outros usuários disputando
pelo mesmo recurso
– De Paralelismo:

O usuário não interfere na decisão de que tarefas o sistema vai
executar de forma paralela para atendê-lo
Requisitos p/ Distribuição
• Do ponto de vista dos GESTORES de Recursos e
Informação:
– Modularidade e extensibilidade
• Sistemas monolíticos não são ideais para distribuição
• Deve se levar em conta a possibilidade do sistema crescer ou
evoluir
– Baixo custo
• Investimento, manutenção, expansão, ...
– Desempenho
• Estabelecimento de métricas para avaliar o desempenho
– Segurança
• Autenticidade: Comprovação de identidade
• Autorização: Controle de acesso a recursos
• Privacidade: Visibilidade de informação restrita por escopos
• Integridade: Proteção contra corrupção ou alteração indevida
• Não-repudiação (ou registro): Dispositivos de auditoria
Requisitos p/ Distribuição
• Do ponto de vista dos DESENVOLVEDORES de
aplicações:
– Interfaces padronizadas
• Para suportar a heterogeneidade de ambientes, os
desenvolvedores necessitam que as interfaces entre cada parte do
sistema distribuído obedeça algum padrão que permita o
desenvolvimento e execução de módulos em diferentes
plataformas, para que a comunicação entre estes ocorra sem a
necessidade de tratar diferenças ambientais
– Ambientes de programação independentes
• Hardware, redes, ...
– Flexibilidade e Escalabilidade
• O acréssimo de novos módulos ou a substituição de partes deve
ocorrer de forma simples
– Tolerância a Falhas
• Ferramentas e procedimentos para mascarar e tratar falhas
• Procedimentos alternativos (exemplo: redundância de hardware
e/ou software)
Definição de SD
• Sistema Distribuído
– “Um sistema distribuído é aquele no qual os
componentes localizados em computadores
interligados em rede se comunicam e coordenam suas
ações apenas passando mensagens”
– Colouris/ Dollimore / Kindberg em “Sistemas Distribuídos”
– Ênfase na distribuição e comunicação entre as partes distribuídas
– “...é uma coleção de computadores independentes
que se apresentam para os usuários como um
equipamento único.”
– Tanenbaum em “Distributed Systems: Principles and Paradigms”
– Ênfase na transparência da distribuição
– Ambas as definições incorporam os conceito de:
• Compartilhamento de recursos
• Heterogeneidade
• Modularidade
Aspectos Fundamentais
• Qualquer modelo de arquitetura de SD possui
uma preocupação em comum:
–Toda solução é composta de processos que
se comunicam entre si por meio de
mensagens que trafegam em uma rede de
comunicação
Aspectos Fundamentais
• Outra preocupação importante de qualquer
modelo de arquitetura de SD:
– É preciso deixar de lado a abordagem sequencial e
pensar em algoritmos distribuídos, onde:
• Deve-se levar em consideração o tempo de trânsito das
mensagens, o que exige preocupação com latência
– Latência é o tempo entre o início da transmissão e o início da
recepção da mensagem
• Não há um tempo global único, por isso devem existir
controles de temporização e sincronismo
– Relógios físicos ou lógicos
• A ordenação de eventos pode ou não ser relevante
– SDs síncronos ou assíncronos
Dificuldades dos SDs
• Comunicação por mensagens
– Com a distribuição, assume-se que as partes
envolvidas contam com recursos locais que nem
sempre podem ser compartilhados
• É preciso haver mecanismos de comunicação entre cada
“nó”
– A troca de mensagens está sujeita a alguns fatores
que afetam seu desempenho:
• Erros de transmissão e sequência de mensagens,
tempos de transmissão elevados, ...
– Exigem a existência de protocolos
– Possuem modelos de programação mais complexos
Dificuldades dos SDs
• Segurança
– É preciso ampliar as estratégias de gerenciamento,
considerando os diferentes ambientes, o que diz
respeito a:
• Validação de identidade, controle de privilégios,
vulnerabilidades,...
• Distribuição do Sistema Operacional
– Sincronização
• Em sistemas distribuídos não há garantias de igualdade de
condições em cada máquina, o que obriga a existência de
mecanismos mais sofisticados de coordenação
(particionamento, replicação, sincronia, tratamento de
tempo)
– Projetar um SO distribuído é complexo
Dificuldades dos SDs
• Modelos de Falhas
– A rede de comunicação já possui um conjunto
próprio de falhas características
• Falhas de hardware (cabos, roteadores, ...)
• Falhas de software (perdas de pacote, erros de
interoperabilidade, ...)
– A necessidade de coordenação entre diversos
pontos de distribuição acrescenta mais problemas
• Detectar as falhas que não acontecem localmente nem
sempre é simples
• É preciso tratar situações de indisponibilidade parcial
• Existem problemas mais abstratos, como o
congestionamento do serviço
Vantagens dos SDs
• SDs são adaptáveis à distribuição geográfica
– É uma característica natural dos sistemas
distribuídos considerar que nem todas as suas
partes se encontram fisicamente próximas
• SDs são modulares
– O sistema pode evoluir por partes, de acordo com
necessidades específicas, ganhando novos módulos
sem afetar o restante dos componentes já
existentes
– A replicação de módulos pode aumentar a
capacidade de desempenhar certas tarefas já
existentes
Vantagens dos SDs
• SDs possuem extensibilidade
– Potencialmente, a capacidade de expansão de um
SD é virtualmente ilimitada, visto que não é
limitada pelo hardware ou tecnologia adotada.
• Maior disponibilidade
– A existência de máquinas independentes pode
assegurar a continuidade de determinado serviço
mesmo diante da falha de uma delas
– É possível replicar serviços essenciais
Vantagens dos SDs
• Desempenho otimizado
– Permite atribuir tarefas com exigências específicas
para máquinas mais adequadas para sua execução
• Volume de dados, cálculos, processamento, ...
• Custo
– A redução gradativa de preços de equipamentos
aumenta a possibilidade de elevar a capacidade
computacional a custos baixos
– Embora haja sempre a necessidade de investir em
equipamentos de comunicação, a relação custo-
benefício compensa

Mais conteúdo relacionado

Destaque (14)

Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Cadernodequestes ano2011
Cadernodequestes ano2011Cadernodequestes ano2011
Cadernodequestes ano2011
 
Sd02 (si) gerenciamento de entrada e saída
Sd02 (si)   gerenciamento de entrada e saídaSd02 (si)   gerenciamento de entrada e saída
Sd02 (si) gerenciamento de entrada e saída
 
Cadernodequestes ano2010
Cadernodequestes ano2010Cadernodequestes ano2010
Cadernodequestes ano2010
 
05 automato finito com saida
05   automato finito com saida05   automato finito com saida
05 automato finito com saida
 
02 linguagens e gramaticas
02   linguagens e gramaticas02   linguagens e gramaticas
02 linguagens e gramaticas
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
04 propriedades das linguagens regulares
04   propriedades das linguagens regulares04   propriedades das linguagens regulares
04 propriedades das linguagens regulares
 
03 linguagens regulares
03   linguagens regulares03   linguagens regulares
03 linguagens regulares
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Cadernodequestes ano2007
Cadernodequestes ano2007Cadernodequestes ano2007
Cadernodequestes ano2007
 
Gabarito ano2003
Gabarito ano2003Gabarito ano2003
Gabarito ano2003
 
Aula 9 propriedadedas linguagensregulares
Aula 9   propriedadedas linguagensregularesAula 9   propriedadedas linguagensregulares
Aula 9 propriedadedas linguagensregulares
 

Semelhante a Evolução dos Sistemas Distribuídos e a Arquitetura Cliente/Servidor

Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Luis Ferreira
 
História da informática e da tecnologia da informação
História da informática e da tecnologia da informaçãoHistória da informática e da tecnologia da informação
História da informática e da tecnologia da informaçãoMarcelo Camargo
 
Capítulo 06 - Telecomunicações, Internet e tecnologia sem fio
Capítulo 06 - Telecomunicações, Internet e tecnologia  sem fioCapítulo 06 - Telecomunicações, Internet e tecnologia  sem fio
Capítulo 06 - Telecomunicações, Internet e tecnologia sem fioEverton Souza
 
Configurando o xp em rede
Configurando o xp em redeConfigurando o xp em rede
Configurando o xp em redeFabio Roberto
 
Apostila.de.redes. .cabeamento.e.estruturado
Apostila.de.redes. .cabeamento.e.estruturadoApostila.de.redes. .cabeamento.e.estruturado
Apostila.de.redes. .cabeamento.e.estruturadojpl200
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosMauro Tapajós
 
Cloud Computing-IS-2ºano
Cloud Computing-IS-2ºanoCloud Computing-IS-2ºano
Cloud Computing-IS-2ºanoCTDI Grupo5
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana Costa
 
O uso do GIS na Nuvem - EUESRI 2015
O uso do GIS na Nuvem - EUESRI 2015O uso do GIS na Nuvem - EUESRI 2015
O uso do GIS na Nuvem - EUESRI 2015Marcus Silva
 
Cloud computing-curso-dia1
Cloud computing-curso-dia1Cloud computing-curso-dia1
Cloud computing-curso-dia1Ademar Freitas
 

Semelhante a Evolução dos Sistemas Distribuídos e a Arquitetura Cliente/Servidor (20)

Redes osi
Redes osiRedes osi
Redes osi
 
Conceitos básicos 01
Conceitos básicos   01Conceitos básicos   01
Conceitos básicos 01
 
Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1Comunicação de dados - Módulo 1
Comunicação de dados - Módulo 1
 
História da informática e da tecnologia da informação
História da informática e da tecnologia da informaçãoHistória da informática e da tecnologia da informação
História da informática e da tecnologia da informação
 
Infraestrutura de Redes
Infraestrutura de RedesInfraestrutura de Redes
Infraestrutura de Redes
 
Capítulo 06 - Telecomunicações, Internet e tecnologia sem fio
Capítulo 06 - Telecomunicações, Internet e tecnologia  sem fioCapítulo 06 - Telecomunicações, Internet e tecnologia  sem fio
Capítulo 06 - Telecomunicações, Internet e tecnologia sem fio
 
historia-eai.doc
historia-eai.dochistoria-eai.doc
historia-eai.doc
 
Redes - Aula 1
Redes - Aula 1Redes - Aula 1
Redes - Aula 1
 
Configurando o xp em rede
Configurando o xp em redeConfigurando o xp em rede
Configurando o xp em rede
 
Redes 1
Redes 1Redes 1
Redes 1
 
Módulo C.pptx
Módulo C.pptxMódulo C.pptx
Módulo C.pptx
 
Apostila.de.redes. .cabeamento.e.estruturado
Apostila.de.redes. .cabeamento.e.estruturadoApostila.de.redes. .cabeamento.e.estruturado
Apostila.de.redes. .cabeamento.e.estruturado
 
Redes Industriais
Redes IndustriaisRedes Industriais
Redes Industriais
 
Redes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de DadosRedes I - 1.Introdução às Redes de Comunicação de Dados
Redes I - 1.Introdução às Redes de Comunicação de Dados
 
Cloud Computing-IS-2ºano
Cloud Computing-IS-2ºanoCloud Computing-IS-2ºano
Cloud Computing-IS-2ºano
 
Joana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático wwwJoana costa tp 1 – trabalho prático www
Joana costa tp 1 – trabalho prático www
 
O uso do GIS na Nuvem - EUESRI 2015
O uso do GIS na Nuvem - EUESRI 2015O uso do GIS na Nuvem - EUESRI 2015
O uso do GIS na Nuvem - EUESRI 2015
 
Cloud computing-curso-dia1
Cloud computing-curso-dia1Cloud computing-curso-dia1
Cloud computing-curso-dia1
 
Capitulo 3
Capitulo 3Capitulo 3
Capitulo 3
 
Desafios do IoT
Desafios do IoTDesafios do IoT
Desafios do IoT
 

Mais de Computação Depressão (20)

Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 
Gabarito ano2011
Gabarito ano2011Gabarito ano2011
Gabarito ano2011
 
Gabarito ano2010
Gabarito ano2010Gabarito ano2010
Gabarito ano2010
 
Gabarito ano2009
Gabarito ano2009Gabarito ano2009
Gabarito ano2009
 
Gabarito ano2008
Gabarito ano2008Gabarito ano2008
Gabarito ano2008
 
Gabarito ano2007
Gabarito ano2007Gabarito ano2007
Gabarito ano2007
 
Gabarito ano2006
Gabarito ano2006Gabarito ano2006
Gabarito ano2006
 

Evolução dos Sistemas Distribuídos e a Arquitetura Cliente/Servidor

  • 1. Parte 3 Conceitos Básicos de SD Sistemas Distribuídos
  • 2. Mainframes • Década de 1970 – Soluções computacionais eram baseadas em computadores de grande porte (mainframes) – Redes de computadores ainda estavam em seus primeiros passos • Confiabilidade ainda não era satisfatória • Os computadores de pequeno porte ainda não possuíam capacidade suficiente para suportar aplicações “sérias”
  • 3. Mainframes • O modelo baseado em mainframes começou a sofrer saturação – Aumento de demanda: mais aplicações e mais usuários – Limitações na capacidade de crescimento dos equipamentos – Overhead associado aos sistema operacionais • O mercado começa a perceber que a solução centralizada não é o melhor caminho – Distribuir melhor a carga de trabalho é mais interessante
  • 4. Microcomputadores • Os PCs começam a evoluir – Mais poder de processamento e armazenamento – Mais acessibilidade (interfaces amigáveis) – Preço atraente (aumento do público consumidor) – O termo “computador pessoal” começa a deixar de fazer sentido – Algumas configurações mais robustas atendem perfeitamente certas necessidades empresariais
  • 5. Microcomputadores • O mercado de TI começa a migrar para plataformas baixas buscando: – Redução de custos – Extensibilidade e Modularidade – Distribuição de carga computacional – Suporte à distribuição geográfica • Novas soluções trazem novos desafios – Administração e manutenção do ambiente – Segurança da informação – Desenvolvimento de aplicações – Integração entre ambientes
  • 6. Microcomputadores • Tornou-se necessário repensar soluções, antes baseadas em um mundo centralizado • IMPORTANTE: A evolução dos PCs não decretou o fim da plataforma mainframe • Cerca de 26% do mercado brasileiro e 10% do mercado mundial ainda se baseia em mainframes, embora este percentual esteja em queda • Bancos, governos e grandes corporações ainda possuem um imenso legado de aplicações nessa plataforma (especialmente aquelas classificadas como “missão crítica”) • É preciso considerar o custo de migração ou redesenho de soluções • Ainda existem demandas específicas para supercomputadores
  • 7. Evolução das Redes – Redes em grande escala (WAN) e redes locais (LAN) • Novas tecnologias altamente confiáveis • Custos mais atraentes • Grande potencial de distribuição – Miniaturização de componentes (hardware) • Disseminação da tecnologia de informação e as telecomunicações • Exemplo: celulares, notebooks, players mp3, ...
  • 8. Evolução das Redes – Surgimento das conexões sem fio (wireless) • Ampliação do potencial de interligação entre dispositivos em qualquer lugar – A Internet se torna parte do dia-a-dia das pessoas • Diretamente: – Milhões de usuários conectados e transações • Indiretamente: – Empresas envolvidas em atividades que afetam o consumidor final – Exemplos: RFIDs, notas fiscais eletrônicas, transações de cartões de crédito, ...
  • 9. Panorama Econômico • A evolução tecnológica gera novas formas de fazer negócio, obrigando as empresas a acompanhar essa evolução para se manterem competitivas • Mudanças na economia e política mundial a partir da segunda metade do século XX abriram caminho para novas abordagens da tecnologia de informação como ferramenta para ampliar possibilidades de negócio
  • 10. Lei de Moore • A cada 24 meses o poder de processamento dos computadores se duplica e o custo de mantém constante • Teoria elaborada por Gordon Moore, um dos fundadores da Intel • Esta redução de custo contribuiu para tranformar os computadores em um artigo comum em nosso dia-a-dia • O impacto não se restringe a computadores – afeta todos os sistemas digitais (exemplo: telecomunicações)
  • 11. Lei de Moore • Observações importantes • O próprio Moore adimite que sua “lei” só se manterá correta enquanto a indústria mantiver as técnicas atuais de produção. • Sua estimativa é de 10 a 15 anos até que surjam inovações tecnológicas que invalidem sua teoria • Este tipo de evolução não aconteceu em nenhuma outra tecnologia conhecida
  • 13. Lei de Metcalfe • O valor de um sistema de comunicação cresce na razão do quadrado do número de usuários do sistema • Lei formulada por Robert Metcalfe, inventor do sistema Ethernet de redes locais • Fórmula: (n(n-1))/2 • Isso significa que quanto maior o número de usuários de um sistema de comunicação, menor é o custo individual e maior o valor global do sistema
  • 14. Lei de Metcalfe • Exemplos: Telefonia e Internet – Quanto mais usuários, maior o valor da rede de telefonia – O custo individual para se acessar a internet é cada vez menor • Observação importante • Embora alguns estudos mais recentes discordem do cálculo proposto por Metcalfe (pois superestima o valor de conexões adicionais) a idéia de agregar valor pela quantidade de usuários abriu novos horizontes para as empresas de tecnologia – Exemplos: Netscape, Google, ...
  • 15. Lei da Disrupção Tecnológica • O custo de uma transação pode reduzir-se mais facilmente no mercado do que no interior de um empresa, através da interligação de sistemas de informação – Empresas que exploram as inovações tecnológicas e a interligação adequadamente podem atingir custos menores que as empresas resistentes à evolução
  • 16. Lei da Disrupção Tecnológica • Observação Importante – Empresas que não se adaptam a processos inovadores correm o risco de se defrontar com competidores que possuem custos transacionais menores, o que permite ofertas de produtos mais atraentes e margens de lucro mais interessantes – Obs: disrupção, em termos físicos, é salto de uma faísca entre dois corpos carregados de electricidade (só ocorre devido a “colaboração” dos mesmos)
  • 17. Consequências da Evolução – Aumento da disponibilidade • Distribuição de tecnologia e informações em escala mundial – Novas formas de compartilhamento • Hardware (impressoras, servidores, ...) • Recursos (espaço em disco, bancos de dados, tempo de cpu, ...) • Serviços (processamentos, pesquisas, ...)
  • 18. Consequências da Evolução – Heterogeneidade • Diversas soluções, plataformas e modos de interligação • Novas tecnologias surgindo a cada momento – Sistemas abertos • Soluções independentes de fornecedores • Aumento da competitividade – Escalabilidade • A medida que a demanda por um recurso aumenta é possível ampliá-lo sem comprometer custos ou desempenho
  • 19. Consequências da Evolução – Tratamento de Falhas • Investir em qualidade de software minimiza a ocorrência de falhas, mas só isso não garante que as mesmas não ocorrerão • É igualmente importante desenvolver métodos de tolerância a falhas para suportar desastres inevitáveis – Segurança • É preciso garantir não só a segurança da informação armazenada, mas sua preservação durante o tráfego
  • 20. Computação Ubíqua • Também conhecida como Computação Pervasiva • Objetivo • Distribuir e interligar recursos computacionais de forma a tornar a presença destes algo natural (quase imperceptível), melhorando as interfaces de uso para que as mesmas não se tornem um obstáculo para o usuário final • Na computação pervasiva, o homem seria inundado por tantos computadores que ele estaria interagindo mesmo sem perceber.
  • 21. Computação Ubíqua – Evolução tecnológica e competitividade • Novos dispositivos estão surgindo • Miniaturização de dispositivos • Renovação de tecnologia • Incorporação de capacidade de processamento em aparelhos comuns • A capacidade de se ligar a redes wireless • Aumento na integração entre dispositivos diversos e sistemas distribuídos – Telefones celulares navegando na internet – Dispositivos GPS ou captadores de mídia em veículos
  • 22. Convergência Tecnológica • Conceito de convergência tecnológica: • Integração de tecnologias relacionadas a telecomunicações, computação (especialmente Internet) e captura/difusão de informações para fornecer ao usuário aplicações mais acessíveis – Independentes de localização – Em qualquer rede computacional – Usando qualquer canal de comunicação disponível • A convergência tecnológica une técnicas de sistemas distribuídos com sistemas de telecomunicações para obter integração entre vídeos, dados, voz e imagens de forma única e transparente para o usuário
  • 23. Convergência Tecnológica • Alguns tipos de convergência tecnológica: – Convergência de Redes » Uma mesma rede suporta serviços distintos (exemplo: rede de voz e dados) – Convergência de Serviços » Um mesmo serviço adapta-se a diferentes meios (exemplo: telefonia fixa, celular, TV a cabo e Internet) – Convergência de Terminais » Um mesmo terminal fornecendo acesso a distintas redes e serviços (exemplo: PC e terminal móvel)
  • 24. Interoperabilidade e Convergência • Cuidado para não confundir os dois conceitos APLICAÇÃO CONVERGENTE Aplicação 1 Aplicação 2 Interoperabilidade Aplicação 1 Aplicação 2
  • 25. Arquitetura Cliente/Servidor • Nascimento da Arquitetura Cliente/Servidor – Objetivo: • Integrar sistemas que usavam bancos de dados corporativos aos microcomputadores de usuários – Esta arquitetura separa as aplicações corporativas e o processamento de transações em duas partes: • Execução no SERVIDOR – Mais segureança – Garantia de integridade • Execução no CLIENTE – Interface amigavel – Exibição personalizada – Problema: • A solução tem um custo alto de suporte e manutenção
  • 26. Internet – É o surgimento de um novo modelo para integração de sistemas – Trabalha com padrões abertos, o que permite independência de fornecedores – Adoção em larga escala de HTML e outras tecnologias associadas – Surgimento de grupos de trabalho colaborativo sem dependência geográfica – Corporações adotam o modelo em seus ambientes e o adaptam (Intranet) em número cada vez maior • Baixo custo • Facilidade de implementação
  • 27. Cliente/Servidor • A solução técnica ideal: – CLIENTE é qualquer equipamento (ou processo) que depende de outro para executar seu trabalho – SERVIDOR é este outro equipamento (ou processo) que atende ao cliente – Para que esta relação de solicitação e atendimento aconteça, é necessária a existência de meios de conexão entre as duas partes (meios públicos, privados ou mistos) – Qualquer equipamento (ou processo) pode atuar como cliente ou servidor, dependendo do momento, devido à troca de informações • CLIENTES solicitam serviços • SERVIDORES fornecem serviços
  • 28. Cliente/Servidor Distribuído • É o estágio mais complexo da computação distribuída proporcionado pelo modelo Cliente/Servidor • Pode conectar: – Diversos tipos de redes – Pontos geograficamente dispersos – Configurações heterogêneas (hardware, software ou ambos) • Um usuário conectado a este ambiente pode recuperar dados, processar informações ou disparar processos espalhados por um ambiente sem limitações de tamanho ou localização, agindo como se todos os recursos necessários estivessem em sua máquina.
  • 29. Resumo da Evolução • Modelos – Centralizado – Centralizado Multiterminal – Cliente/Servidor Local • Máquinas setoriais • Redução de custo – Cliente/Servidor Multiplataforma • Dados no mainframe • Gateways conectando redes – Cliente/Servidor Distribuído • Redes, hardware e software heterogêneos • Pouquíssima ou nenhuma restrição geográfica • SGBDs e arquivos distribuídos
  • 30. Arquitetura em Camadas • Duas camadas ou 2-tier – O cliente comunica-se diretamente com o servidor – O servidor hospeda a base de dados – A lógica da aplicação pode ser distribuída pelo modelo das seguintes maneiras: • Totalmente no cliente ou • Dividida entre o cliente e o servidor – A aplicação que é executada no cliente precisa ser instalada em todas as máquinas que podem vir a se tornar clientes – Quaisquer alterações na lógica da aplicação afetam o cliente e sua base de dados
  • 31. Arquitetura em Camadas • Duas Camadas (2-tier) CLIENTE SERVIDOR PROCESSAMENTO PROCESSAMENTO PROCESSAMENTO DADOSDADOS
  • 32. Arquitetura em Camadas • Três camadas (3-tier ou n-tier) – Uma ou mais camadas são criadas entre o cliente e o servidor – O cliente é responsável apenas pela interface com o usuário final – Alterações na lógica da aplicação se tornam mais “regionais”: • As modificações que não se refiram a interface ou a forma como os dados estão armazenados podem ser feitas sem afetar o cliente ou o SGBD • Alterações na estrutura dos dados podem ser feitas sem que o restantes do ambiente seja afetado • Alterações de interface podem ser realizadas sem que o banco de dados ou sua lógica de aplicação seja afetada
  • 33. Arquitetura em Camadas • Três Camadas (3-tier ou n-tier) CLIENTE SERVIDOR BANCO DE DADOS SERVIDOR APLICAÇÕES
  • 34. Arquitetura em Camadas • Três Camadas (3-tier ou n-tier) CLIENTE SERVIDOR BANCO DE DADOS SERVIDOR WEB CLIENTE CLIENTE SERVIDOR WEB SERVIDOR APLICAÇÕES SERVIDOR APLICAÇÕES SERVIDOR BANCO DE DADOS SERVIDOR BANCO DE DADOS SERVIDOR APLICAÇÕES SERVIDOR BANCO DE DADOS
  • 38. Conceitos e Terminologias • Privilégios e complexidade – Servidores normalmente precisam executar acesso a dados, grandes volumes de computação e manipulação de protocolos. Isso tudo exige privilégios especiais no ambiente. – O cliente não precisa ter estes mesmos privilégios, já que suas necessidades são bem mais simples – Para funcionar com mais eficiência os servidores geralmente tentam trabalhar com as requisições de forma concorrente, o que torna o projeto e a implementação de servidores muito mais complexos que os clientes
  • 39. Conceitos e Terminologias • Tipos de interação • Ao se projetar uma aplicação cliente/servidor, os desenvolvedores devem estabelecer de que forma os servidores vão interagir com cada cliente. • Isso define o grau de disponibilidade que a aplicação terá.
  • 40. Conceitos e Terminologias • Tipos de interação
  • 41. Conceitos e Terminologias • Controle de estado • As informações que o servidor mantém sobre a situação atual da interação dele com o cliente é chamada de state information (informação de estado)
  • 42. Conceitos e Terminologias • Controle de estado
  • 43. Requisitos para Distribuição • Do ponto de vista dos USUÁRIOS: – Transparência • Não deve ser perceptível ao usuário questões referentes a implementação da solução – Compartilhamento de informação – Confiabilidade • O sistema se mantém funcionando corretamente sob quaisquer circunstâncias de falha ou sobrecarga – Disponibilidade • Fração de tempo que o sistema se apresenta disponível para uso
  • 44. Requisitos para Distribuição • Do ponto de vista dos USUÁRIOS (cont.): – Tipos de Transparência – De Localização:  Não se conhece a localização real dos recursos – De Migração:  A mudança da localização física de um recursos é imperceptível e deve haver controle sobre dependências residuais – De Replicação:  A quantidade de cópias de um recurso não é conhecida e não afeta o desempenho nem a continuidade de serviços – De Concorrência:  Não se percebe a existência de outros usuários disputando pelo mesmo recurso – De Paralelismo:  O usuário não interfere na decisão de que tarefas o sistema vai executar de forma paralela para atendê-lo
  • 45. Requisitos p/ Distribuição • Do ponto de vista dos GESTORES de Recursos e Informação: – Modularidade e extensibilidade • Sistemas monolíticos não são ideais para distribuição • Deve se levar em conta a possibilidade do sistema crescer ou evoluir – Baixo custo • Investimento, manutenção, expansão, ... – Desempenho • Estabelecimento de métricas para avaliar o desempenho – Segurança • Autenticidade: Comprovação de identidade • Autorização: Controle de acesso a recursos • Privacidade: Visibilidade de informação restrita por escopos • Integridade: Proteção contra corrupção ou alteração indevida • Não-repudiação (ou registro): Dispositivos de auditoria
  • 46. Requisitos p/ Distribuição • Do ponto de vista dos DESENVOLVEDORES de aplicações: – Interfaces padronizadas • Para suportar a heterogeneidade de ambientes, os desenvolvedores necessitam que as interfaces entre cada parte do sistema distribuído obedeça algum padrão que permita o desenvolvimento e execução de módulos em diferentes plataformas, para que a comunicação entre estes ocorra sem a necessidade de tratar diferenças ambientais – Ambientes de programação independentes • Hardware, redes, ... – Flexibilidade e Escalabilidade • O acréssimo de novos módulos ou a substituição de partes deve ocorrer de forma simples – Tolerância a Falhas • Ferramentas e procedimentos para mascarar e tratar falhas • Procedimentos alternativos (exemplo: redundância de hardware e/ou software)
  • 47. Definição de SD • Sistema Distribuído – “Um sistema distribuído é aquele no qual os componentes localizados em computadores interligados em rede se comunicam e coordenam suas ações apenas passando mensagens” – Colouris/ Dollimore / Kindberg em “Sistemas Distribuídos” – Ênfase na distribuição e comunicação entre as partes distribuídas – “...é uma coleção de computadores independentes que se apresentam para os usuários como um equipamento único.” – Tanenbaum em “Distributed Systems: Principles and Paradigms” – Ênfase na transparência da distribuição – Ambas as definições incorporam os conceito de: • Compartilhamento de recursos • Heterogeneidade • Modularidade
  • 48. Aspectos Fundamentais • Qualquer modelo de arquitetura de SD possui uma preocupação em comum: –Toda solução é composta de processos que se comunicam entre si por meio de mensagens que trafegam em uma rede de comunicação
  • 49. Aspectos Fundamentais • Outra preocupação importante de qualquer modelo de arquitetura de SD: – É preciso deixar de lado a abordagem sequencial e pensar em algoritmos distribuídos, onde: • Deve-se levar em consideração o tempo de trânsito das mensagens, o que exige preocupação com latência – Latência é o tempo entre o início da transmissão e o início da recepção da mensagem • Não há um tempo global único, por isso devem existir controles de temporização e sincronismo – Relógios físicos ou lógicos • A ordenação de eventos pode ou não ser relevante – SDs síncronos ou assíncronos
  • 50. Dificuldades dos SDs • Comunicação por mensagens – Com a distribuição, assume-se que as partes envolvidas contam com recursos locais que nem sempre podem ser compartilhados • É preciso haver mecanismos de comunicação entre cada “nó” – A troca de mensagens está sujeita a alguns fatores que afetam seu desempenho: • Erros de transmissão e sequência de mensagens, tempos de transmissão elevados, ... – Exigem a existência de protocolos – Possuem modelos de programação mais complexos
  • 51. Dificuldades dos SDs • Segurança – É preciso ampliar as estratégias de gerenciamento, considerando os diferentes ambientes, o que diz respeito a: • Validação de identidade, controle de privilégios, vulnerabilidades,... • Distribuição do Sistema Operacional – Sincronização • Em sistemas distribuídos não há garantias de igualdade de condições em cada máquina, o que obriga a existência de mecanismos mais sofisticados de coordenação (particionamento, replicação, sincronia, tratamento de tempo) – Projetar um SO distribuído é complexo
  • 52. Dificuldades dos SDs • Modelos de Falhas – A rede de comunicação já possui um conjunto próprio de falhas características • Falhas de hardware (cabos, roteadores, ...) • Falhas de software (perdas de pacote, erros de interoperabilidade, ...) – A necessidade de coordenação entre diversos pontos de distribuição acrescenta mais problemas • Detectar as falhas que não acontecem localmente nem sempre é simples • É preciso tratar situações de indisponibilidade parcial • Existem problemas mais abstratos, como o congestionamento do serviço
  • 53. Vantagens dos SDs • SDs são adaptáveis à distribuição geográfica – É uma característica natural dos sistemas distribuídos considerar que nem todas as suas partes se encontram fisicamente próximas • SDs são modulares – O sistema pode evoluir por partes, de acordo com necessidades específicas, ganhando novos módulos sem afetar o restante dos componentes já existentes – A replicação de módulos pode aumentar a capacidade de desempenhar certas tarefas já existentes
  • 54. Vantagens dos SDs • SDs possuem extensibilidade – Potencialmente, a capacidade de expansão de um SD é virtualmente ilimitada, visto que não é limitada pelo hardware ou tecnologia adotada. • Maior disponibilidade – A existência de máquinas independentes pode assegurar a continuidade de determinado serviço mesmo diante da falha de uma delas – É possível replicar serviços essenciais
  • 55. Vantagens dos SDs • Desempenho otimizado – Permite atribuir tarefas com exigências específicas para máquinas mais adequadas para sua execução • Volume de dados, cálculos, processamento, ... • Custo – A redução gradativa de preços de equipamentos aumenta a possibilidade de elevar a capacidade computacional a custos baixos – Embora haja sempre a necessidade de investir em equipamentos de comunicação, a relação custo- benefício compensa