UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO LUCAS DA CUNHA IMPLEMENTAÇÃO DE UMA NUVEM COMPUTACIONAL PRIVADA

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO LUCAS DA CUNHA IMPLEMENTAÇÃO DE UMA NUVEM COMPUTACIONAL PRIVADA"

Transcrição

1 UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO LUCAS DA CUNHA IMPLEMENTAÇÃO DE UMA NUVEM COMPUTACIONAL PRIVADA JOINVILLE JUNHO, 2013

2 LUCAS DA CUNHA IMPLEMENTAÇÃO DE UMA NUVEM COMPUTACIONAL PRIVADA Monografia apresentada ao curso de Ciência da Computação da Universidade do Estado de Santa Catarina, como requisito parcial para obtenção do título de Bacharelado, orientado pelo Prof. Dr. Guilherme Piegas Koslovski. JOINVILLE JUNHO, 2013

3 LUCAS DA CUNHA IMPLEMENTAÇÃO DE UMA NUVEM COMPUTACIONAL PRIVADA Trabalho de conclusão de curso submetido à Universidade do Estado de Santa Catarina como parte dos requisitos para a obtenção do grau de Bacharel em Ciência da Computação: Banca Examinadora: Orientador: Professor Doutor Guilherme Piegas Koslovski Universidade do Estado de Santa Catarina Membro: Professor Doutor Mauricio Aronne Pillon Universidade do Estado de Santa Catarina Membro: Professor Doutor Rafael Rodrigues Obelheiro Universidade do Estado de Santa Catarina

4 Dedico este trabalho a todos que torceram por mim e me ajudaram de alguma forma.

5 Agradeço a minha família que me deu apoio incondicional, aos amigos e amigas que sempre me ajudaram e aos professores pelo que me foi ensinado.

6 LISTA DE FIGURAS Figura 1 Execução de máquinas virtuais em simultâneas em um MMV Figura 2 Domínios do Xen Figura 3 Arquitetura do KVM Figura 4 Tipos de Nuvens Computacionais Figura 5 Gerenciamento de Itens dos Modelos de Serviços Figura 6 Exemplo de uma Infraestrutura Virtual Figura 7 Divisão em Módulos do OpenStack Figura 8 Divisão em Módulos do OpenNebula Figura 9 Utilização do Eucalyptus Figura 10 Camadas do vcloud Director Figura 11 Envio e recebimento de dados na rede Figura 12 Pesquisa OpenStack, OpenNebula, Eucalyptus Figura 13 Número mensal de mensagens nos fórums Figura 14 Topologia física da rede Figura 15 Topologia lógica da rede Figura 16 Arquitetura KVM + libvirt Figura 17 Visão do Usuário Figura 18 Fluxo interno de dados... 57

7 LISTA DE TABELAS Tabela 1 Comparação OpenStack X Eucalyptus X OpenNebula Tabela 2 Cronograma... 64

8 LISTA DE ABREVIATURAS E SIGLAS ACL Access Control List API Application Programming Interface CC Cluster Controller CLC Cloud Controller CLI Command Line Interface CPU Central Processing Unit EBS Elastic Block Store GRADIS Grupo de Redes e Aplicações Distribuídas HD Hard-Drive HTTP Hypertext Transfer Protocol IAAS Infrastructure as a Service IP Internet Protocol IV Infraestrutura Virtual MB MegaBytes MMV Monitor de Máquina Virtual MV Máquina Virtual NC Node Controller NFS Network File System OCCI Open Cloud Computing Interface OVF Open Virtualizaton Format PAAS Platform as a Service PDA Personal digital assistants QEMU Quick Emulator RAM Random Access Memory RBAC Role-Based Access Control REST Representational State Transfer RFC Request For Comments SAAS Software as a Service SC Storage Controller SFS Shared File System SO Sistema Operacional

9 SOAP Simple Object Access Protocol TI Tecnologia da Informação UDESC Universidade do Estado de Santa Catarina VXDL Virtual Resources and Interconnection Networks Description Language

10 RESUMO As Nuvens Computacionais têm alterado o desenvolvimento e a entrega de serviços de computação, comunicação e armazenamento. Em uma Nuvem, aplicações, plataformas computacionais, arcabouços, máquinas virtuais e canais virtuais são aprovisionados dinamicamente sob demanda durante um determinado período de tempo. As vantagens advindas desta tecnologia podem ser exploradas em diferentes plataformas e configurações. Dentre as possibilidades existentes, este trabalho é relacionado com Nuvens Privadas e teve seu foco na busca de uma solução para a entrega de Infraestruturas como Serviços na UDESC (Universidade do Estado de Santa Catarina). Após estudadas as soluções de virtualização de recursos computacionais e escolhida a mais adequada, foi criado um protótipo de Nuvem Privada, permitindo a realização de atividades de pesquisa e ensino. Palavras-chave: computação em nuvem, infraestrutura virtual, IaaS, máquinas virtuais, rede virtual

11 ABSTRACT Cloud Computing has altered the development and delivery of computing, communication, and storage services. Within a Cloud, applications, computing platforms, frameworks, virtual machines and virtual channels are dynamically on demand provisioned for a certain period of time. The benefits arising from Cloud Computing can be exploited on different platforms and configurations. Among the possibilities, this work is related to Private Cloud and had its focus on finding a solution for delivering an Infrastructure as a Service at. After studying computing virtualization and chosen the most appropriate, a prototype of a private cloud was created, enabling the realization of research and teaching. Keywords: cloud computing, virtual infrastructure, IaaS, virtual machines, virtual network

12 SUMÁRIO 1 INTRODUÇÃO MOTIVAÇÃO OBJETIVOS Objetivos Gerais Objetivos Específicos CONTRIBUIÇÃO E ORGANIZAÇAO DOTRABALHO REVISÃO BIBLIOGRÁFICA VIRTUALIZAÇÃO DE RECURSOS COMPUTACIONAIS Soluções de Virtualização Xen KVM VMware NUVENS COMPUTACIONAIS Características Essenciais Modelos de Implantação Modelos de Serviço INFRAESTRUTURAS VIRTUAIS CONSIDERAÇÕES PARCIAIS GERENCIAMENTO DE NUVENS COMPUTACIONAIS DESAFIOS FERRAMENTAS OpenStack Compute Storage Networking OpenNebula Eucalyptus vcloud Director CONSIDERAÇÕES PARCIAIS ANÁLISE E COMPARAÇÃO ITENS A SEREM ANALISADOS Virtualização Gerenciamento ANÁLISE E CONSIDERAÇOES PARCIAIS Virtualização Gerenciamento DESENVOLVIMENTO INFRAESTRUTURA FÍSICA DA REDE INFRAESTRUTURA LÓGICA DA REDE Monitor de Máquina Virtual

13 5.3 OPERAÇÃO DO OPENSTACK Criação de uma máquina virtual Definição de IPs Flutuantes Fluxo interno de dados para criação de uma MV DISCUSSÃO VALIDAÇÃO [CdU 01] CRIAR MÁQUINA VIRTUAL [CdU 02] CRIAR DUAS MÁQUINAS VIRTUAIS INTERCONECTADAS [CdU 03] CRIAR DUAS INFRAESTRUTURAS VIRTUAIS DISCUSSÃO CONCLUSÃO APÊNDICES REFERÊNCIAS

14 12 1 INTRODUÇÃO A utilização da virtualização pelos provedores de serviços de Nuvens Computacionais já é algo concreto e vem se popularizando cada vez mais. Tais provedores conseguiram unir o útil ao agradável: a otimização do uso de seu substrato computacional (através da virtualização) e o aprovisionamento dinâmico de recursos computacionais (através da Computação em Nuvem). Mais especificamente, um equipamento computacional virtualizado pode hospedar diversas máquinas virtuais simultaneamente, compartilhando seus recursos de processamento e armazenamento. Esta consolidação de recursos proporciona uma redução de custos com consumo de energia, equipamentos de refrigeração, administração e gerenciamento e, ao mesmo tempo, aumenta a possibilidade de exploração e utilização do substrato computacional (MICROSOFT, 2009). Do ponto de vista dos usuários, o uso dessas tecnologias também traz benefícios. A flexibilidade introduzida pela virtualização visa atender os requisitos de desempenho e custo das aplicações, enquanto a Computação em Nuvem traz a impressão de que os recursos computacionais oferecidos são infinitos. Dentre os diversos modelos de serviços explorados em Nuvens (Software as a Service SaaS, Platform as a Service PaaS, Infrastructure as a Service IaaS, entre outros), este trabalho aborda especificamente IaaS e suas extensões, ou seja, a entrega de uma Infraestrutura Virtual de computação. Tendo em vista que uma IaaS é um modelo que promove somente os recursos computacionais virtuais (memória, processador, disco rígido, etc.), o conceito de Infraestrutura Virtual emerge para complementá-lo. Uma Infraestrutura Virtual é uma infraestrutura de TI (Tecnologia da Informação) e rede completamente virtualizada que apresenta os mesmos recursos de uma infraestrutura física, mas na verdade compartilha o substrato físico com outras Infraestruturas Virtuais durante um determinado período de tempo. 1.1 MOTIVAÇÃO A implementação de um protótipo de Nuvem Computacional Privada para a UDESC é de grande valia para que a comunidade acadêmica possa realizar

15 13 atividades de ensino e pesquisa, utilizando um modelo que tende a avançar ainda mais e se tornar cada vez mais popular. Tal protótipo foi implementado entre Fevereiro - Junho de OBJETIVOS Este trabalho tem como finalidade revisar de forma mais detalhada os conceitos de Virtualização e de Nuvens Computacionais, mostrar as ferramentas existentes para prover serviços de virtualização e de Nuvens Computacionais, fazer uma análise de qual a melhor escolha para a implementação de um protótipo de Nuvem Privada Computacional para a UDESC, discutir as funcionalidades de cada software que compõe OpenStack e, por fim, comprovar a validação do projeto Objetivos Gerais UDESC. Implementação de um protótipo de Nuvem Computacional Privada para a Objetivos Específicos Efetuar uma revisão bibliográfica sobre os conceitos básicos para a elaboração deste trabalho; Determinar os parâmetros de comparação; Pesquisar e analisar as soluções existentes conforme os parâmetros previamente selecionados; Identificar uma solução de gerenciamento compatível com os recursos computacionais disponíveis; Implementar um protótipo de uma Nuvem Computacional privada; Validar o protótipo através de casos de uso.

16 CONTRIBUIÇÃO E ORGANIZAÇÃO DO TRABALHO A realização deste trabalho contribuiu à comunidade acadêmica das seguintes formas: Reprodução de um projeto em um ambiente com recursos limitados; Identificação do fluxo interno de dados para a criação de uma máquina virtual; Identificação de um problema de incompatibilidade entre Xen 4.1, OpenStack Folsom 3.0 e libvirt O restante deste trabalho está organizado da seguinte forma: o Capítulo 2 apresenta uma revisão sobre os conceitos de virtualização de recursos computacionais, Nuvens Computacionais, Nuvens de Comunicação e Infraestruturas Virtuais. O Capítulo 3 estuda o gerenciamento de Infraestruturas Virtuais, detalhando seus desafios e algumas soluções propostas para tal fim. Este estudo tem como base o gerenciamento de sistemas computacionais distribuídos e discute o aumento de complexidade considerando as características próprias de Nuvens Computacionais. A análise das soluções e tecnologias de virtualização e do gerenciamento de Nuvens Computacionais é discutida no Capítulo 4. O objetivo desta análise é a escolha de possíveis soluções para serem utilizadas no desenvolvimento do protótipo de Nuvem proposto neste trabalho. O Capítulo 5 apresenta o processo de desenvolvimento do protótipo. Neste capítulo estão expostas as infraestruturas física e lógica, bem como a arquitetura adotada para a criação do protótipo de Nuvem Computacional. No Capítulo 6 está a validação do protótipo. Para comprovar que o protótipo está operacional, foram feitos três casos de uso com diferentes configurações e atributos. Cada cenário explora de forma distinta a utilização das tecnologias expostas neste trabalho.

17 15 O Capítulo 7 apresenta as considerações finais sobre o conteúdo abordado, discute as tecnologias adotadas e aponta direções para trabalhos futuros.

