EN-3610
Gerenciamento e
Interoperabilidade de Redes
Computação em Nuvem
Introdução
• Centralização do processamento
– Surgimento da Teleinformática – Década de 60
• Execução de programas localmente
– Computadores Pessoais – Década de 80
• Migração de programas e dados para a
Internet
– Computação em Nuvem – Atual
História
Duas Tecnologias
• Virtualização:
Habilidade de executar múltiplos sistemas
operacionais em um único sistema de hardware e
compartilhar os recursos de hardware
• Computação em Nuvem:
Disponibilização de serviços por demanda,
permitindo a escala de recursos
4
Conceito de Servidor Tradicional
Servidor
Web
Servidor de
Aplicação
Windows
Linux
IIS
Glassfish
Servidor
BD
Linux
MySQL
EMail
Windows
Exchange
E se alguma coisa der errado...
Servidor
Web
Windows
IIS
Servidor
de
Aplicação
DOWN!
Servidor
BD
Linux
MySQL
EMail
Windows
Exchange
Conceito de Servidor Tradicional
• Administradores de rede se referem aos servidores como uma
unidade única que inclui hardware, SO, armazenamento e
aplicações.
• Se um servidor é sobrecarregado, um administrador deve
adicionar um servidor.
• Administradores podem implementar clusters de servidores
para torná-los mais tolerante a falhas. No entanto, mesmo
clusters tem limites na escalabilidade e nem todas aplicações
trabalham em um ambiente de cluster.
Conceito de Servidor Tradicional
• Vantagens
–
–
–
–
Fácil instalação
Fácil desenvolvimento
Facilidade de backup
Qualquer aplicação/serviço pode
ser executada neste tipo de
arquitetura
• Desvantagens
– Aquisição e manutenção de
hardware caros
– Não é escalável
– Difícil de replicar
– Redundância difícil de
implementar
– Vulnerável a queda de hardware
– Processador sub-utilizado em
muitos casos
Conceito de Servidor Virtual
Camada do monitor de máquina virtual (VMM) entre SO convidado e
hardware
Virtualização
Server
1
Guest OS
Server
2
Guest OS
Clustering
Service
Console
VMM (Virtual Machine Monitor)
x86 Architecture
Intercepta
requisições de
hardware
Conceito de Servidor Virtual
• Servidor virtual encapsula o software do servidor do harware
– Isto inclui o SO, as aplicações e armazenamento para o servidor.
• Um servidor virtual pode usar um ou mais hosts, e um host pode hospedar
mais de um servidor virtual.
• Servidores virtuais não serão afetados pela perda de um host.
• Hosts podem ser removidos e introduzidos sem grandes problemas.
• Servidores virtuais podem ser escalados facilmente.
– Se os recursos de um servidor virtual estiverem sobrecarregados, mais
recursos podem ser alocados ao servidor virtual
• Podem ser criados templates de servidores para multiplicar servidores
virtuais idênticos
• Servidores virtuais podem migrar de host para host.
Conceito de Servidor Virtual
• Vantagens
–
–
–
–
–
Alocação de recursos
Alta redundância
Alta disponibilidade
Rápida implantação de servidores
Reconfigurável enquanto
servidores estão executando
– Otimização de recursos físicos
• Desvantagens
– Mais difícil de projetar
– Eventualmente mais caros
Virtualização
• Várias companhias
– e.g. VMware, Microsoft, Sun, ...
• Hardware support
• Virtualização é uma tecnologia bem
estabelecida
Computação em nuvem leva
virtualização para o próximo
passo!
• Você não precisa ter o hardware
• “Aluga” de acordo com a necessidade
Definição
" A Nuvem é um grande reservatório de recursos virtualizados facilmente
utilizáveis e acessíveis (como hardware, plataformas de desenvolvimento
e/ou serviços). Esses recursos podem ser dinamicamente reconfigurados
para ajustar a carga (escala) variável do sistema, permitindo também um
uso ótimo dos recursos. Esse reservatório de recursos é geralmente
explorado por um modelo pay-per-use (pagar para usar) no qual as
garantias são oferecidas por um Provedor de Infraestrutura por meio de
SLAs (Service Level Agreement - Acordo de Nível de Serviço) "
Retirado de:
Vaquero, L.M. and Rodero-Merino, L. and Caceres, J. and Lindner, M. "A
break in the clouds: towards a cloud definition" em ACM SIGCOMM
Computer Communication Review, 2008
Computação em Nuvem
Arquitetura
Características
Características Comuns:
Escala Massiva
Computação Resiliente
Homogeneidade
Distribuição Geográfica
Virtualização
Orientada a Serviços
Software Baixo Custo
Segurança Avançada
Características Essenciais:
Serviços por Demanda
Acesso Rede Banda Larga
Elasticidade
Varredura de Recursos
Medição de Serviços
Tipos de Cenário
• Infraestrutura como Serviço (IaaS ):
– Ex: Sistema Operacional completo
• Plataforma como Serviço (PaaS ):
– Ex: Ambiente de desenvolvimento
• Software como Serviço (SaaS):
– Ex: Editores de texto
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
Modelos de Desenvolvimento
Nuvem pública
•
As nuvens públicas são aquelas que são executadas por terceiros. As aplicações de diversos
usuários ficam misturadas nos sistemas de armazenamento. Um dos benefícios das nuvens
públicas é que elas podem ser muito maiores do que uma nuvem privada, por exemplo, já
que elas permitem uma maior escalabilidade dos recursos. Essa característica evita a compra
de equipamentos adicionais para resolver alguma necessidade temporária, deslocando os
riscos de infraestrutura para os prestadores de infraestrutura da nuvem.
Nuvem privada
As nuvens privadas são aquelas construídas exclusivamente para um único usuário (uma
empresa, por exemplo). Diferentemente de um data center privado virtual, a infraestrutura
utilizada pertence ao usuário, e, portanto, ele possui total controle sobre como as aplicações
são implementadas na nuvem. Uma nuvem privada é, em geral, construída sobre um data
center privado.
Nuvem híbrida
As nuvens híbridas combinam os modelos das nuvens públicas e privadas. Elas permitem que
uma nuvem privada possa ter seus recursos ampliados a partir de uma reserva de recursos em
uma nuvem pública. Essa característica possui a vantagem de manter os níveis de serviço
mesmo que haja flutuações rápidas na necessidade dos recursos.
Nuvem comunitária
•
Uma nuvem comunitária é formada quando várias organizações com requisitos similares
compartilham uma infraestrutura.
Vantagens
• Usuário
– Compatibilidade
– Atualizações
– Mobilidade
• Não há necessidade de investimento em TI (HW, SW) e…
–
–
–
–
sem custo de manutenção
sem custo de pessoal
sem custo de espaço físico
sem custo de energia
• Não há contratos complexos e duradouros de prestação de
serviços
• Cobra-se apenas por recursos x tempo de uso
• Escala por demanda
Vantagens
• Vendedores e criadores
– Amplo mercado
– Economia
• De tempo
• De dinheiro
Desafios
•
•
•
•
•
•
•
•
Gargalo na conexão
Privacidade e direito sobre os dados
Confiabilidade do serviço
Padronização
DDoS (Ataque de Negação de Serviço Distribuído)
Desempenho não é garantido
Algumas tecnologias ainda em amadurecimento
Não há jurisprudência sobre essa forma de contrato
Desafios - Segurança
•
•
•
•
Abusos de Computação em Nuvem
Interfaces e APIs inseguras
Ameaças Internas
Problemas com Compartilhamento de
Tecnologias
Ex: EUCALYPTUS
• Arcabouço para implementação de um IaaS
• Plataforma para estudos científicos
– Solução em Código Aberto e Modular
• Interface para iniciar, controlar e acessar máquinas
virtuais
• Alocação de recursos de máquina física
– Acordos de Nível de Serviço(SLAs)
EUCALYPTUS - Arquitetura
Ex: OpenStack
• OpenStack é um software de código aberto, capaz de gerenciar os
componentes de múltiplas infraestruturas virtualizadas.
• Fornece APIs que em conjunto são capazes de controlar todos os
recursos disponíveis na oferta dessa infraestrutura: máquinas
virtuais, rede, armazenadores, balanceadores de carga.
Conclusão
• Tecnologia não amadurecida
– Ausência de Definição e Arquitetura únicas
• Utilização de técnicas de virtualização
• Vantagens de redução de custos e mobilidade
• Desvantagens sobre desconfiança dos usuários
– Necessidade de incentivos à Computação em Nuvem
• Tendência ao uso em larga escala
– Adequação dos Provedores de Acesso à Internet
Referências
• Slides elaborados a partir de:
• Markus Endler – Introdução à Computação em Nuvem. PUC-RJ.
• Fernando Seabra Chirigati – Computação em Nuvem. UFRJ
• Normam Wilde e Thomas Wuber. Virtualization and Cloud Computing.
Download

Gerenciamento e Interoperabilidade de Redes