• Nenhum resultado encontrado

Com a populariza¸c˜ao da t´ecnica de virtualiza¸c˜ao, surgiram diversos softwares que implementam essa t´ecnica. Nas pr´oximas se¸c˜oes ser˜ao descritos os softwares monitores de m´aquinas virtuais mais conhecidos e utilizados.

4.2.1 VMware ESX

O VMware ESX ´e o software monitor de m´aquina virtual desenvolvido pela empresa VMware. Esse trabalha de maneira diferente da maioria dos softwares monitores de m´aquina virtual, pois ele ´e executado a partir do seu pr´oprio sistema operacional, que foi desenvolvido baseado no Linux4. Dessa forma, ao ligar o

computador, o VMware ESX ´e executado logo ap´os a inicializa¸c˜ao do sistema operacional hospedeiro, sendo poss´ıvel, ent˜ao, gerenciar todas as m´aquinas virtuais (VMWARE, 2009c).

Por possuir um kernel pr´oprio, chamado de VMkernel, o VMware ESX possui suporte as t´ecnicas de virtualiza¸c˜ao total e de paravirtualiza¸c˜ao5. Al´em disso, o VMware ESX pode ser utilizado em conjunto outras ferramentas da VMware, como, por exemplo, o VMware vSphere.

O VMware ESX ´e um software propriet´ario da VMware6. Entretanto, existe uma

vers˜ao gratuita dele, chamada VMware ESXi. O VMware ESXi possui as mesmas funcionalidades que o VMware ESX, exceto um console de gerenciamento gr´afico. Dessa forma, todo o gerenciamento das m´aquinas virtuais deve ser feito atrav´es da linha de comando do sistema operacional (VMWARE, 2009d).

4O XenServer, da empresa Citrix, tem um funcionamento semelhante ao do VMware ESX. 5Como j´a citado anteriormente, a paravirtualiza¸ao s´o pode ser utilizada quando o sistema operacional h´ospede for alterado de forma a prover suporte `a essa funcionalidade.

4.2.2 Xen

Como citado anteriormente, o Xen ´e o software monitor de m´aquina virtual da empresa Citrix. Esse foi desenvolvido sob a licen¸ca GPL para a plataforma Linux. No momento que o Xen ´e instalado em um sistema operacional hospedeiro, o kernel desse ´e atualizado para uma vers˜ao espec´ıfica que contenha o hipervisor Xen. Dessa forma, o Xen ´e inicializado junto com o sistema operacional hospedeiro (XEN, 2009). O Xen foi implementado com a t´ecnica de paravirtualiza¸c˜ao, portanto, o sistema operacional que ser´a utilizado nas m´aquinas virtuais h´ospedes dever´a ser alterado para que exista suporte a essa t´ecnica. Al´em disso, o sistema operacional hospedeiro tamb´em dever´a implementado de forma a ter suporte para essa t´ecnica7.

Al´em do Xen, a Citrix possui outro software que pode ser utilizado para o desenvolvimento de m´aquinas virtuais chamado XenServer. Esse trabalha de forma similar ao VMware ESX, ou seja, ele ´e executado a partir do seu pr´oprio sistema operacional, desenvolvido baseado no Linux, utilizando-se do Xen para o gerenciamento das m´aquinas virtuais(CITRIX, 2009b).

O XenServer ´e disponibilizado de forma gratuita. Al´em disso, a Citrix comercializa uma ferramenta chamada Citrix Essentials que adiciona funcionalidades ao XenServer, como, por exemplo, balanceamento de carga e provisionamento sob demanda.

4.2.3 KVM

O KVM (Kernel-based Virtual Machine) ´e um software monitor de m´aquina virtual desenvolvido sob licen¸ca GPL para a plataforma Linux. Esse ´e executado no sistema operacional como um processo e utiliza-se de outros softwares para o desenvolvimento das m´aquinas virtuais, como, por exemplo, o QEMU que ´e respons´avel pela emula¸c˜ao de um processador (KVM, 2009).

O KVM foi implementado com a t´ecnica de virtualiza¸c˜ao total, portanto, qualquer sistema operacional pode ser utilizado nas m´aquinas virtuais h´ospedes. Entretanto, o KVM somente pode ser utilizado em computadores que possuam processadores que tenham suporte a virtualiza¸c˜ao. Como os processadores com suporte a virtualiza¸c˜ao come¸caram a ser comercializados recentemente, essa restri¸c˜ao acaba, por muitas vezes, impedindo a populariza¸c˜ao do KVM.

Futuramente, o KVM tamb´em ir´a contar com suporte a paravirtualiza¸c˜ao, bem como poder´a ser utilizado para a cria¸c˜ao de novas m´aquinas virtuais em sistemas operacionais que estejam sendo executados em m´aquinas virtuais h´ospedes.

7Em <http://wiki.xensource.com/xenwiki/DistributionSupport > pode ser encontrada uma lista das distribui¸c˜oes Linux que possuem suporte ao Xen.

4.3

Considera¸c˜oes Finais

Neste cap´ıtulo, foi feito uma breve descri¸c˜ao sobre virtualiza¸c˜ao, uma vez que essa ´e principal t´ecnica utilizada na constru¸c˜ao de uma infra-estrutura de uma nuvem computacional e ser´a a base para o desenvolvimento do ambiente proposto neste trabalho. Inicialmente, foi realizada uma defini¸c˜ao de virtualiza¸c˜ao. Depois, foram demonstrados os tipos existentes de m´aquinas virtuais. Al´em disso, foram apresentadas algumas vantagens e desvantagens da utiliza¸c˜ao de virtualiza¸c˜ao em ambientes de computa¸c˜ao nas nuvens. Por fim, foram apresentados alguns softwares monitores de m´aquinas virtuais. Para maiores informa¸c˜oes sobre virtualiza¸c˜ao sugere-se (CARISSIMI, 2009) e (SILVA, 2009).

A utiliza¸c˜ao de virtualiza¸c˜ao com computa¸c˜ao nas nuvens deve-se ao fato de que, a partir dessa, pode-se obter um melhor aproveitamento dos recursos de hardware, diminuindo dessa forma a ociosidade. Al´em disso, a virtualiza¸c˜ao permite que a infra-estrutura da nuvem ofere¸ca diferentes ambientes utilizando a mesma estrutura f´ısica. No pr´oximo cap´ıtulo ser´a descrita a plataforma de computa¸c˜ao nas nuvens desenvolvido nesse trabalho. Nele ser˜ao descritas as caracter´ısticas e detalhes da implementa¸c˜ao.

5

PROJETO

DE

UM

AMBIENTE

COMPUTACIONAL

BASEADO

EM

CLOUD

COMPUTING

Nos cap´ıtulos anteriores, foram descritas algumas caracter´ısticas necess´arias para o desenvolvimento de uma nuvem computacional. Nesse cap´ıtulo ´e descrita a infra- estrutura desenvolvida. Na Se¸c˜ao 5.2 ser´a descrita a implementa¸c˜ao desse ambiente. Al´em disso, na Se¸c˜ao 5.3 ser˜ao apresentados os testes realizados nesse ambiente. Por fim, na Se¸c˜ao 5.4 ser´a apresentado o software AppScale, que foi desenvolvido pelo laborat´orio RACELab, da Universidade de Santa Barbara e possui o objetivo de aproveitar o potencial dispon´ıvel em uma nuvem computacional.

Documentos relacionados