18 16 2 REVISÃO BIBLIOGRÁFICA Para uma melhor compreensão da motivação e dos objetivos deste trabalho, vistos nas Seções 1.1 e 1.2, é preciso entender os conceitos das tecnologias que serão abordados a seguir. A Seção 2.1 mostra um breve histórico sobre virtualização e três soluções para tal técnica. Na Seção 2.2, é abordada a definição, tipos e características de Nuvens Computacionais. A Seção 2.3 explica o que é uma Infraestrutura Virtual. A Seção 2.4 aborda as considerações parciais sobre os assuntos vistos neste Capítulo. 2.1 VIRTUALIZAÇÃO DE RECURSOS COMPUTACIONAIS O conceito de virtualização surgiu em 1967 pela IBM com a criação do primeiro hypervisor, ou Monitor de Máquina Virtual (MMV). Um MMV é um software que permite o compartilhamento de um único hardware físico entre sistemas operacionais. A segunda versão foi desenvolvida em 1968 e sua principal funcionalidade era a partilha de memória através de Máquinas Virtuais (MVs), oferecendo a cada usuário o seu próprio espaço de memória (POPEK; GOLDBERG, 1973). A virtualização de um recurso consiste na abstração das características físicas de uma máquina, proporcionando a utilização de sistemas e aplicativos sem a necessidade de acesso físico à mesma. Mais especificamente, um equipamento computacional virtualizado pode hospedar diversos ambientes, chamados de Máquinas Virtuais, simultaneamente, compartilhando seus recursos de processamento e armazenamento. A Figura 1 apresenta a execução de três MVs: cada MV possui suas próprias aplicações, sem interferência uma da outra. O MMV faz com que as MVs possam compartilhar o mesmo substrato físico.

19 17 Figura 1 Execução de máquinas virtuais simultâneas em um MMV. Fonte (NATIONAL INSTRUMENTS, 2009) Nos anos de 1980 e 1990, a virtualização acabou caindo no esquecimento pelo fato de que era mais vantajoso economicamente comprar servidores e desktops x86 para utilizar computação distribuída, do que utilizar a virtualização em mainframes. Com a ampla adoção do Windows e surgimento do Linux como sistema operacional de servidores na década de 90, estabeleceu-se que a arquitetura x86 seria o padrão da indústria. Com o passar do tempo, começaram a aparecer novos desafios computacionais relacionados com esta infraestrutura: otimizar a utilização das capacidades do servidores; diminuir os custos com infraestrutura física, gestão e manutenção. Em 1999, a VMware explorou a virtualização completa de hardware x86 para resolver esses desafios, a fim de criar uma infraestrutura de hardware compartilhado que oferecesse isolamento total, mobilidade e que pudesse ser feita a escolha do sistema operacional (VMWARE, 2012a). Basicamente, a VMware transformou em produto as ideias dos projetos Disco e SimOS de Rosenblum 1. Atualmente, a virtualização está cada vez mais popular não somente pelo fato de permitir que os aplicativos, serviços e recursos funcionem com disponibilidade e desempenho máximos, mas também pela redução de custos com consumo de energia, utilização de hardware, gerenciamento, etc. Cada MV oferece características, serviços e interfaces semelhantes àquelas oferecidas pelo hardware físico, enquanto os MMVs são responsáveis pelo acesso e compartilhamento de recursos físicos, podendo também, em alguns casos, explorar a virtualização de CPU (Central Processing Unit), memória e dispositivos de E/S 1

20 18 (Entrada/Saída). Os mecanismos de isolamento e controle implementados por diferentes MMVs permitem um uso e compartilhamento eficiente dos recursos físicos (WANG; EUGENE, 2010). Por serem desmaterializados, os recursos virtuais podem ser criados sob demanda, configurados, iniciados, pausados, salvos e até mesmo destruídos, como um conjunto de objetos programáveis (CARAPINHA; JIMÉNEZ, 2009). É necessário que haja isolamento e proteção no acesso aos dispositivos, isto é, caso uma MV já esteja usando determinado hardware e outra MV queira acessá-lo, o MMV tem que controlar o acesso liberando o dispositivo somente depois que o mesmo fique ocioso. Considerando a virtualização de CPU, o cenário atual pode ser decomposto em três categorias principais (VMWARE, 2012a): virtualização completa, paravirtualização, e virtualização assistida por hardware: Virtualização completa: um ou mais sistemas operacionais (SOs) e os aplicativos que eles contêm são executados em cima do hardware virtual. Cada instância de um sistema operacional e seus aplicativos é executada em uma MV separada chamada de sistema operacional hospedado. Os SOs hospedados são gerenciados pelo MMV, que controla o fluxo de instruções entre eles e o hardware físico, como CPU, armazenamento em disco, memória e placas de interface de rede. O hypervisor pode particionar os recursos do sistema e isolar os sistemas operacionais hospedados, para que cada um tenha acesso apenas a seus próprios recursos, bem como o possível acesso a recursos compartilhados (SCARFONE; SOUPPAYA; HOFFMAN, 2011). A virtualização completa é a única forma de virtualização em que não é necessária assistência de hardware ou de atualizações nos SOs virtualizados (KOSLOVSKI, 2011). Paravirtualização: o MMV oferece interfaces para o sistema operacional hospedado diferentes das interfaces de hardware normais. Em vez de utilizar diretamente as instruções de hardware, os SOs virtualizados utilizam uma API (Application Programming Interface) exposta pelo núcleo do MMV para executar as instruções normais do sistema operacional hospedado (KOSLOVSKI, 2011). A paravirtualização reduz o tempo que o SO hospedado utiliza para realizar operações em um ambiente virtual em comparação com um ambiente não virtualizado. Isto

21 19 se deve pelo fato de que o sistema operacional é modificado para invocar o MMV sempre que houver uma instrução que possa alterar o estado do sistema, assim, o MMV não necessita testar instrução por instrução, somente as instruções sensíveis, fazendo com haja ganho de desempenho. Virtualização assistida por hardware: possui acesso direto aos recursos sem qualquer emulação ou modificação, ou seja, os MMVs executam diretamente sobre o hardware virtualizado. Técnicas como a paravirtualização não são mais requeridas, e consequentemente, os SOs hospedados não necessitam de modificações. Além da virtualização de CPU, outros recursos computacionais podem ser virtualizados: Virtualização de memória: segundo Barham et al., a virtualização da memória RAM representa uma das maiores dificuldades na implementação de um MMV por causa dos mecanismos e modificações requeridas nos sistemas hospedados (BARHAM et al., 2003). O MMV tem a capacidade de compartilhar páginas de memória comuns entre várias MVs, controlar o acesso físico à memória e ter conhecimento das páginas que estão sendo utilizadas (WALDSPURGER, 2002), fazendo com que haja otimização na utilização de memória, devido à partilha de conteúdos, e consolidação de mais MVs em um hospedeiro físico. Virtualização de Dispositivos de E/S: na virtualização, todo acesso de Entrada e Saída (E/S) é direcionado ao MMV. O monitor reconhece a finalidade do acesso e emula uma cópia do hardware retornando-a ao sistema hospedado. Quando um sistema hospedado faz uma requisição para saber o estado do mouse, a CPU direciona para o monitor, este por sua vez informará o estado do mouse atual para o sistema hospedado baseado em informações internas sobre o mouse emulado (SILVA, 2007). Alguns fabricantes de soluções de virtualização desenvolveram drivers especiais (que utilizam recursos de E/S que não estão sendo utilizados pela máquina real) para que os sistemas convidados se comuniquem diretamente com a máquina real, tornando-se um protocolo mais eficiente (STEIL, 2006).

22 Soluções de Virtualização Como o próprio nome diz, solução de virtualização pode ser definida como um software de gerenciamento em que o usuário especifica todos os itens a serem virtualizados, como memória, CPU, disco, etc. Atualmente, existem diversas soluções de virtualização e este trabalho fala especificamente sobre três delas: Xen, KVM e VMWare. Alguns motivos pela escolha de tais soluções são: Utilização em diversos ambientes comerciais e acadêmicos; Suporte oferecido por diferentes provedores de Nuvens Computacionais; Possibilidade de utilização com linguagens e APIs padronizadas como OVF 2 (Open Virtualization Format) e libvirt 3 ; Ampla documentação; Livre utilização e código aberto (open source) aplicado somente a Xen e KVM Xen Xen é originário de um projeto de pesquisa da universidade de Cambridge, na Inglaterra em 2003 (BARHAM et al., 2003). Na paravirtualização, pode-se utilizar sistemas operacionais Linux modificados, Solaris, FreeBSD, e outros SOs UNIX, enquanto na virtualização completa pode-se executar o Windows padrão ou qualquer outro SO sem a necessidade de alteração em seu código original (XEN, 2009). Através da paravirtualização, Xen pode alcançar um alto desempenho mesmo em arquiteturas x86, que têm a reputação de não-cooperação com técnicas de virtualização tradicionais (OPENSTACK, 2012). Usando os recursos do Xen, os administradores podem criar uma única instância de um servidor para atender múltiplos clientes em uma estrutura de rede altamente segura, permitindo mover máquinas virtuais livremente dentro da rede, mantendo a segurança e controle (CITRIX, 2012). O MMV possui recursos de 2 3

23 21 administração altamente flexíveis, isto é, pode-se adicionar ou remover interfaces de rede e discos rígidos virtuais a uma MV em tempo real sem que seja necessário reiniciá-la. Abaixo são descritos os componentes do MMV e o funcionamento da solução: Domínio 0 (Dom0): tem o maior privilégio em uma máquina, ou seja, é a única máquina virtual (por padrão) que possui acesso e controle direto sobre o hardware; Domínio U (DomU): é dividido em duas classes: domain U PV Guests (para as MVs que são paravirtualizadas) e domain U HVM Guests (para as que são virtualizadas totalmente). Os domínios hospedados em Xen são gerenciados (criados, destruídos, suspensos, reiniciados, etc.) através de interfaces administrativas disponibilizadas no Dom0. Estes domínios são detalhados na Figura 2. Na base é onde o substrato físico do computador se encontra, na camada acima é onde atua o Xen. O Dom0 gerencia o sistema como um todo enquanto os DomUs são instâncias de MVs. Figura 2 Domínios do Xen Fonte (OLZAK, 2007) Conceitualmente, o domínio U paravirtualizado tem consciência de que não tem acesso direto ao hardware e reconhece que outras máquinas virtuais estão em execução na mesma máquina, enquanto o domínio U virtualizado totalmente não sabe que está compartilhando o tempo de processamento do hardware e que outras máquinas virtuais estão presentes (XEN, 2009).

24 22 Gerenciamento de Memória: o sistema operacional hospedado tem acesso de leitura direto às tabelas de páginas, mas as páginas só são validadas pelo hypervisor. Quando um SO hospedado faz a requisição de uma nova tabela de página, o MMV aloca e inicializa a página, utilizando sua própria memória e alocação de disco, e a registra com o Xen (HAND, 1999). Processamento (CPU): o sistema operacional hospedeiro roda em um nível de privilégio abaixo que o Xen e permite ligações diretas entre uma aplicação e o SO hospedeiro, evitando a passagem pelo Xen a cada ligação. Dispositivos E/S: os dispositivos são simples de serem acessados e os dados são transferidos utilizando anéis assíncronos (buffers circulares) de E/S (BARHAM et al., 2003) KVM KVM (Kernel-based Virtual Machine) foi criado em 2007 pela empresa Red Hat e sua tecnologia é voltada ao Linux. Os desenvolvedores do KVM criaram um método que transformou o próprio kernel do Linux em um hypervisor, assim, pôdese simplificar a gestão e melhorar o desempenho em ambientes virtualizados (HABIB, 2008). Suporta processadores de 32 e 64 bits usando Intel VT ou AMD-V, que são tecnologias de virtualização nos quais SOs para plataformas x86 são executadas sob outro SO x86 hospedeiro. Diferente do Xen (que atua como um mediador entre hardware e SO), KVM atua diretamente no kernel do sistema operacional. Para virtualizar memória e CPU KVM utiliza virtualização completa, somente nos dispositivos de E/S é que se usa a paravirtualização, isso acontece a fim de tentar melhorar o desempenho de tais dispositivos. A Figura 3 mostra como é o cenário onde KVM atua. Figura 3 Arquitetura do KVM Fonte (INTELLIGINIX, 2008)

