Eucalyptus

51
The Eucalyptus Open- The Eucalyptus Open- source Cloud-computing source Cloud-computing System System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva

Transcript of Eucalyptus

Page 1: Eucalyptus

The Eucalyptus Open-The Eucalyptus Open-source Cloud-computing source Cloud-computing SystemSystem

Janaina SiqueiraLara WilpertMarcelo ScheidtRenata Silva

Page 2: Eucalyptus

SumárioSumárioIntrodução

Trabalhos Correlatos

Eucalyptus Design

Conclusões

Page 3: Eucalyptus

Visão GeralVisão GeralIntrodução:

-Abordagem sobre utilização de Cloud Computing. -Apresentação de algumas dificuldades no gerenciamento de sistemas em cloud.-Apresentação da solução proposta com o Eucalyptus.

Page 4: Eucalyptus

Visão GeralVisão GeralTrabalhos Correlatos:

-Citação de outras soluções existentes na área:

Amazon EC2/S3, Google AppEngine e Salesforce

UsherEnomalismCluster-on-demand

-Diferenças do Eucalyptus

Page 5: Eucalyptus

Visão GeralVisão GeralEucalyptus Design:

-Características da estrutura do Eucalytus-Apresentação de seus principais componentes (camadas):

Node ControllerCluster ControllerStorage ControllerCloud Controller

Page 6: Eucalyptus

Visão GeralVisão GeralEucalyptus Design:

-Apresentação do “módulo”: Virtual Network OverlayAborda questões relacionadas com a inter-conectividade entre as máquinas virtuais.

Conclusões:-Apresentação das conclusões obtidas

Page 7: Eucalyptus

IntroduçãoIntrodução

Nos últimos anos a utilização de sistemas de computação em nuvem ganhou popularidade.

São procurados devido a disponibilidade de dados e recursos computacionais que oferecem.

Page 8: Eucalyptus

IntroduçãoIntroduçãoNormalmente, os usuários escolhem os

recursos, considerando: arquitetura de hardware, memória, capacidade de armazenamento, conectividade de rede, e ocasionalmente, localização geográfica.

Recursos disponibilizados formam um sistema heterogêneo.

Page 9: Eucalyptus

IntroduçãoIntroduçãoVários avanços foram feitos em HPC e

Grid Computing para criação de recursos padrões, porém o processo de localização de recursos, permanece, de alguma forma, complicado para usuários com necessidades de recursos complexos.

Page 10: Eucalyptus

IntroduçãoIntroduçãoA maioria dos sistemas operando

atualmente contam com uma infra-estrutura que é invisível aos usuários.

A falta de ferramenta de gerenciamento é um problema.

Mantivemos o foco na camada baixa do sistema de computação em nuvem – IaaS.

Page 11: Eucalyptus

IntroduçãoIntroduçãoEucalyptus é um sistema de código

aberto que usa infra-estrutura computacional e de armazenamento, comumente disponível para grupos de pesquisa acadêmica, para fornecer uma plataforma modular e aberta que possibilita instrumentação experimental e estudo.

Page 12: Eucalyptus

IntroduçãoIntrodução

Eucalyptus é composto por vários componentes que interagem uns com os outros através de interfaces bem definidas, que serão detalhadas neste trabalho.

Page 13: Eucalyptus

IntroduçãoIntroduçãoSerão abordadas questões cruciais de sistemas

de computação em nuvem, incluindo a instanciação agendada de VM’s, o uso de armazenamento de dados em VM’s, interfaces administrativas para computação em nuvem, construção de redes virtuais, definição e execução dos acordos de nível de serviço (nuvem/usuário e nuvem/nuvem) e interfaces de usuários de computação em nuvem.

Page 14: Eucalyptus

Trabalhos CorrelatosTrabalhos CorrelatosO estudo de virtualização de máquinas

possibilitou a criação de novos mecanismos para prover recursos aos usuários;

Influenciou o design de hardwares que suportem operações de sistemas transparentes;

A arquitetura “correta” para virtualizações ainda é um campo de estudo aberto.

Page 15: Eucalyptus

Trabalhos CorrelatosTrabalhos CorrelatosAmazon EC2/S3, Google AppEngine e

Salesforce mantêm uma infra-estrutura proprietária com interfaces abertas.

Usher: Framework de gerenciamento de máquinas virtuais open-source.

Enomalism: Software open-source de infra-estrutura para nuvens.

Cluster-on-demand: Focado em prover máquinas virtuais para aplicações científicas da computação.

Page 16: Eucalyptus

Trabalhos CorrelatosTrabalhos CorrelatosDiferenças do Eucalyptus:

◦Projetado para ser fácil de instalar e não intrusivo;

