The Eucalyptus Open-source Cloud-computing System O sistema Open Source de nuvens computacionais Eucalyptus Daniel Nurmi, Rich Wolski, Chris Grzegorczyk, Graziano Obertelli, Sunil Soman, Lamia Youseff, Dmitrii Zagorodnov CCGrid 2009 jos04,josineys@c3sl.ufpr.br November 4, 2009
Estrutura da apresentação Introdução Motivações Características Arquitetura Considerações Referências
Introdução - Redes e Sistemas distribuídos Muitas formas de prover poder de armazenamento e de computação Usuários devem escolher atribuitos (arquitetura, memória, disco, conectividade,...) Heterogeneidade de recursos Grid computing (grades computacionais) e cloud computing (nuvens computacionais)
Introdução - Grade vs. Nuvem Alocação de recursos: Grade: Nuvem: Federação: Grade: Nuvem: geralmente um usuário pode (e deve) requisitar muito do pool de recursos tende a ter poucos usuários simultâneos costuma controlar requisições a uma pequena fração do pool procura escalonar vários usuários recursos compartilhados, mas separados em domínios administrativos recursos tendem a ser de uma única entidade
Motivações - Trabalhos em Nuvens Nuvens comerciais: Amazon EC2/S3 Google AppEngine Salesforce.com Projetos Open-Source: Usher: framework modular de gerenciamento de máquinas virtuais (Virtual Machine - VM) Virtual Workspaces: provê VM usando técnicas de Grade Cluster-on-demand: provisão de VM para aplicações de computação científica
Motivações - Por trás das nuvens Questões amplas: Qual é a arquitetura mais correta? Que características de recursos os escalonadores das VM devem se ater para eficiência? Como construir redes de VM flexíveis, de bom desempenho e seguras? Questões localizadas: Que domínio de aplicações podem se beneficiar? Que interfaces são apropriadas? Como integrar cloud com outros sistemas já existentes?
Eucalyptus - Características Elastic Utility Computing Architecture Linking Your Programs To Useful Systems Construído do zero Não depende de site para lhe dedicar recursos exclusivamente Altamente modular Mecanismos de comunicação independentes de linguagem Interface externa baseada na API da Amazon Overlay de rede virtual
Eucalyptus - Arquitetura Há quatro níveis hierárquicos Node Controller (NC): nível inferior. Controla instâncias de VM nos nodos; Cluster Controller (CC): nível intermediário. Ponte de comunicação entre NC e CLC; Storage Controller (Walrus): nível superior. Gerencia tráfego de dados dentro e fora da Nuvem; Cloud Controller (CLC): nível superior. Controla a Nuvem como um todo.
Eucalyptus - Arquitetura
Eucalyptus - Node Controller (NC) Características: nível inferior na hierarquia executa em cada nodo que executa uma VM describeresource, describeinstance, runinstance, terminateinstance runinstance: faz cópia da VM cria novo ponto na overlay de rede virtual pede ao hypervisor para dar boot nas VM
Eucalyptus - Cluster Controller (CC) Características: nível intermediário na hierarquia describeresources, describeinstances, runinstances, terminateinstances escalona nos NC requições runinstances vindas do CLC controla overlay de rede virtual colhe/informa sobre conjunto de NC que cuida describeresources: recebe junto tipo de VM desejado (núcleos, memória, disco) procura nos NC essa capacidade retorna quantidade de instâncias ao CLC
Eucalyptus - Virtual Network Overlay Características: Cada VM deve ter conectividade a outra VM VM de mesma alocação podem se comunicar VM de alocações diferentes não devem se comunicar Três tipos: 1. software Ethernet bridge na placa física 2. Definição de tupla <MAC, IP> 3. tags VLAN, subrede IP e iptables Se VM em diferentes clusters, faz tunelamento (VTUN)
Eucalyptus - Storage Controller (Walrus) Usa tecnologias de Web Service (Axis2, Mule) Interface compatível como Amazon S3 Trafega dados de dentro/fora da Nuvem ou para instâncias Serviço de armazenamento de imagens de VM Não prevê locking para escrita MD5, autenticação e lista de controle de acesso Tranferências por HTTP Faz cache de imagens
Eucalyptus - Cloud Controller (CLC) Três categorias de funções: Resource services: permite manipular propriedades das VM e das redes; monitora os componentes do sistema e os recursos virtuais Data services: rege os dados do sistema e do usuário Interface services: apresenta as interfaces visíveis ao usuário; maneja a autenticação e tradução de protocolo; expõe as ferramentas de gerenciamento do sistema
Considerações finais Framework open-source voltado ao público acadêmico Altamente modular Flexível Integrado com algumas soluções existentes (Amazon EC2 e S3)
Pensamentos próprios Útil por possibilitar um ambiente de nuvem à academia Artigo organizado e fácil de entender Algumas seções parecem ter parágrafos com ordem trocada
Referências http: //open.eucalyptus.com/documents/ccgrid2009.pdf