25 23 Como pode ser analisado, KVM atua no kernel do Linux. QEMU 4 faz a virtualização e emulação, assim criando a MV. O usuário pode utilizar suas aplicações no computador livremente, sem interferência das MVs. Gerenciamento de Memória: a memória só é alocada quando o hóspede faz uso da mesma, evitando gastos desnecessários. Usuários Linux têm um controlador de balão (balloon driver), que faz com que o hospedeiro aloque certa quantidade de memória para o hóspede, a qual não poderá será excedida (KVM, 2013). Processamento (CPU): na virtualização de CPU, utiliza-se QEMU que nada mais é que um emulador de processador e dispositivos de comunicação. Quando a arquitetura do hóspede é a mesma do hospedeiro, QEMU pode fazer uso de recursos particulares do KVM, como a aceleração as instruções recebidas são feitas diretamente no hardware. Dispositivos E/S: utiliza uma API chamada Virtio. Tal ferramenta foi feita para aumentar a reutilização, permitir operações com diferentes tipos de barramento e fazer novos dispositivos utilizando menos código (KVM, 2012) VMware VMware foi criado em 1998 e em 2004 foi comprado pela EMC pelo valor de U$625 milhões (VMWARE, 2012b). Assim como Xen, possui tecnologias de paravirtualização e de virtualização total. É utilizado para executar vários sistemas operacionais não modificados simultaneamente na mesma máquina. Teoricamente, qualquer SO que pode ser executado em uma arquitetura x86 pode funcionar como um SO hospedado no VMware. A virtualização no VMware ocorre a nível de processador. As instruções privilegiadas são capturadas e virtualizadas pelo MMV, enquanto as outras instruções são executadas diretamente no processador hospedado (QUÉTIER; NERI; CAPPELLO, 2006). Gerenciamento de Memória: utiliza uma API chamada ESXi (Elastic Sky X) que cria um espaço contíguo de memória endereçável para uma MV quando ela é executada. 4

26 24 Processamento (CPU): VMware tem a capacidade de equilibrar cargas que vão ao processador de uma maneira altamente eficiente. As MVs podem otimizar as configurações de múltiplos processadores e multi-núcleos, tornando possível executar tarefas de processamento intensivo como banco de dados e servidores de (VMWARE, 2012c). As opções de configuração de rede da MV determinam o tipo de rede disponível para o SO hospedado. As opções são: No networking: não exporta uma interface de rede para a MV; Host-only networking: exporta apenas uma interface de rede para a VM que só permite a comunicação entre a MV e a máquina host; Bridged networking: o SO hospedado atua como uma ponte entre a MV e a LAN, permitindo efetivamente que a MV funcione como uma máquina real na rede com um endereço IP. 2.2 NUVENS COMPUTACIONAIS Atualmente, um conceito relativamente novo e intimamente ligado à virtualização, chamado de Nuvem Computacional (Cloud Computing), vem sendo amplamente discutido em ambientes industriais e acadêmicos. Uma Nuvem é um modelo que permite acesso a um conjunto de recursos computacionais configuráveis (redes, servidores, armazenamento, aplicativos e serviços) que podem ser rapidamente aprovisionados e liberados com o mínimo esforço de gerenciamento (MELL; GRANCE, 2009). Nuvens computacionais trouxeram uma nova maneira de entrega de serviços de TI, baseada em diminuição de custos, escalabilidade e aprovisionamento sob demanda, guiado pelos requisitos do usuário (KOSLOVSKI, 2011). Dentre os benefícios trazidos pela computação em Nuvem pode-se citar: Organizações podem armazenar mais dados do que em infraestruturas de TI tradicionais; Oferece muito mais flexibilidade do que outros métodos de computação (computação em grade, utility computing, etc.); Reduz custos devido à eficiência operacional e a implantação mais rápida de novos serviços.

27 25 Um dos maiores desafios da Computação em Nuvem é otimizar o desempenho e a agilidade enquanto se mantém a segurança, a conformidade e o controle que as empresas e usuários precisam para agir de acordo com os processos internos e com os requisitos normativos (VMWARE, 2012d). As Nuvens Computacionais utilizam um sistema de tarifação chamado pay-as-you-go, que seria a cobrança proporcional ao que o usuário requisitou e utilizou dos recursos (BHARDWAJ, 2010). As tecnologias e os serviços existentes nas Nuvens podem ser decompostos e classificados em: cinco características essenciais, quatro modelos de implantação, e três modelos de serviço que serão descritos a seguir (MELL; GRANCE, 2009) Características Essenciais Serviços sob demanda (on-demand self-service): o usuário pode definir automaticamente o aprovisionamento das capacidades computacionais, tais como tempo de servidor e armazenamento de rede, conforme a necessidade, sem que haja interação humana com cada prestador de serviço; Amplo acesso à rede: recursos estão disponíveis na rede e são acessados pelo cliente através de variadas plataformas (por exemplo, telefones celulares, laptops e PDAs); Conjunto de recursos (resource pooling): Os recursos de computação (armazenamento, processamento, memória, largura de banda e máquinas virtuais) do provedor são agrupados para atender múltiplos consumidores. Tais recursos (físicos ou virtuais) são atribuídos dinamicamente e de acordo com a demanda do consumidor. Os usuários de uma Nuvem geralmente não têm ideia de onde os servidores estão localizados fisicamente (BHARDWAJ, 2010), mas são capazes de especificar o local em um nível maior de abstração (por exemplo, país, estado ou datacenter); Rápida elasticidade: recursos podem ser rapidamente aprovisionados. O usuário tem a impressão de que os recursos disponíveis parecem ser ilimitados e podem ser comprados em qualquer quantidade, em qualquer momento. Serviço medido: sistemas de Nuvem controlam automaticamente e otimizam o uso dos recursos, monitorando e reportando-os, oferecendo

28 26 transparência tanto para o consumidor quanto ao provedor do serviço utilizado Modelos de Implantação Nuvem Pública: é caracterizada por expor seus recursos computacionais sob a forma de serviços que podem ser contratados por usuários. A infraestrutura da Nuvem é disponibilizada através da Internet para o público em geral ou para um grande grupo industrial e é gerida por uma entidade que venda serviços em Nuvem (MELL; GRANCE, 2009). Nuvem Privada: a infraestrutura da Nuvem é utilizada exclusivamente por um único usuário ou organização (MELL; GRANCE, 2009). Geralmente, é construída sobre um datacenter privado e pode ser gerida pelo usuário/organização ou por terceiros. Os membros da organização têm exclusividade de uso dos recursos computacionais, obtendo uma maior confiabilidade e confidencialidade sobre informações e dados críticos (KOSLOVSKI, 2011). Nuvem Comunitária: utilizada quando várias organizações apresentam requisitos semelhantes (condições de segurança, políticas de segurança, etc.) e decidem partilhar parte das suas infraestruturas. Nuvem Híbrida: é uma composição de duas ou mais Nuvens (pública, privada ou comunitária) que ora se porta como um modelo e ora se porta como outro (MELL; GRANCE, 2009). Um exemplo prático seria a utilização de uma Nuvem Pública por uma organização que deseja aumentar seus recursos computacionais e que, ao mesmo tempo, deseja manter seus recursos internos seguros dentro de uma Nuvem Privada. A Figura 4 mostra um exemplo de Nuvem Privada geralmente utilizada por empresas e instituições; um exemplo de Nuvem Híbrida combinando Nuvem Privada e Pública; e um exemplo de Nuvem Pública que é aberta tanto para empresas como para usuários comuns.

29 27 Figura 4 Tipos de Nuvem Fonte (LINKHEAD, 2010) Modelos de Serviço Software como Serviço (Software as a Service - SaaS): O usuário tem a capacidade de utilizar aplicações que estão sendo executadas em uma Nuvem (MELL; GRANCE, 2009). Um provedor de SaaS normalmente hospeda e gerencia um determinado aplicativo em seu próprio centro de dados e o torna disponível para vários consumidores e usuários através da Internet (BHARDWAJ, 2010). É usualmente comercializado seguindo um modelo em que usuários pagam uma taxa referente apenas ao período em que utilizam o software sem a necessidade de comprar uma licença (pay-per-use) (JACOBS, 2005). Plataforma como Serviço (Platform as a Service - PaaS): segundo (BHARDWAJ, 2010) consiste em um software de infraestrutura, e normalmente inclui um banco de dados, middleware e ferramentas de desenvolvimento, sem a necessidade de instalação ou configuração local (KOSLOVSKI, 2011). O usuário não gerencia ou controla os recursos computacionais, mas tem controle sobre os aplicativos implementados. Infraestrutura como Serviço (Infrastructure as a Service - IaaS): É a entrega de hardware (servidor, armazenamento e rede) e software (tecnologia de virtualização de sistemas operacionais, sistema de arquivos) como um serviço. É uma evolução da hospedagem tradicional, já que não necessita de qualquer

30 28 compromisso a longo prazo e permite que os recursos sejam fornecidos sob demanda (BHARDWAJ, 2010). Os provedores de IaaS interconectam as máquinas virtuais usando uma abordagem de melhor-esforço (best-effort), sem expor as informações sobre a topologia de comunicação utilizada para interconectar os recursos (KOSLOVSKI, 2011). A Figura 5 mostra o que pode ser gerenciado pelo usuário em cada modelo de serviço. IaaS permite que o usuário manipule desde aplicações até o middleware (intermediário entre software e demais aplicações); PaaS permite que as aplicações e os dados sejam manipulados; SaaS não permite que o usuário gerencie, só permite que utilize o software que foi pago. Figura 5 Gerenciamento de Itens dos Modelos de Serviço Fonte (ALIOTO, 2010) 2.3 INFRAESTRUTURAS VIRTUAIS Infraestrutura Virtual (Virtual Infrastructure) é uma agregação estruturada de recursos computacionais que são abstraídos e desmaterializados através de uma rede de interconexão organizada, sendo expostos como um conjunto de serviços que podem ser dinamicamente reservados e aprovisionados (LAGANIER; PRIMET, 2005). De uma forma mais simplificada, uma Infraestrutura Virtual (IV) é uma IaaS que promove redes virtuais da mesma forma que recursos computacionais virtuais. A Figura 6 mostra um exemplo de IV: os bancos de dados são responsáveis pelo armazenamento de arquivos, instâncias de maquinas virtuais e configurações; as redes têm a incumbência de interligar as máquinas virtuais,

31 29 possibilitando o acesso ou não das mesmas; e os servidores atuam como gerenciadores das máquinas virtuais através do controle do administrador. Figura 6 Exemplo de uma Infraestrutura Virtual Fonte - (THE VIRTUALIZATION GURUS, 2011) Uma das principais características de IVs é a possibilidade de composição e modelagem seguindo os requisitos das aplicações dos usuários. Tais aplicações diferem-se uma da outra, tendo em vista que cada usuário faz uso distinto da IV. Algumas aplicações ora precisam utilizar um alto poder computacional e de comunicação para transferir dados (i.e. base de dados), ora fazem uso de um poder mínimo (i.e. pequenas mensagens para sincronização) (KOSLOVSKI; PRIMET; CHARÃO, 2008). 2.4 CONSIDERAÇÕES PARCIAIS Nuvens Computacionais apareceram com uma nova proposta para entrega de serviços e recursos de computação, comunicação e armazenamento, baseado em aprovisionamento dinâmico sob demanda (RIMAL et al., 2011). Esta proposta é de grande importância em diversos âmbitos. Em ambientes comerciais consolidam os recursos e podem reduzir os custos operacionais (VMware, 2012a); em ambientes acadêmicos facilitam a composição de acesso privado e isolado e possibilitam a avaliação de novas ferramentas de gerenciamento e protocolos de comunicação (ROSENBLUM; GARFINKEL, 2005). Pode-se afirmar que estas