◦Altamente modular;◦Interface é baseada na popular API da

Amazon;◦Possui uma camada de rede virtual que

isola o tráfego de diferentes usuários como também permite que dois ou mais clusters pertençam aparentemente a mesma LAN.

Page 17: Eucalyptus

Eucalyptus DesignEucalyptus DesignSimples, Flexível e Modular;Hierarquizada, refletindo as aplicações

acadêmicas;Usuários podem iniciar, controlar,

acessar e encerrar MV exatamente da mesma maneira que usuários interagem com a Amazon EC2;

Dividida em 4 componentes principais.

Page 18: Eucalyptus

Camadas do Camadas do EucalyptusEucalyptus

Page 19: Eucalyptus

CamadasCamadasNode Controller: Controla a

execução, inspeção e o encerramento de VM no host em que está rodando.

Cluster Controller: Coleta informação sobre a execução de VM em nós específicos e realiza o agendamento dessas execuções.

Page 20: Eucalyptus

CamadasCamadasStorage Controller: Realiza o

armazenamento e o acesso de imagens de máquinas e dados dos usuários.

Cloud Controller: É o ponto de acesso na nuvem para usuários e administradores, além de coletar informações sobre os recursos globais e realizar agendamentos.

Page 21: Eucalyptus

Node ControllerNode ControllerRealiza requisições para descobrir os

recursos físicos do nó:◦Número de núcleos;◦Tamanho da memória;◦Espaço disponível em disco.

Monitora os estados das instâncias virtuais;

describeResource e describeInstances.

Page 22: Eucalyptus

Node ControllerNode ControllerPara iniciar uma instância o controlador

faz uma cópia dos arquivos da instância de um repositório, cria um novo acesso à camada de rede virtual para e avisa para o supervisor para iniciar a máquina.

Para parar uma instância o controlador avisa o supervisor para encerrar a máquina virtual, desfaz o acesso a rede e limpa os arquivos associados a ela.

Page 23: Eucalyptus

ControladorControlador de Clusterde Cluster

● Executado em máquina que é porta de entrada para o cluster ou qualquer máquina que possua conectividade com NC e CLC.

● Operações semelhantes a NC, mais com volume maior:● RunInstances, describeInstances,

terminateInstances, describeResources.

Page 24: Eucalyptus

Controlador de ClusterControlador de Cluster

● Principais funções:● Agendar execuções de instâncias.● Controlar a Rede Virtual Sobreposta● Recuperar ou enviar informações sobre

Ncs.

Page 25: Eucalyptus

Controlador de ClusterControlador de Cluster

● Solicitação para executar conjunto de instancias:● Verifica cada NC, através de

describeResource● envia runInstance ao primeiro NC que

tiver recursos livres suficientes para hospedar a instância

Page 26: Eucalyptus

Controlador de ClusterControlador de Cluster

● Solicitação para descrever recursos (describeResource)● recebe uma lista das características do

recurso desejado para uma determinada instância;

● Calcula quantas instâncias simultâneas de um tipo específico podem ser executadas em seu conjunto de Ncs e repassa esse número ao CLC.

Page 27: Eucalyptus

Virtual Network OverlayVirtual Network Overlay● Interconectividade entre instâncias.● Requisitos de redes abordados pelo

Eucalyptus:●Conectividade;●Isolamento;●Performance.

Page 28: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

● Toda VM controlada pelo Eucalyptus deve ter conectividade de rede com as outras e pelo menos uma das instâncias que fazem parte de um conjunto de VMs deve ter conectividade com a Internet.

● Acesso de administrador pode causar problemas de segurança.

● CC inicia e termina instancia de Vms na rede.

Page 29: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

Três modos de configurações de rede:● System: conecta Vms diretamente

ao software Ethernet Bridge, conectado diretamente a rede fisica real.

● Endereço IP é atribuído a máquina virtual pelo servidor DHCP

Page 30: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

Static● O administrador configura uma lista

de pares MAC/IP● Cada nova instancia recebe MAC/IP

livre.● Libera Tupla quando a máquina é

terminada.

Page 31: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

Managed● Eucalyptus gerencia e controla

totalmente as redes de Vms.● Fornece:

● Isolamento de trafego;● Definições de regras de ingresso;● Atribuição dinamica de IP público.

Page 32: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

● Cada rede recebe uma tag VLAN e um endereço de subrede único.

● Cada conjunto de VMs em uma rede é isolada das VMs das outras redes.

● Usuário pode definir regras de ingresso que permitem acesso de redes externas.

Page 33: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

Page 34: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

● Linux iptables – implementar e controlar regras de negócios.

● Administradores especificam uma lista de IPs públicos que não são usados.

