Ciclo 2 - Relatório final » History » Version 10

Beraldo Leal, 27 Apr 2012 15:06

1 1 Beraldo Leal
h1. Ciclo 2 - Relatório final
2 2 Beraldo Leal
3 2 Beraldo Leal
h2. Resumo
4 2 Beraldo Leal
5 3 Beraldo Leal
O conceito de computação em nuvem (em inglês, cloud computing) refere-se à utilização da memória, capacidade de armazenamento e poder computacional dos computadores interligados por meio da Internet, seguindo o princípio da computação em grade. Com a subutilização destes recursos computacionais em equipamentos modernos, surgiu a necessidade de compartilhar recursos de forma isolada, tornando assim uma máquina física em várias máquinas virtuais, cada uma servindo para um determinado propósito e com seus recursos bem definidos, tentando obter o máximo de aproveitamento dos recursos computacionais.
6 2 Beraldo Leal
7 3 Beraldo Leal
Prover uma infraestrutura de máquinas virtuais para clientes de forma escalável é hoje uma necessidade mundial e um desafio tecnológico. Este relatório tem por objetivo exibir as características e requisitos necessários para instalar e configurar uma infraestrutura de Cloud para prover máquinas virtuais aos usuários do projeto EduCloud.
8 4 Beraldo Leal
9 4 Beraldo Leal
h2. Introdução
10 4 Beraldo Leal
11 9 Beraldo Leal
O projeto EduCloud é uma iniciativa da Universidade Estadual Paulista - UNESP, em parceria com a secretaria de educação do estado de São Paulo, Intel e ACCEPT. Esta iniciativa visa fornecer uma infraestrutura de computação em nuvem para hospedar sistemas de apoio ao ensino para as Universidades e Escolas públicas do Brasil.
12 5 Beraldo Leal
13 8 Beraldo Leal
A maior vantagem da computação em nuvem é a possibilidade de utilizar softwares sem que estes estejam instalados no computador. Mas há outras vantagens[1]:
14 5 Beraldo Leal
15 5 Beraldo Leal
* na maioria das vezes o usuário não precisa se preocupar com o sistema operacional e hardware que está usando em seu computador pessoal, podendo acessar seus dados na "nuvem computacional" independentemente disso;
16 5 Beraldo Leal
* as atualizações dos softwares são feitas de forma automática, sem necessidade de intervenção do usuário;
17 5 Beraldo Leal
* o trabalho corporativo e o compartilhamento de arquivos se tornam mais fáceis, uma vez que todas as informações se encontram no mesmo "lugar", ou seja, na "nuvem computacional";
18 5 Beraldo Leal
* os softwares e os dados podem ser acessados em qualquer lugar, bastando que haja acesso à Internet, não estando mais restritos ao ambiente local de computação, nem dependendo da sincronização de mídias removíveis.
19 5 Beraldo Leal
* o usuário tem um melhor controle de gastos ao usar aplicativos, pois a maioria dos sistemas de computação em nuvem fornece aplicações gratuitamente e, quando não gratuitas, são pagas somente pelo tempo de utilização dos recursos. Não é necessário pagar por uma licença integral de uso de software;
20 5 Beraldo Leal
* diminui a necessidade de manutenção da infraestrutura física de redes locais cliente/servidor, bem como da instalação dos softwares nos computadores corporativos, pois esta fica a cargo do provedor do software em nuvem, bastando que os computadores clientes tenham acesso à Internet;
21 1 Beraldo Leal
* a infraestrutura necessária para uma solução de cloud computing é bem mais enxuta do que uma solução tradicional de hosting ou collocation, consumindo menos energia, refrigeração e espaço físico e consequentemente contribuindo para preservação e uso racional dos recursos naturais.
22 1 Beraldo Leal
23 8 Beraldo Leal
Para implementar uma infraestrutura de nuvem, o Núcleo de Computação Ciêntifica - NCC, da UNESP pesquisou as principais ferramentas livres[2] do mercado para que juntas, executem esta tarefa. 
24 8 Beraldo Leal
25 8 Beraldo Leal
Para prover uma infraestrutura de nuvem, precisamos atender as seguintes necessidades:
26 8 Beraldo Leal
27 8 Beraldo Leal
# Disponibilizar máquinas virtuais de acordo com a demanda de forma automática e rápida, com diferentes configurações de memória, disco e cpu;
28 8 Beraldo Leal
# Disponibilizar para estas máquinas virtuais, unidades de armazenamento de dados;
29 8 Beraldo Leal
# Ter um controle de acesso de usuários e grupos que podem utilizar estes recursos, bem como, uma "quota" de recursos por usuário/grupo;
30 8 Beraldo Leal
# Armezar as máquinas virtuais e os dados de forma descentralizada, permitindo assim escalar facilmente;
31 1 Beraldo Leal
32 9 Beraldo Leal
Alguns softwares existem para suprir estas necessidades. No capítulo 1 falaremos sobre o projeto OpenStack[3], responsável por disponibilizar uma infraestrutura de máquinas virtuais e unidades de armazenamento para as máquinas virtuais. No capítulo 2 falaremos sobre o projeto Hadoop[4], responsável por *[preencher aqui]*. No capítulo 5, falaremos sobre os balanceadores de conexões e de máquinas virtuais, fundamental para balancear a carga da nuvem entre os nós "workers", no capítulo 6 falaremos sobre o OCCI[5], uma interface de comunicação entre os serviços de cloud.
33 1 Beraldo Leal
34 10 Beraldo Leal
h2. OpenStack
35 9 Beraldo Leal
36 10 Beraldo Leal
O OpenStack é uma coleção de projetos "open source" que servem para executar uma infraestrutura de computação em nuvem e armazenamento distribuído. A empresa Rackspace[6] e a NASA[7] são os principais contribuidores do conjunto de projetos. Hoje o consórsio possui mais de 100 membros, dentre as principais temos: rackspace, AT&T, NASA, DreamHost, Safew Labs, Citrix, Dell, AMD, Intel, Canonical, Yahoo e HP. O projeto mantém uma página[8] com uma lista dos principais contribuidores do projeto.
37 10 Beraldo Leal
38 10 Beraldo Leal
No OpenStack, existem 3 principais componentes:
39 10 Beraldo Leal
40 10 Beraldo Leal
* Compute Infrastructure (Nova)
41 10 Beraldo Leal
42 10 Beraldo Leal
Nova é um controlador de poder computacional para o OpenStack. Todas as atividades necessárias durante o ciclo de vida de uma instância (uma máquina virtual sendo executada) com o OpenStack são gerenciadas pelo Nova. Isto faz do Nova uma plataforma de gerenciamento que gerencia recursos computacionais, rede, autorização e escabilidade. O Nova não provê nenhuma funcionalidade de virtualização por si só; ele usa a interface libvirt[9] para interagir com os hypervisors[10] suportados.
43 10 Beraldo Leal
44 10 Beraldo Leal
* Storage Infrastructure (Swift)
45 10 Beraldo Leal
46 10 Beraldo Leal
* Imaging Service (Glance)
47 10 Beraldo Leal
48 10 Beraldo Leal
49 6 Beraldo Leal
h2. Referências
50 6 Beraldo Leal
51 6 Beraldo Leal
# "O que é computação em nuvem?":http://www.infowester.com/cloudcomputing.php
52 1 Beraldo Leal
# "Definição de software livre":http://www.gnu.org/philosophy/free-sw.html
53 9 Beraldo Leal
# http://www.gnu.org/philosophy/free-sw.html
54 9 Beraldo Leal
# "Projeto Hadoop":http://hadoop.apache.org/
55 9 Beraldo Leal
# "Open Cloud Compute Interface - OCCI":http://occi-wg.org/
56 10 Beraldo Leal
# "Rackspace":http://rackspace.com/
57 10 Beraldo Leal
# "Nasa":http://www.nasa.gov/
58 10 Beraldo Leal
# "OpenStack - Empresas Participantes":http://www.openstack.org/community/companies/
59 10 Beraldo Leal
# "The virtualization API":http://libvirt.org/
60 10 Beraldo Leal
# "Hypervisor":http://en.wikipedia.org/wiki/Hypervisor