32 30 emergentes tecnologias são vantajosas para os dois lados: tanto para os provedores de serviço (melhor utilização dos seus recursos computacionais) quanto para os usuários (pagam somente pelos recursos que foram utilizados). Essa combinação de tecnologias permite o desenvolvimento de aplicações completamente independentes da arquitetura física, cria a impressão de recursos infinitos ao usuário, e introduz a possibilidade do desenvolvimento de inovações através do novo nível de abstração entre o hardware real e os recursos expostos e em execução (KOSLOVSKI, 2011). É sabido que o gerenciamento de recursos computacionais e sistemas distribuídos é uma tarefa complexa. Em Nuvens Computacionais, tal gerenciamento torna-se mais complexo devido à presença da virtualização de recursos. Essa complexidade também atinge as Infraestruturas Virtuais, visto que a virtualização de recursos de comunicação em rede é análoga à virtualização de recursos computacionais. Atualmente, alguns projetos estão sendo elaborados para investigar o aprovisionamento de IVs em diversos âmbitos (SAIL, 2010).

33 31 3 GERENCIAMENTO DE NUVENS COMPUTACIONAIS O gerenciamento de Nuvens Computacionais segue os mesmos conceitos e desafios dos Sistemas Distribuídos. Para que uma Nuvem tenha consistência nos seus dados e possa ser utilizada de forma simples e segura é preciso que sete desafios sejam considerados pelo framework de gerenciamento (COULOURIS et al., 2011). Os termos servidor e sistema utilizados na Seção 3.1 dizem respeito ao parque de máquinas dos provedores e aos frameworks de gerenciamento, respectivamente. 3.1 DESAFIOS Heterogeneidade: diz respeito aos diferentes tipos de rede, sistemas operacionais, hardwares e linguagens de programação que possam existir entre as máquinas que compõem o sistema. Tal desafio pode ser resolvido por uma camada intermediária de software chamada Middleware, que executa abstrações de alto nível em uma camada acima do SO. Dessa forma é fornecida uma visão uniforme dos recursos heterogêneos, viabilizando a implementação distribuída. Abertura: significa que o sistema pode ser estendido e reimplementado de vários modos, com a possibilidade de serem adicionados novos hardwares e softwares, fazendo com que os mesmos se comuniquem com os já existentes. Para que essa flexibilidade se torne possível, é preciso que a especificação e a documentação dos softwares que definem as interfaces dos componentes do sistema sejam conhecidas, padronizadas e disponibilizadas para os desenvolvedores. Um exemplo disso é o RFC (Requests For Comments), que é um conjunto de documentos que padronizam e especificam os protocolos e normas usados na comunicação da Internet. Segurança: possui três componentes principais: a confidencialidade consiste em proteger a informação de revelação a pessoas não autorizadas; a integridade zela pela informação contra alteração ou corrupção; e a disponibilidade garante que os recursos do sistema estejam disponíveis para os seus usuários legítimos. Um exemplo prático seria na utilização de uma Nuvem Híbrida: somente os usuários com autorização podem acessar a Nuvem Privada, enquanto na Pública não há esse filtro de utilizadores.

34 32 Escalabilidade: determina se o sistema irá se manter eficiente mesmo após um aumento de recursos ou usuários. A Internet é um exemplo que permanece eficaz mesmo com o frequente aumento de serviços e usuários. Para que seja contornado tal desafio é preciso: controlar o custo dos recursos físicos, que significa ampliar o sistema se houver um aumento na demanda de determinado recurso a fim de atendê-la; controlar a perda de desempenho; impedir que os recursos de software se esgotem; entre outros. Na Computação em Nuvem, a escalabilidade faz com que os provedores de serviço aumentem os recursos computacionais disponíveis aos usuários caso seja requisitado. Manipulação de Falhas: a tolerância a falhas serve para que uma tarefa desenvolvida pelo servidor não seja abortada quando houver problema em algum de seus componentes. Para isso, podem ser realizadas algumas técnicas, como a retransmissão de mensagens que não chegaram ao destino, estabelecimento de ao menos duas rotas distintas entre dois roteadores da Internet, entre outras. Assim, o sistema consegue migrar sem a percepção do usuário, mascarando qualquer eventual falha que vier a ocorrer. Concorrência: deve permitir acessos concorrentes aos recursos de um servidor a fim de não limitar a produção. É comum a utilização de objetos encapsulados que assumam a responsabilidade de alguma estrutura de sincronização devido à inexistência de um relógio global que controle o tempo em que cada requisição chega. Transparência: o sistema precisa ser visto como uma única entidade, sendo os componentes invisíveis às aplicações particulares. Quando um sistema oculta o fato de seus recursos estarem geograficamente dispersos para o usuário, ele é chamado de transparente. Existem diversos tipos de transparência, porém as mais relevantes são a de acesso e a de localização. A transparência de acesso se dá quando o usuário pode acessar tanto recursos locais quanto remotos usando a mesma operação. Já a transparência de localização diz respeito ao acesso dos recursos remotamente sem a necessidade de saber onde eles estão alocados fisicamente, é o que acontece nitidamente nas Nuvens Computacionais, visto que o usuário não sabe especificamente onde o servidor está alocado geograficamente. Suprir as características das Nuvens Computacionais vistas na Seção é um processo complicado para os provedores de serviço, e, apesar de os desafios serem comuns a todos os sistemas, cada provedor de serviço utiliza seu próprio sistema de gerenciamento. A padronização de representação, monitoração e

35 33 utilização das Nuvens ainda não é algo concreto, mas diversas iniciativas foram tomadas a fim de padronizar as interfaces e permitir interoperabilidade entre provedores (OCCI 5 - Open Cloud Computing Interface - e OVF). Um exemplo de iniciativa é o VXDL (Virtual Resources and Interconnection Networks Description Language), que é uma linguagem para interconexão e especificação de recursos e rede virtuais, que permite uma definição detalhada e extensível de todos os componentes de uma infraestrutura virtual. O objetivo do VXDL é integrar a interconexão de rede e as restrições de virtualização com a descrição dos recursos (KOSLOVSKI; PRIMET; CHARÃO, 2009). 3.2 FERRAMENTAS Existem diversas ferramentas e projetos em andamento visando facilitar o gerenciamento de Nuvens, auxiliar os consumidores, e contornar os desafios vistos na Seção 3.1 para os tipos de Nuvens existentes, sejam elas de grande ou pequeno porte. Destas ferramentas, quatro delas (OpenStack, OpenNebula, Eucalyptus e vcloud Director) serão abordadas neste trabalho com o intuito de mostrar as qualidades e lacunas de cada uma, visando a implementação de uma solução para a implementação de um protótipo de Nuvem Privada OpenStack É uma coleção de projetos de software de código aberto utilizada pelas empresas ou provedores para configurar e gerenciar Nuvens Computacionais. O projeto visa construir uma comunidade open-source com pesquisadores, desenvolvedores e empresas, que compartilham um objetivo comum: criar uma Nuvem simples de ser implementada, altamente escalável e com vários recursos avançados (WEN et al., 2012). Inicialmente projetado pela NASA e Rackspace 6, os três projetos principais do OpenStack são detalhados a seguir: Compute, responsável pelo controle da Nuvem (primordial para a criação de uma IaaS); Storage, um sistema de armazenamento altamente escalável; e Networking, que fornece e configura a rede entre os dispositivos. Outros dois projetos também compõem o OpenStack: 5 6

36 34 Keystone: responsável pelo gerenciamento de usuários. Mantém o controle de usuários e o que eles estão autorizados a fazer e fornece um catálogo de quais serviços estão disponíveis e onde seus terminais de API (Application Programming Interface) estão localizados. Horizon: fornece uma interface web ao usuário para que o mesmo possa ter o controle de toda a IaaS de uma forma mais amigável. Também é possível utilizar o componente VNC (Virtual Network Computing) que permite aos usuários o acesso remoto às instâncias das MVs. A Figura 7 mostra que os serviços do OpenStack trocam informações através de APIs para atender o que foi requisitado pelo usuário. As Seções a descrevem em mais detalhes os componentes Compute, Storage e Networking, respectivamente. Figura 7 Divisão em Módulos do OpenStack Fonte (OPENSTACK, 2012) Compute Compute é composto por dois projetos (Nova e Glance): Nova Services: suporta todos os ciclos de vida de instâncias na Nuvem para que os usuários possam vê-la como uma plataforma de gerenciamento de recursos computacionais. É composta por vários serviços, como: nova-api, rabbitmq, nova-compute e nova-scheduler. Nova-api é responsável por fornecer informações à interface web (Horizon), permitindo que o usuário gerencie a infraestrutura. Rabbit-mq (Message Queue) é um centralizador de mensagens. Toda informação é organizada em filas individuais, onde cada serviço possui sua

37 35 fila que, por sua vez, envia e recebe as mensagens de acordo com sua disponibilidade. Nova-compute provê a criação de uma instância de VM na Nuvem, sendo provisionado em um curto período de tempo dependendo das especificações do usuário (CPU, memória, disco, etc.). Nova-scheduler é um escalonador que determina em qual Node a MV será criada utilizando três algoritmos (OPENSTACK, 2011): Chance: escolhido aleatoriamente entre as máquinas disponíveis; Availability zone: escolhido aleatoriamente dentro de um grupo específico de máquinas; Simple: o Node escolhido é o que possui a menor carga sendo utilizada. Glance: fornece serviços para registrar e recuperar imagens de máquinas virtuais. A API fornece uma interface padrão REST (Representational State Transfer) para consultar informações sobre imagens de disco virtual armazenadas em diferentes formatos. Os clientes podem registrar novas imagens de disco virtual, consultar a API para obter informações sobre a disponibilidade de disco e usar a biblioteca do cliente para transmissão de imagens de disco virtual (GRIZZLY, 2013) Storage Assim como o Compute, Storage também é composto por dois projetos (Swift e Cinder): Swift: é o Serviço de Armazenamento de Objetos (Object Storage Service). Usado para criar um armazenamento escalável de objetos a fim de armazenar petabytes de dados acessíveis. Não é um sistema de arquivos ou um sistema de armazenamento de dados em tempo real, mas sim um sistema de armazenamento a longo prazo para os dados permanentes ou estáticos (LASZEWSKI et al., 2012). Cinder: é o Serviço de Armazenamento de Blocos (Block Storage Service). Os usuários acessam os dados montando um dispositivo remoto de maneira semelhante à forma como é montado um disco físico local. Como os dados são expostos como um dispositivo físico, o usuário final é responsável por criar partições e formatar o dispositivo de disco exposto (GRIZZLY, 2013).

38 Networking Networking é composto pelo projeto Quantum que provê NaaS (Network as a Service) entre os dispositivos de interface, ou seja, fornece e opera a infraestrutura de rede na Nuvem, possibilitando a criação de redes, subredes, roteadores virtuais, etc., para definir a conectividade e o endereçamento de rede na Nuvem (NICIRA, 2013). Por ser um projeto novo, algumas funcionalidades e ajustes têm de ser implementados manualmente. Uma abordagem mais detalhada é feita na Seção 5.4. Grupos de Segurança são funcionalidades que garantem maior segurança à infraestrutura. Eles atuam como um firewall, pois permitem que os administradores (ou usuários que tenham a devida permissão) especifiquem o tipo de tráfego em determinada porta. Se um grupo de segurança não for especificado na hora da criação de uma MV, a porta vai ser associada a um grupo padrão denominado default, onde o tráfego é permitido livremente sem nenhuma restrição. (GRIZZLY, 2013) OpenNebula OpenNebula é uma plataforma open-source para gerenciar data centers em na Nuvem. Foi criado como um projeto de pesquisa em Sua primeira versão foi liberada ao público somente em 2008 como um projeto de código aberto. Além de aumentar consideravelmente o número de usuários ao longo dos anos, diferentes projetos, grupos de pesquisa e empresas adicionaram novos componentes de Nuvem e de virtualização para complementar e melhorar as funcionalidades fornecidas (OPENNEBULA, 2012). Por ser um projeto modular e flexível, permite a integração com diferentes configurações de armazenamento, infraestruturas de rede e tecnologias de hypervisor (LASZEWSKI et al., 2012). Suporta as mudanças nas necessidades de recursos, migração em tempo real e na maioria dos casos consegue solucionar a insuficiência de recursos físicos, assim, um único ponto de acesso e um sistema de gestão centralizado podem ser utilizados para controlar várias implementações de OpenNebula. Além disso, proporciona isolamento, escalabilidade e possui vários