● Usuários podem solicitar dinamicamente um IP público dessa lista e atribuir a instancia VM

● NAT (SNAT/DNAT)

Page 35: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

Page 36: Eucalyptus

Virtual Network OverlayVirtual Network Overlay

System e Static● Comunicação com velocidade, mas

sem isolamento das redes.

Managed● Controla e gerencia o isolamento das

redes, perdendo um pouco de performance.

Page 37: Eucalyptus

Storage Controller (Walrus)Storage Controller (Walrus)

● Walrus é um serviço de armazenamento de dados que utiliza tecnologias web services (Axis2, Mule).

● Possui interface compatível com a Amazon’s Simple Storage Service (S3).

Page 38: Eucalyptus

Storage Controller (Walrus)Storage Controller (Walrus)

● Walrus fornece dois tipos de funcionalidades: transferência de dados dentro e fora da nuvem assim como nas instâncias que iniciaram nos nodos e armazenamento de imagens de VM.

● Walrus suporta transferência concorrente e serial de dados.

● Contribuindo com a escalabilidade, não há locking de escrita.

Page 39: Eucalyptus

Storage Controller (Walrus)Storage Controller (Walrus)

● Walrus responde com MD5 fazendo verificação no objeto que estava armazenado.

● Lista de controle de acesso sobre o objeto requisitado.

● Escritas e leituras são transmitidas por HTTP.● VM root filesystem, kernel e ramdisk images são

empacotadas e carregadas utilizando a ferramenta EC2 da Amazon.

Page 40: Eucalyptus

Storage Controller (Walrus)Storage Controller (Walrus)

● Walrus mantém uma cache de imagens.● Walrus é modular e pode ser

customizado de acordo com as necessidades do usuário.

Page 41: Eucalyptus

Storage Controller (Walrus)Storage Controller (Walrus)

Page 42: Eucalyptus

Cloud ControllerCloud Controller

Page 43: Eucalyptus

Cloud ControllerCloud Controller

● Recursos virtualizados são gerenciados pela Cloud Controller (CLC).

● Cloud Controller é uma coleção de web services que são agrupadas em três categorias:● Resource Services;● Data Services;● Interface Services.

Page 44: Eucalyptus

Cloud ControllerCloud Controller

● The Resource Services controla as requisições e interage com CCs para alocar e desalocar resursos físicos.

● Uma simples representação do estado de recurso de sistema (SRS) é dada através da comunicação com CC’s e é usado na avaliação e realização de requisições de usuário (de acordo SLAs).

Page 45: Eucalyptus

Cloud ControllerCloud Controller

● O papel do SRS é executado em dois estágios:

● 1º: Quando a requisição de usuário chega.● Uma VM criada consiste no SRS reservar

recursos para ela.● 2º: SRS controla o estado de alocação de

recurso.

Page 46: Eucalyptus

Cloud ControllerCloud Controller

● O controle de admissão e as métricas do SLA funcionam em conjunto: asseguram que os recursos não sejam “super utilizados” e conservam uma visão de recurso disponível para amenizar a possibilidade de falhas.

● Um exemplo de implementação permite que usuários controlem a cluster a ser usada na alocação de VM em “zone” (terminologia utilizada pela Amazon) específica.

Page 47: Eucalyptus

Cloud ControllerCloud Controller

● Data Services trata da criação, modificação e armazenamento de sistema e dados do usuário.

● Usuários podem consultar os serviços para ter informação dos recursos disponíveis (imagens e clusters).

● O Resource Services interage com Data Services.

Page 48: Eucalyptus

Cloud ControllerCloud Controller

● Uma interface web é oferecida por usuários e administradores da cloud. Os administradores diferem-se de usuários por poder gerenciar contas desses usuários e podem inspecionar componentes disponíveis do sistema.

Page 49: Eucalyptus

Cloud ControllerCloud Controller

● A coleção de interfaces web services informa as entradas para requisições de usuários usando várias especificações (exemplos: EC2’S SOAP & “Query”, S3’s SOAP & REST).

Page 50: Eucalyptus

ConclusãoConclusão

● O sistema EUCALYPTUS é construído para permitir que administradores e pesquisadores possam implementar uma infraestrutura para criação de VM controlada por usuário e controle de recursos existentes.

● Sua hierarquia voltada para o público acadêmico.

● É open source.

Page 51: Eucalyptus

ConclusãoConclusão

● O sistema é altamente modular, cada módulo é representado por uma API bem definida permitindo assim que pesquisadores possam substituir componentes para teste na nova solução cloud computing.

● O sistema apresenta uma interface similar com a utilizada na Amazon EC2 e S3. Então o usuário que é familiarizado com EC2 e S3 terá facilidade na instalação do EUCALYPTUS.