39 37 sites de apoio para resolução de problemas e obtenção de ajuda. Isso permite que as organizações complementem a infraestrutura local para atender às demandas de pico ou implementar estratégias de alta disponibilidade (LASZEWSKI et al., 2012). Os drivers se comunicam diretamente com o sistema operacional hospedado e encapsulam a infraestrutura básica como um serviço abstrato. Também são responsáveis pela criação, inicialização e desligamento das máquinas virtuais, bem como o monitoramento do estado operacional das máquinas físicas. A Figura 8 apresenta a utilização do OpenNebula. Para a comunicação com os usuários, OpenNebula fornece algumas interfaces como CLI (Command Line Interface), o próprio navegador, interfaces REST e OCCI, assim, eles podem gerenciar as máquinas virtuais (e seus recursos CPU, memória, armazenamento, rede) através destas interfaces. Os usuários externos também são capazes de compartilhar algumas das funcionalidades através de uma interface na Nuvem. Figura 8 Utilização do OpenNebula Fonte (HPC, 2012) A autorização é baseada em senhas, pares de chave SSH-RSA (Secure Shell - Rivest-Shamir-Adleman) e certificados (HARRIS, 2006). O sistema de armazenamento utiliza, por padrão, um sistema de arquivos compartilhado, normalmente NFS (Network File System) ou GlusterFS 7 para armazenar todos os arquivos (SHEPLER et al., 2003). O armazenamento pode ser também utilizado com arquivos não compartilhados, em que as imagens são transferidas via SSH. 7

40 Eucalyptus Eucalyptus foi desenvolvido em 2008 pela Eucalyptus Systems com a intenção de ser um produto de Nuvem open-source e atualmente suporta Nuvens Públicas, Privadas e Híbridas. Implementa uma IaaS que é acessível através de uma API compatível com a Amazon EC2 8 e Amazon S3 9. Possui cinco componentes de alto nível: Controlador da Nuvem (Cloud Controller - CLC) gerencia os recursos virtualizados; Controlador do Aglomerado (Cluster Controller - CC) controla a execução de máquinas virtuais; Walrus é um sistema de armazenamento; Controlador de Armazenamento (Storage Controller - SC) fornece armazenamento em EBS (Elastic Block Storage); Controlador do Nó (Node Controller - NC) controla as atividades da MV, incluindo a criação, monitoramento e exclusão de instâncias (LASZEWSKI et al., 2012). A Figura 9 apresenta as funções que o usuário, usando uma interface de acesso SOAP (Simple Object Access Protocol) ou REST, tem permissão para acessar: CLC e Walrus. CLC controla os dois aglomerados que possuem seus respectivos CCs e SCs, bem como suas instâncias de MVs, executadas nos NCs. Figura 9 Divisão em Módulos do Eucalyptus Fonte - (CHAGANTI, 2010) Os recursos computacionais virtualizados que formam uma Nuvem do 8

41 39 Eucalyptus são gerenciados pelo CLC (uma coleção de serviços web dividida em três categorias): Resource Services: permite que os usuários manipulem as propriedades das máquinas virtuais e redes e monitorem os componentes do sistema e recursos virtuais; Data Services: proporciona um ambiente configurável pelo usuário para a solicitação de alocação de recursos; Interface Services: lidam com a autenticação e tradução de protocolos e expõem as ferramentas de gerenciamento do sistema. Para que seja feita a alocação e desalocação dos recursos físicos de acordo com o que o usuário necessita, o CLC interage com o CC. O CC atua como um intermediário entre o CLC e o NC. Quando recebe um pedido de uma MV sobre o estado dos recursos computacionais, o CC descreve suas necessidades e características, e então se faz um cálculo de quantas instâncias simultâneas podem ser executadas na sua coleção de NCs e tais informações são enviadas para o CLC. Suas três funções principais são: agendar os pedidos de execução de instância para os NCs específicos; controlar a rede virtual, e reunir/relatar informações sobre um conjunto de NCs (NURMI et al., 2008). Um NC tem o poder de consultar e controlar o software do sistema (ou seja, o sistema operacional do host e do hypervisor) e responde às consultas e solicitações de controle de seu CC superior. Mantém os registros das instâncias que ele controla, podendo ser iniciadas ou finalizadas por meio de mecanismos de controle do NC. O sistema de armazenamento Walrus implementa REST e SOAP e fornece dois tipos de funcionalidade: Os usuários que têm acesso ao Eucalyptus podem usar Walrus tanto para transmitir dados para dentro da Nuvem como para fora nas instâncias que foram iniciadas. Além disso, Walrus atua como um serviço de armazenamento de imagens de máquinas virtuais. Walrus suporta transferências de dados simultâneos e serial. Para ajudar na escalabilidade das transferências, Walrus não fornece bloqueio na escrita de objetos, mas os usuários têm a garantia de que uma cópia consistente do objeto será salva se houver escritas concorrentes para o mesmo objeto. Se uma escrita 9

42 40 de um objeto é encontrada enquanto há uma gravação anterior para o mesmo objeto em andamento, a gravação anterior é invalidada (NURMI et al., 2008). A diferença entre Walrus e SC é que Walrus usa S3 (Amazon Simple Storage Service), ou seja, instâncias lançadas a partir do S3 usam o disco local para a partição do root. Uma vez que a máquina é desligada, o estado do sistema operacional é perdido. No caso do SC, utiliza-se EBS (Amazon Elastic Block Store), ou seja, instâncias podem ser suspensas - parando uma instância, pode-se retomá-la mais tarde com todos os estados (por exemplo, do sistema operacional) mantidos vcloud Director O gerenciador vcloud Director foi desenvolvido pela VMware e teve sua primeira versão lançada em Oferece Computação em Nuvem para datacenters existentes e partilha de recursos de infraestrutura virtual, entregandoos aos usuários como um catálogo de serviços (VMWARE, 2012e). Cada serviço tem seu preço, variando de acordo com as especificações do usuário. Utiliza padrões abertos para preservar a flexibilidade de implantação e facilitar a criação de uma Nuvem Híbrida. Através de parcerias com alguns provedores de serviços em Nuvem, os clientes podem ampliar sua capacidade de datacenter para construir Nuvens Públicas seguras, gerenciando-as de uma forma simples como suas próprias Nuvens Privadas (VMWARE, 2012e). A Figura 10 apresenta como é o funcionamento do vcloud Director: na camada mais baixa é onde fica o hardware físico (processamento, rede e armazenamento). Acima dele começa a abstração dos recursos físicos através do vsphere, que fornece uma camada de virtualização, permitindo que máquinas virtuais compartilhem seus recursos. Os aglomerados lidam com o processamento, os vswitches permitem que máquinas virtuais comuniquem-se entre si e os banco de dados são responsáveis por armazenar as informações. Na camada mais acima é onde se encontra o vcloud Director: oferece uma infraestrutura totalmente virtualizada, desde os recursos físicos computacionais até os recursos da rede.

43 41.Figura 10 Camadas do vcloud Director Fonte (VIRTUALYZATION, 2010) Administradores podem agrupar usuários em organizações que representam, por exemplo, uma divisão dos departamentos de uma empresa. Cada organização possui seus próprios recursos virtualizados, autenticação LDAP independente e suas próprias políticas de segurança. Para que o usuário tenha acesso aos datacenters virtuais, uma interface via web é oferecida. 3.3 CONSIDERAÇÕES PARCIAIS Frameworks de gerenciamento podem gerir os recursos físicos e virtualizados, ou seja, auxiliam provedores de serviços e usuários. Cada framework abordado neste trabalho possui suas particularidades e divisões, mas todos possuem algo em comum: facilitar o gerenciamento de Nuvens Computacionais, considerando os desafios indicados na Seção 3.1. Como a utilização de Nuvens está se popularizando cada vez mais, os desenvolvedores dessas ferramentas tentam tornar prática uma tarefa que não é simples. Em alguns cenários, pode ser mais adequado para empresas ou organizações construir a sua própria Nuvem. Essa é uma das razões pelas quais

44 42 as plataformas de código aberto de Nuvem e comunidades tentam construir um framework sem custos. Com o rápido desenvolvimento de plataformas de código aberto e uma grande gama de funcionalidades, algumas delas podem até substituir plataformas pagas (WEN et al., 2012). A decisão de escolher o mais adequado que atenda às necessidades dos clientes é uma tarefa difícil, porque cada plataforma tem suas características específicas. No Capítulo 4 deste trabalho é analisada, comparada e escolhida a plataforma que melhor se encaixa na criação de um protótipo de Nuvem Privada para a UDESC.

45 43 4 ANÁLISE E COMPARAÇÃO Neste capítulo apresentamos uma análise sobre as soluções de virtualização e de gerenciamento de Nuvens Computacionais revisadas neste trabalho. Inicialmente, são descritos os itens que foram analisados e as referências tomadas como base. Posteriormente a Seção 4.2 discute a comparação entre as ferramentas de virtualização e gerenciamento, identificando os motivos pelos quais foram escolhidas. As análises, tanto qualitativas quanto quantitativas, servem para mostrar os pontos fortes e fracos de cada solução e ferramentas revisados nos Capítulos 2 e ITENS A SEREM ANALISADOS Para que seja escolhida a solução de virtualização e a ferramenta de gerenciamento a serem implementadas, alguns itens foram considerados em destaque. Na Seção e são abordados os itens relevantes para a solução de virtualização e de gerenciamento de Nuvens Computacionais, respectivamente Virtualização Para a escolha da solução de virtualização consideramos: o seu desempenho com algumas máquinas virtuais utilizando o mesmo substrato físico; a facilidade de entendimento das documentações; ajuda aos usuários disponibilizada pela comunidade; licença (open-source). A possível utilização da ferramenta em projetos que estão em andamento pelo GRADIS (Grupo de Redes e Aplicações Distribuídas) também foi considerada. Quanto ao desempenho, não foram realizados testes quantitativos, mas referências que executaram tais testes foram consultadas. Espera-se que com a solução escolhida seja possível criar uma infraestrutura virtual que: preserve e estenda os investimentos existentes em aplicativos e infraestrutura; modernize os aplicativos existentes e crie outros robustos e prontos para a Nuvem; ofereça liberdade ao usuário final, mas que o administrador mantenha o controle. Juntos, esses requisitos aumentam a eficiência e a agilidade

46 44 da infraestrutura virtual, melhorando a disponibilidade de serviço, a segurança e o controle (VMWARE, 2012c) Gerenciamento Alguns dos fatores relevantes para a escolha da ferramenta de gerenciamento de Nuvem Computacional foram: compatibilidade com outras ferramentas; tipos de interface suportados; licença (open-source); MMVs suportados; documentação; e adequação aos recursos computacionais disponíveis. A possível utilização da ferramenta em projetos que estão em andamento pelo GRADIS (Grupo de Redes e Aplicações Distribuídas) da UDESC também foi levada em conta. 4.2 ANÁLISE Assim como foi feito na Seção 4.1, a análise é dividida em duas seções: a Seção apresenta a análise e as considerações sobre a solução de virtualização e na Seção a análise e as considerações sobre a ferramenta de gerenciamento Virtualização Desde o surgimento de Xen, as tecnologias para a virtualização de dispositivos de E/S e rede têm sido constantemente melhorados visando um melhor desempenho a cada versão. As atualizações buscam alcançar o rendimento do Linux nativo em máquinas paravirtualizadas (NUSSBAUM et al., 2009). Como a paravirtualização do Xen tem um bom desempenho com envio/recebimento de dados na rede, mais rapidez no processamento (em comparação ao KVM) e por ser de código aberto (diferentemente do VMware), tal solução foi a apontada como uma das prováveis opções para a criação do protótipo de Nuvem Computacional. A Figura 11 apresenta os resultados de Nussbaum no envio e recebimento de dados na rede (NUSSBAUM et al.). FV significa Full Virtualization e PV significa ParaVirtualization. Utilizando a virtualização completa, é notável que KVM é

47 45 superior ao Xen. No entanto, Xen paravirtualizado possui um desempenho melhor do que KVM paravirtualizado. Apresentamos estas informações com o objetivo de ilustrar a indicação do Xen e KVM no presente trabalho e para o interesse da comunidade em geral. Figura 11 Envio e recebimento de dados na rede. Fonte (NUSSBAUM et al., 2009) Gerenciamento Para a escolha do framework de gerenciamento foram analisadas as principais diferenças e particularidades de cada solução. A Tabela 1 tem a finalidade de mostrar essa distinção entre as ferramentas e fori adaptada dos artigos de Laszewski et al. e de Wen et al. para que as informações mais relevantes fossem comparadas (LASZEWSKI et al,; WEN et al.). Como este trabalho busca a implementação de um protótipo de uma Nuvem Computacional Privada de baixo custo financeiro, o fato de vcloud Director ser pago foi excludente e o mesmo não aparece nas comparações.

48 46 Interfaces Hypervisor Autenticação OpenStack Eucalyptus 2.0 OpenNebula EC2 e S3; Native XML; EC2 e S3; REST; EC2 e S3; REST; Suporta OCCI; REST; Suporta OCCI. Libvirt. Suporta OCCI. KVM; Xen; KVM; KVM; VMware; Xen; Xen; LXC; VMware na versão VMware. UML; paga. MS HyperV. X509 credentials; X509 credentials, X509 credentials SSH-RSA; LDAP. LDAP. Tabela 1 Comparação OpenStack X Eucalyptus X OpenNebula Fonte (LASZEWSKI et al., 2012) Interfaces: o fato de OpenNebula suportar Native XML (extensible Markup Language) não é relevante ao trabalho porque será usado o padrão OCCI e a Interface REST (suportados pelas três ferramentas). OCCI é um protocolo e também uma API que define como prestadores de serviço de infraestrutura podem entregar seus dados, recursos computacionais e de rede através de uma interface padronizada. REST é um estilo de arquitetura de software que basicamente explora os protocolos de Web, incluindo HTTP e XML; A libvirt é uma biblioteca construída sobre a ideia de abstração que fornece uma API de MMVs para gerenciar sistemas operacionais hospedados que estejam sendo executados em um host (JONES, 2010); Hypervisor: as três soluções abordadas nesse trabalho (KVM, Xen e VMware) são suportadas pelo OpenStack e OpenNebula, enquanto Eucalyptus tem suporte a KVM, Xen e a versão paga do VMware; Autenticação: OpenStack e OpenNebula estão à frente do Eucalyptus pois possuem possibilidade de autenticação LDAP (Lightweight Directory Access Protocol), além de credenciais X509 (criptografia de chaves públicas/privadas); Popularidade: como o presente trabalho aborda um assunto relativamente

49 47 novo e visto superficialmente na Universidade, uma ferramenta mais popular faz com que eventuais erros ou necessidade de suporte sejam sanados mais rapidamente. A Figura 12 mostra o interesse sobre cada um dos três termos com o passar do tempo para fins de ilustração. Estas informações foram fornecidas por uma ferramenta de comparação disponibilizada pelo mecanismo de busca do Google. Figura 12 Pesquisa OpenStack, OpenNebula, Eucalyptus Fonte: (GOOGLE TRENDS, 2012) Como OpenStack e OpenNebula se sobressaíram ao Eucalyptus, como pôde ser visto na Tabela 1, em popularidade (mostrado na Figura 12), e pelo fato de poderem gerenciar infraestruturas virtuais e não somente IaaS, um novo levantamento sobre as particularidades dessas duas ferramentas foi feito. Tanto OpenStack quanto OpenNebula suportam a criação de nuvens privadas, públicas ou híbridas. Ambos suportam infraestruturas virtuais e são compatíveis com a maioria das distribuições Linux como sistema operacional (WEN et al., 2012). A dúvida na escolha do framework de gerenciamento ficou entre OpenStack e OpenNebula. Em determinados pontos (Interfaces, suporte a hypervisors e popularidade), OpenStack ficou à frente do OpenNebula, enquanto o OpenNebula se sobressaiu em Autenticação. Nos outros fatores analisados, as duas ferramentas têm as mesmas características. Um critério também julgado para escolha foi o número de utilizadores da ferramenta e a movimentação na mailinglist dos sites. Jiang desenvolveu um programa em Java para recuperar os posts nos fórums de alguns frameworks e salvá-los num banco de dados para posterior

50 48 análise (JIANG, 2012). A Figura 13 mostra o número de mensagens postadas mensalmente nos fórums. Figura 13 Número mensal de mensagens nos fórums. Fonte (JIANG., 2012) Através da Figura 13, pode-se identificar que a comunidade do OpenStack é muito mais ativa do que a do OpenNebula. Tendo em vista que possivelmente ocorrerão dúvidas e erros na implementação, a participação nós fórums para esclarecimento dos problemas será de grande ajuda, por isso, uma ferramenta que tenha uma boa reputação dentre os usuários e que seja popular também foi levado em conta na hora da escolha. As documentações oferecidas no site do OpenStack são de fácil entendimento, por isso, é possível construir uma Nuvem, mesmo não sendo nenhum especialista (WEN et al., 2012). OpenStack suporta libvirt, OVF, OCCI e se conecta com provedores como RackSpace e Amazon, por ter toda essa compatibilidade, uma possível mudança do tipo da Nuvem seria mais fácil do que com as outras plataformas. Como o intuito deste trabalho é criar um protótipo de Nuvem Computacional, evitar problemas que outros usuários já tiveram na

51 49 implementação fará com que tempo e esforço sejam poupados. Por isso, uma maior comunidade relatando as experiências e dificuldades é um artifício importante na seleção da ferramenta de gerenciamento. Além disso, OpenStack é o gerenciador indicado como preferencial pelos membros do GRADIS para a criação do protótipo de Nuvem Computacional. Pelos motivos aqui expostos, o framework de gerenciamento utilizado é o OpenStack.

52 50 5 DESENVOLVIMENTO Depois de estudadas as documentações do framework OpenStack e do MMV Xen, foi iniciada a implementação do protótipo de Nuvem Computacional Privada. O projeto teve como base o tutorial disponibilizado por Msekni 10 e inicialmente foram instalados OpenStack Folsom 3.0 e Xen 4.1. O tutorial é o resultado de uma implementação real, realizada no contexto do Projeto FP7-SAIL (SAIL, 2010). A desinstalação do Xen tornou-se necessária devido a um problema de incompatibilidade entre alguns componentes que será abordado na Seção Para compor o protótipo, foram utilizados dois computadores, um tendo o posto de Controller e Network Node e outro sendo um Compute Node. O Controller Node é responsável por interagir com todos os componentes do OpenStack (autenticação, armazenamento, escalonador e rede), o Network Node é responsável por criar e configurar a rede e o Compute Node é encarregado de criar, pausar, salvar e destruir as instâncias de MVs (GRIZZLY, 2013). Nas Seções 5.1 e 5.2 pode ser visto como está configurada a infraestrutura do protótipo de Nuvem Computacional INFRAESTRUTURA FÍSICA As configurações dos computadores e do switch interno utilizados para o desenvolvimento deste trabalho são expostas a seguir: CPU: AMD Phenom(tm) II X4 B93 Processor x4 64 bits; HD: 500 GB; Memória: 4 GiB; SO: Ubuntu 12.10; Placa de Rede: eth0 SiS900 PCI Fast Ethernet; Placa de Rede: eth1 Broadcom Corporation NetXtreme BCM5761; Fast Ethernet Switch 10/100 Mbps 24 ports. Para a criação da rede, foram utilizados dois switches: o switch para a rede interna ( /24), localizado no Laboratório F112; e o switch para a rede 10 https://github.com/mseknibilel/openstack-folsom-installguide/blob/master/openstack_folsom_install_guide_webversion.rst

53 51 externa ( /24). A Figura 14 mostra a topologia física da rede que foi adotada para o desenvolvimento do projeto. Figura 14 Topologia física da rede Como pode ser visto na Figura 14, o Controller Node e um Compute Node estão interligados através das redes interna e externa. Para que mais usuários possam utilizar da Nuvem Computacional, basta replicar as configurações do 1º Compute Node a outros computadores, fazendo as devidas modificações nos arquivos de configuração INFRAESTRUTURA LÓGICA A configuração da rede foi feita através do Quantum e do OpenVSwitch. OpenVSwitch cria as bridges que atuam como dispositivos da Camada 2 (switches) do modelo OSI para a comunicação entre as máquinas físicas e virtuais. Entendidas as definições das partes que compõem a rede, a Figura 15 tem como objetivo demonstrar de forma mais detalhada como estão configuradas as máquinas dentro do protótipo de Nuvem.

54 52 Figura 15 Topologia lógica da rede No Controller, br-int é uma bridge responsável pela comunicação interna entre as MVs. A interface de rede eth0 está conectada a br-eth0 e recebe o IP enquanto a interface eth1 está ligada a br-ex. O DHCP (Dynamic Host Configuration Protocol) passou a ser redirecionado para br-ex para que seja possível acessar a máquina virtual remotamente através de algum IP flutuante que será dado posteriormente. No Compute, as bridges br-int e br-eth0 seguem a mesma linha do Controller (o IP interno é e o externo ). A diferença para a rede do Controller é que a interface eth1 não está associada a nenhuma bridge. O roteador virtual (que não aparece na Figura e foi criado através do Quantum) serve para a distribuição dos IPs tanto da Rede Interna quanto da Externa. À Rede Interna são adicionadas as sub-redes referentes a cada instância para o IP interno das MVs. À Rede Externa foi associado um pool de IPs flutuantes que vai de Monitor de Máquina Virtual Com as pesquisas que foram feitas e documentadas na Seção 4.2.1, optouse por usar Xen como o hypervisor das MVs pelos motivos expostos anteriormente. Um imprevisto acarretou na desinstalação do Xen e escolha de outro MMV em seu

55 53 lugar. Para compreender o problema que estava ocorrendo, é necessário entender como é o funcionamento da libvirt. O cenário adotado para este trabalho demonstrado na Figura 15 utiliza comunicação remota e/ou local (entre as MVs e máquinas físicas). Para atender tal comunicação, a libvirt possui um software chamado libvirt daemon (libvirtd). As requisições do nova-compute são recebidas pela libvirtd que, por sua vez, é responsável por executar as ações, mas como a libvirtd não estava sendo capaz de traduzir o arquivo de configurações oriundos do nova-compute, a criação da MV falhava. No momento de criação das MVs, os erros nos logs do Xen, nova-compute e libvirt apontavam um provável problema de incompatibilidade entre estes componentes. Apesar de a imagem a ser usada possuir o formato qcow2, que é uma das extensões suportadas pela libvirt, o nova-compute alterava automaticamente a extensão da imagem e do driver de disco dentro do arquivo de configuração para raw e blktap2, respectivamente, fazendo com que as máquinas virtuais não fossem criadas. O problema se repetia independente do formato da imagem armazenada no Glance ou do driver de disco especificado, sendo sempre convertido para raw e blktap2, respectivamente. Os objetivos de utilizar o formato qcow2 são: a possibilidade de salvar o estado atual da MV; e não alocar espaço desnecessário como no formato raw. Diante deste cenário, foram feitas alterações manuais no arquivo de configuração para tentar sanar o problema, mas o nova-compute insistentemente sobrescrevia as alterações na hora de criação das máquinas virtuais. Após pesquisar pelos erros mostrados nos logs em mecanismos de buscas a fim de encontrar uma solução, pôde-se notar que inúmeros usuários passavam pelo mesmo problema sem chegar a uma resolução. Logo, a conclusão que se pôde chegar é que existe alguma incompatibilidade entre Xen 4.1, nova-compute do OpenStack Folsom 3.0 e libvirt Como o problema persistiu durante dias sem que fosse encontrada uma solução e o mesmo poderia acarretar em um atraso no cronograma, a ação tomada para evitar os erros foi a desinstalação total do Xen e a instalação do KVM. A instalação do KVM foi mais simples que a do Xen, fazendo com que o tempo alocado para tentar solucionar o problema de incompatibilidade fosse compensado. A Figura 16 tem como objetivo complementar o que já foi visto e

56 54 mostrar como é a arquitetura do KVM com a libvirt na virtualização: Figura 16 Arquitetura KVM + libvirt. Fonte (JONES, 2010). A libvirt atua como um intermediário entre o hypervisor e o sistema operacional da máquina física. Neste cenário, a libvirtd oferece meios de acessar domínios locais a partir de aplicativos de gerenciamento remotos (nova-compute) (JONES, 2010) OPERAÇÃO DO OPENSTACK Esta Seção mostra como é o funcionamento dos componentes que formam o protótipo de Nuvem Computacional. A Seção é dedicada para explanar como é feita a criação de uma MV na visão de um usuário, ou seja, de uma visão externa. A Seção expõe a sequência de passos para criar um IP flutuante para a MV. A Seção apresenta a criação de uma MV vista em baixo nível, ou seja, de uma visão interna Criação de uma Máquina Virtual Como o OpenStack é composto por módulos, a criação de uma MV através

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

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

The Eucalyptus Open- source Cloud-computing System. Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva The Eucalyptus Open- source Cloud-computing System Janaina Siqueira Lara Wilpert Marcelo Scheidt Renata Silva Sumário Introdução Trabalhos Correlatos Eucalyptus Design Conclusões Visão Geral Introdução:

Leia mais

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br

CLOUD COMPUTING. Andrêza Leite. andreza.leite@univasf.edu.br CLOUD COMPUTING Andrêza Leite andreza.leite@univasf.edu.br Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing

Leia mais

Classificação::Modelo de implantação

Classificação::Modelo de implantação Classificação::Modelo de implantação Modelo de implantação::privado Operada unicamente por uma organização; A infra-estrutura de nuvem é utilizada exclusivamente por uma organização: Nuvem local ou remota;

Leia mais

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes Introdução a Virtualização Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes Por que virtualizar? Descentralização de recursos computacionais Cloud computing Plena utilização de recursos físicos

Leia mais

Computação em Nuvem & OpenStack

Computação em Nuvem & OpenStack Computação em Nuvem & OpenStack Grupo de Pesquisa em Software e Hardware Livre Ação Computação em Nuvem: Charles Christian Miers André Rover de Campos Glauber Cassiano Batista Joinville Roteiro Definições

Leia mais

Xen e a Arte da Virtualização

Xen e a Arte da Virtualização Xen e a Arte da Virtualização Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield University of Cambridge Computer Laboratory Microsoft

Leia mais

The Eucalyptus Open-source Cloud-computing System

The Eucalyptus Open-source Cloud-computing System 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,

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 1 Conceitos da Computação em Nuvem A computação em nuvem ou cloud computing

Leia mais

Arquitetura e Sistema de Monitoramento para

Arquitetura e Sistema de Monitoramento para Arquitetura e Sistema de Monitoramento para 1 Computação em Nuvem Privada Mestranda: Shirlei A. de Chaves Orientador: Prof. Dr. Carlos Becker Westphall Colaborador: Rafael B. Uriarte Introdução Computação

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com

Planejamento Estratégico de TI. Felipe Pontes felipe.pontes@gmail.com Planejamento Estratégico de TI Felipe Pontes felipe.pontes@gmail.com VPN Virtual Private Network Permite acesso aos recursos computacionais da empresa via Internet de forma segura Conexão criptografada

Leia mais

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA

EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA EUCALYPTUS: UMA PLATAFORMA CLOUD COMPUTING PARA QUALQUER TIPO DE USUÁRIO Gustavo Henrique Rodrigues Pinto Tomas 317624 AGENDA Introdução: Cloud Computing Modelos de Implementação Modelos de Serviço Eucalyptus

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Virtualização. O conceito de VIRTUALIZAÇÃO

Virtualização. O conceito de VIRTUALIZAÇÃO Virtualização A virtualização está presente tanto no desktop de um entusiasta pelo assunto quanto no ambiente de TI de uma infinidade de empresas das mais variadas áreas. Não se trata de "moda" ou mero

Leia mais

João Víctor Rocon Maia Engenharia de Computação - UFES

João Víctor Rocon Maia Engenharia de Computação - UFES João Víctor Rocon Maia Engenharia de Computação - UFES Agenda Quem usa? Conceito Ilustração Vantagens Tipologia Topologia Como fazer? O que é preciso? Infraestrutura Sistema Operacional Software Eucalyptus

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

Minicurso Computação em Nuvem Prática: Openstack

Minicurso Computação em Nuvem Prática: Openstack Minicurso Computação em Nuvem Prática: Openstack Glauber Cassiano Batista Ricardo Sohn Membros Colméia Roteiro Geral Definições Virtualização Data center Computação em Nuvem Principais classificações:

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

OpenStack. Cloud Software

OpenStack. Cloud Software OpenStack Cloud Software O que é o OpenStack? Concebido como um SO para a nuvem Todo em código aberto Infraestrutura de nuvem como serviço (IaaS) Nuvens públicas ou privadas Composto por um conjunto de

Leia mais

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores Disciplina - Sistemas Distribuídos Prof. Andrey Halysson Lima Barbosa Aula 12 Computação em Nuvem Sumário Introdução Arquitetura Provedores

Leia mais

Sistemas Operacionais 1/66

Sistemas Operacionais 1/66 Sistemas Operacionais 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack

OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack OCEL001 Comércio Eletrônico Módulo 9_4: OpenStack Prof. Charles Christian Miers e-mail: charles.miers@udesc.br OpenStack OpenStack é um projeto de computação em nuvem criado em julho de 2010, fruto de

Leia mais

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano Sistemas Operacionais Marcos Laureano 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3

Leia mais

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010

CLOUD COMPUTING PEDRO MORHY BORGES LEAL. MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 CLOUD COMPUTING PEDRO MORHY BORGES LEAL MAC0412 - Organização de Computadores Prof. Alfredo Goldman 7 de dezembro de 2010 0 CLOUD COMPUTING 1 1. Introdução Com o grande avanço da tecnologia de processadores,

Leia mais

Computação na Nuvem: Virtualização e Migração de VM. André Meireles Estêvão Monteiro Monique Soares

Computação na Nuvem: Virtualização e Migração de VM. André Meireles Estêvão Monteiro Monique Soares Computação na Nuvem: Virtualização e Migração de VM André Meireles Estêvão Monteiro Monique Soares Agenda Overview Histórico Abordagens Desafios em x86 Snapshots Virtualização de Hardware/Plataforma/Sevidor:

Leia mais

Computação em Nuvens IaaS com Openstack. Eng. Marcelo Rocha de Sá marcelo@jambu.com.br FLISOL - Belém - Pará 25 de abril 2015

Computação em Nuvens IaaS com Openstack. Eng. Marcelo Rocha de Sá marcelo@jambu.com.br FLISOL - Belém - Pará 25 de abril 2015 Computação em Nuvens IaaS com Openstack Eng. Marcelo Rocha de Sá marcelo@jambu.com.br FLISOL - Belém - Pará 25 de abril 2015 Nuvens Computacionais IaaS com Openstack Nuvens Computacionais Serviços em nuvens

Leia mais

Xen Cloud Platform Xen descomplicado

Xen Cloud Platform Xen descomplicado Xen Cloud Platform Xen descomplicado CAPA A Xen Cloud Platform facilita muito a criação e o gerenciamento de máquinas virtuais sobre o hypervisor Xen. por Boris Quiroz e Stephen Spector A revolução da

Leia mais

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE

COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE COMPUTAÇÃO EM NUVEM: UM FUTURO PRESENTE Andressa T.R. Fenilli 1, Késsia R.C.Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí PR Brasil andressa.trf@gmail.com, kessia@unipar.br Resumo. Computação em

Leia mais

Minicurso Computação em Nuvem Prática: Openstack

Minicurso Computação em Nuvem Prática: Openstack Grupo de Pesquisa em Software e Hardware Livre André Rover de Campos Membro Colméia andreroverc@gmail.com Joinville Minicurso Computação em Nuvem Prática: Openstack Roteiro Definições Virtualização Data

Leia mais

Gerenciamento e Interoperabilidade de Redes

Gerenciamento e Interoperabilidade de Redes 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

Leia mais

Virtualização - VMWare e Xen

Virtualização - VMWare e Xen Virtualização - VMWare e Xen A virtualização consiste na emulação de ambientes isolados, capazes de rodar diferentes sistemas operacionais dentro de uma mesma máquina, aproveitando ao máximo a capacidade

Leia mais

Virtualização Gerencia de Redes Redes de Computadores II

Virtualização Gerencia de Redes Redes de Computadores II Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Computação Aula 01-02: Introdução 2o. Semestre / 2014 Prof. Jesus Agenda da Apresentação Definição e surgimento de Sistemas Distribuídos Principais aspectos de Sistemas Distribuídos

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

ESTÁGIO CURRICULAR I INSTALAÇÃO E CONFIGURAÇÃO DE UM FRAMEWORK DISTRIBUÍDO PARA GERENCIAMENTO DE NUVENS COMPUTACIONAIS

ESTÁGIO CURRICULAR I INSTALAÇÃO E CONFIGURAÇÃO DE UM FRAMEWORK DISTRIBUÍDO PARA GERENCIAMENTO DE NUVENS COMPUTACIONAIS LUCAS DA CUNHA ESTÁGIO CURRICULAR I INSTALAÇÃO E CONFIGURAÇÃO DE UM FRAMEWORK DISTRIBUÍDO PARA GERENCIAMENTO DE NUVENS COMPUTACIONAIS EMPRESA: Universidade do Estado de Santa Catarina SETOR: Departamento

Leia mais

Computação em Nuvem com Openstack

Computação em Nuvem com Openstack Allan Krueger Glauber C. Batista Charles Christian Miers Membros Colméia Grupo de Pesquisa em Software e Hardware Livre Computação em Nuvem com Openstack Roteiro Geral OpenStack 2 OpenStack 3 Openstack

Leia mais

Desmitificando OpenStack. Filipe Fernandes S B de Matos

Desmitificando OpenStack. Filipe Fernandes S B de Matos Desmitificando OpenStack Filipe Fernandes S B de Matos Objetivo Apresentar a arquitetura da ferramenta OpenStack e descrever de forma geral seus principais componentes. Apresentar uma breve descrição sobre

Leia mais

Hypervisor. Diego Souza Gomes 3 de maio de 2007

Hypervisor. Diego Souza Gomes 3 de maio de 2007 Hypervisor Diego Souza Gomes 3 de maio de 2007 Resumo As máquinas virtuais envolvem a criação de um sistema de computador totalmente em software. Usando-as, é possível hospedar vários computadores virtuais

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

OCEL001 Comércio Eletrônico Módulo 9_2: Nuvens Computacionais. Prof. Charles Christian Miers. e-mail: charles.miers@udesc.br

OCEL001 Comércio Eletrônico Módulo 9_2: Nuvens Computacionais. Prof. Charles Christian Miers. e-mail: charles.miers@udesc.br OCEL001 Comércio Eletrônico Módulo 9_2: Nuvens Computacionais Prof. Charles Christian Miers e-mail: charles.miers@udesc.br Data Centers e Computação sob demanda Data Centers fornecem uma grande capacidade

Leia mais

Cisco Intelligent Automation for Cloud

Cisco Intelligent Automation for Cloud Dados técnicos do produto Cisco Intelligent Automation for Cloud Os primeiros a adotarem serviços com base em nuvem buscavam uma economia de custo maior que a virtualização e abstração de servidores podiam

Leia mais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais

23/05/12. Computação em Nuvem. Computação em nuvem: gerenciamento de dados. Computação em Nuvem - Características principais Computação em Nuvem Computação em nuvem: gerenciamento de dados Computação em nuvem (Cloud Computing) é uma tendência recente de tecnologia cujo objetivo é proporcionar serviços de Tecnologia da Informação

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7

14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 14/IN01/DSIC/GSIPR 00 30/JAN/12 1/7 PRESIDÊNCIA DA REPÚBLICA Gabinete de Segurança Institucional Departamento de Segurança da Informação ORIGEM e Comunicações Departamento de Segurança da Informação e

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Cluster, Grid e computação em nuvem Slide 8 Nielsen C. Damasceno Introdução Inicialmente, os ambientes distribuídos eram formados através de um cluster. Com o avanço das tecnologias

Leia mais

Computação em Grid e em Nuvem

Computação em Grid e em Nuvem Computação em Grid e em Nuvem Computação em Nuvem Molos 1 Definição Um grid computacional é uma coleção recursos computacionais e comunicação utilizados para execução aplicações Usuário vê o grid como

Leia mais

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla Unidade III FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Arquitetura de Processadores: Modo Operacional; Velocidade; Cache; Barramento; Etc. Virtualização: Maquinas virtuais; Gerenciamento

Leia mais

O que é Cloud Computing (Computação nas Nuvens)?

O que é Cloud Computing (Computação nas Nuvens)? O que é Cloud Computing (Computação nas Nuvens)? Introdução A denominação Cloud Computing chegou aos ouvidos de muita gente em 2008, mas tudo indica que ouviremos esse termo ainda por um bom tempo. Também

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

O que é Cloud Computing?

O que é Cloud Computing? O que é Cloud Computing? Referência The Economics Of The Cloud, Microsoft, Nov. 2010 Virtualização, Brasport, Manoel Veras, Fev. 2011. 2 Arquitetura de TI A arquitetura de TI é um mapa ou plano de alto

Leia mais

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015 MO809L Tópicos em Sistemas Distribuídos 1 semestre, 2015 Virtualização Virtualização Threads/processos: Modo de fazer mais coisas ao mesmo tempo. Concorrência - impressão de execução paralela em computador

Leia mais

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS

ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS ADAPTANDO UMA APLICAÇÃO PARA CLOUD: UMA ANÁLISE ENTRE OS ESFORÇOS UTILIZADOS Cleverson Nascimento de Mello¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil

Leia mais

XDR. Solução para Big Data.

XDR. Solução para Big Data. XDR Solução para Big Data. ObJetivo Principal O volume de informações com os quais as empresas de telecomunicações/internet têm que lidar é muito grande, e está em constante crescimento devido à franca

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM

ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM ANÁLISE COMPARATIVA DE PLATAFORMAS DE COMPUTAÇÃO EM NUVEM Igor dos Passos Granado¹, Ricardo de Melo Germano¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavai PR Brasil

Leia mais

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar)

COMPUTAÇÃO EM NUVEM. Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) COMPUTAÇÃO EM NUVEM Michele Marques Costa 1,2, Julio César2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil Mih_nai@hotmail.com juliocesar@unipar.br Resumo. Este artigo contém a definição e citação

Leia mais

Departamento de Tecnologia da Informação

Departamento de Tecnologia da Informação Xen - O case de virtualização da Alergs XIII Enial - Brasília Novembro/2010 DTI Superintendência Administrativa e Financeira Assembleia Legislativa do RS Tópicos abordados: A infraestrutura de TI Alergs

Leia mais

Tópicos Especiais em Redes de Telecomunicações

Tópicos Especiais em Redes de Telecomunicações Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto Informações Gerais Prof. Rodrigo de Souza Couto E-mail: rodsouzacouto@ieee.org

Leia mais

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte

Fernando Seabra Chirigati. Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Fernando Seabra Chirigati Universidade Federal do Rio de Janeiro EEL879 - Redes de Computadores II Professores Luís Henrique Costa e Otto Duarte Introdução Grid x Nuvem Componentes Arquitetura Vantagens

Leia mais

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação

Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Universidade Agostinho Neto Faculdade de Ciências Departamento de Ciências da Computação Nº 96080 - Adário de Assunção Fonseca Muatelembe Nº 96118 - Castelo Pedro dos Santos Nº 96170 - Feliciano José Pascoal

Leia mais

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho Márcio Parise Boufleur Guilherme Piegas Koslovski Andrea Schwertner Charão LSC - Laboratório de Sistemas de Computação UFSM - Universidade

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Máquinas Virtuais Agenda Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Histórico Mainframe É um computador de grande porte, dedicado

Leia mais

Virtualização. Hardware Virtual? Máquina Virtual? Software ou Hardware? Profº André Luiz andreluizsp@gmail.com

Virtualização. Hardware Virtual? Máquina Virtual? Software ou Hardware? Profº André Luiz andreluizsp@gmail.com Virtualização Hardware Virtual? Máquina Virtual? Software ou Hardware? Profº André Luiz andreluizsp@gmail.com O problema...... os departamentos de TI passaram a ter consciência de que os recursos como

Leia mais

Computação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2

Computação em Nuvem. Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota. Especialização em Redes e Segurança de Sistemas 2008/2 Computação em Nuvem Henrique Ruschel, Mariana Susan Zanotto, Wélton Costa da Mota Especialização em Redes e Segurança de Sistemas 2008/2 Pontifícia Universidade Católica do Paraná Curitiba, Abril de 2010

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS

CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS CLOUD COMPUTING: COMPARANDO COMO O MUNDO ONLINE PODE SUBSTITUIR OS SERVIÇOS TRADICIONAIS João Antônio Bezerra Rodrigues¹, Claudete Werner¹, Gabriel Costa Silva² ¹Universidade Paranaense (Unipar) Paranavaí

Leia mais

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas ATIVIDADE 1 MÁQUINAS VIRTUAIS Existem hoje diversas tecnologias e produtos para virtualização de computadores e ambientes de execução, o que pode gerar uma certa confusão de conceitos. Apesar disso, cada

Leia mais

Prof. José Maurício S. Pinheiro UniFOA 2009-2

Prof. José Maurício S. Pinheiro UniFOA 2009-2 Tecnologias WEB Virtualização de Sistemas Prof. José Maurício S. Pinheiro UniFOA 2009-2 Conceitos Virtualização pode ser definida como técnica que combina ou divide recursos computacionais para prover

Leia mais

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP

Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Arcserve Backup: Como proteger ambientes NAS heterogêneos com NDMP Phil Maynard UNIDADE DE SOLUÇÕES DE GERENCIAMENTO DE DADOS PARA O CLIENTE FEVEREIRO DE 2012 Introdução Em todos os lugares, o volume de

Leia mais

Levantamento sobre Computação em Nuvens

Levantamento sobre Computação em Nuvens Levantamento sobre Computação em Nuvens Mozart Lemos de Siqueira Doutor em Ciência da Computação Centro Universitário Ritter dos Reis Sistemas de Informação: Ciência e Tecnologia Aplicadas mozarts@uniritter.edu.br

Leia mais

Transformação da Indústria

Transformação da Indústria Conceitos Transformação da Indústria Hoje Cloud Anos 2000 Web Anos 1990 Cliente / Servidor Anos 1970 e 80 Mainframe Novas possibilidades O momento atual do país é favorável para que as empresas passem

Leia mais

4 Solução Proposta. 4.1 Escopo Proposto

4 Solução Proposta. 4.1 Escopo Proposto 30 4 Solução Proposta 4.1 Escopo Proposto Neste trabalho propomos um arcabouço genérico que permite implementar leques de serviços baseados na Simulação de Monte Carlo, utilizando o ambiente de computação

Leia mais

EXIN Cloud Computing Fundamentos

EXIN Cloud Computing Fundamentos Exame Simulado EXIN Cloud Computing Fundamentos Edição Maio 2013 Copyright 2013 EXIN Todos os direitos reservados. Nenhuma parte desta publicação pode ser publicado, reproduzido, copiado ou armazenada

Leia mais

Relatório de Piloto Tecnológico Plataforma de Cloud Privada baseada em OpenStack Março 2015

Relatório de Piloto Tecnológico Plataforma de Cloud Privada baseada em OpenStack Março 2015 Relatório de Piloto Tecnológico Plataforma de Cloud Privada baseada em OpenStack Março 2015 Resumo Executivo: A Inok realizou uma instalação piloto para analisar as funcionalidades, características técnicas,

Leia mais

Apresentação resumida

Apresentação resumida New Generation Data Protection Powered by AnyData Technology Apresentação resumida Para obter apresentação completa ou mais informações ligue (11) 3441 0989 ou encaminhe e-mail para vendas@dealerse.com.br

Leia mais

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br

Sistemas Distribuídos. Introdução. Edeyson Andrade Gomes. www.edeyson.com.br Sistemas Distribuídos Introdução Edeyson Andrade Gomes www.edeyson.com.br SUMÁRIO Definições Características Desafios Vantagens Desvantagens 2 Definições DEFINIÇÕES Um sistema distribuído é uma coleção

Leia mais

Proteção de ambientes VMware vsphere/esx com Arcserve

Proteção de ambientes VMware vsphere/esx com Arcserve Proteção de ambientes VMware vsphere/esx com Arcserve Desafios do cliente Hoje em dia, você enfrenta desafios como acordos de nível de serviço exigentes e limitações de equipe e orçamento. Você procura

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V

GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V 1- Visão Geral Neste manual você aprenderá a instalar e fazer a configuração inicial do seu firewall Netdeep

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais

Acelere o valor da computação em nuvem com a IBM

Acelere o valor da computação em nuvem com a IBM Acelere o valor da computação em nuvem com a IBM Obtenha soluções em nuvem comprovadas para as suas prioridades mais urgentes Destaques da solução Saiba sobre os benefícios mais comuns de implementações

Leia mais

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS

Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS Naomi - GT8 HARDWARE & SISTEMAS DISTRIBUÍDOS INTEGRANTES Aniel Cruz Claudio Sant Anna José Eurique Ribeiro Roberto Nou HARDWARE & SISTEMAS DISTRIBUÍDOS Clusters Conceito; Desempenho, Disponibilidade, Balanceamento

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Proteção de ambientes Citrix XenServer com Arcserve

Proteção de ambientes Citrix XenServer com Arcserve Proteção de ambientes Citrix XenServer com Arcserve Desafios do cliente Hoje em dia, você enfrenta desafios como acordos de nível de serviço exigentes e limitações de equipe e orçamento. Você procura maneiras

Leia mais

Virtualização de Software

Virtualização de Software UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO DE SISTEMAS DE INFORMAÇÃO Virtualização de Software Luana Sandrini Saft Trabalho de conclusão de curso

Leia mais

Virtualização: VMWare e Xen

Virtualização: VMWare e Xen Virtualização: VMWare e Xen Diogo Menezes Ferrazani Mattos Professor: Otto Carlos Disciplina: Redes I Universidade Federal do Rio de Janeiro POLI/COPPE 1 Introdução Virtualização Divisão da máquina física

Leia mais

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES

INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES Sistema de Informação e Tecnologia FEQ 0411 Prof Luciel Henrique de Oliveira luciel@uol.com.br Capítulo 5 INFRAESTRUTURA DE TI E TECNOLOGIAS EMERGENTES PRADO, Edmir P.V.; SOUZA, Cesar A. de. (org). Fundamentos

Leia mais

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Professora: Sheila Cáceres Computador Dispositivo eletrônico usado para processar guardar e tornar acessível informação. Tópicos de Ambiente

Leia mais

Proteção de ambientes Microsoft Hyper-V 3.0 com Arcserve

Proteção de ambientes Microsoft Hyper-V 3.0 com Arcserve Proteção de ambientes Microsoft Hyper-V 3.0 com Arcserve Desafios do cliente Hoje em dia, você enfrenta desafios como acordos de nível de serviço exigentes e limitações de equipe e orçamento. Você procura

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Imagem Gustavo Santos. Observe Bombinhas SC.

Imagem Gustavo Santos. Observe Bombinhas SC. Imagem Gustavo Santos. Observe Bombinhas SC. 1 2 1. Uma nova modalidade de prestação de serviços computacionais está em uso desde que a computação em nuvem começou a ser idealizada. As empresas norte-

Leia mais

Alex D. Camargo, Érico M. H. Amaral, Leonardo B. Pinho

Alex D. Camargo, Érico M. H. Amaral, Leonardo B. Pinho COMISSÃO REGIONAL DE ALTO DESEMPENHO / RS ESCOLA REGIONAL DE ALTO DESEMPENHO / RS 15ª Edição - Abril / 2015 Framework open source simplificado para Cloud Computing Alex D. Camargo, Érico M. H. Amaral,

Leia mais

TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES

TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES 1 MEC SETEC SERVIÇO PÚBLICO FEDERAL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MATO GROSSO CAMPUS CUIABÁ DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES

Leia mais