BRUNO SOUZA DE MARIA RODRIGO ALVES NORONHA TELHADO RONALDO FUSCO JR
Rio de Janeiro 2011
VIRTUALIZAO DE SISTEMAS COMPUTACIONAIS
POR BRUNO SOUZA DE MARIA RODRIGO ALVES NORONHA TELHADO RONALDO FUSCO JR
Trabalho de Concluso de Curso Apresentado ao Centro Universitrio Carioca, como requisito para Concluso do curso de Tecnologia Em Sistemas de Informao.
Orientador: Prof. Rogrio Malheiros dos Santos
Rio de Janeiro 2011
Maria, Bruno Souza de Virtualizao de sistemas computacionais / Bruno Souza de Maria, Rodrigo Alves Noronha Telhado e Ronaldo Fusco Junior. Rio de Janeiro, 2011. 50f.
Orientador: Rogrio Malheiros dos Santos Trabalho de Concluso de Curso (Tecnlogo em Anlise de Desenvolvimento de Sistemas.) Centro Universitrio Carioca, 2011.
1. Virtualizao. 2. Mquinas virtuais. 3. Sistemas operacionais. 4. Emuladores. 5. Computao em nuvem. 6. TI verde. I. Telhado, Rodrigo Alves Noronha. II. Fusco Junior, Ronaldo. III. Santos, Rogrio Malheiros dos, Prof. Orient. IV.Ttulo.
CDU 004
VIRTUALIZAO DE SISTEMAS COMPUTACIONAIS
POR BRUNO SOUZA DE MARIA RODRIGO ALVES NORONHA TELHADO RONALDO FUSCO JR
Trabalho de Concluso de Curso Apresentado ao Centro Universitrio Carioca, como requisito para Concluso do curso de Tecnologia Em Sistemas de Informao.
Aprovada em 2011.
Banca Examinadora
Prof. Rogrio Malheiros dos Santos Orientador Centro Universitrio Carioca
Prof. Rosa Lidice de Moraes Valim Centro Universitrio Carioca
Aos familiares, professores e amigos Que nos auxiliaram a vencer esta jornada.
AGRADECIMENTOS
A Deus acima de tudo; minha esposa pela pacincia e compreenso; ao meu filho Marcello Bruno, principal motivao na minha vida, a Delphos Servios Tcnicos pelo apoio e custeio dos meus estudos e ao Prof. Rogrio Malheiros, pela orientao, reviso do trabalho e pelo tempo disponibilizado entre as suas atividades. Bruno Souza.
As nossas esposas que entenderam as horas de ausncia e acompanharam nosso crescimento. Ao Prof. Rogrio Malheiros, pela orientao, reviso do trabalho e pelo tempo disponibilizado entre as suas atividades. E a todos os amigos que ajudaram nesta difcil caminhada.
Que ningum se engane: s se consegue a simplicidade atravs de muito trabalho. Clarisse Lispector
RESUMO
A virtualizao de sistemas computacionais no um conceito novo (tem origens em 1959), contudo somente recentemente tem aumentado o interesse nesta tecnologia. Sua proposta a abstrao de recursos computacionais, escondendo as caractersticas fsicas dos utilizadores, expondo assim um hardware virtual, emulando os ambientes de forma que seja possvel que ele execute vrios sistemas ou aplicaes de forma simultnea e isoladamente. Com a virtualizao podemos maximizar o uso dos recursos computacionais, reduzindo perdas, levando a economia financeira e melhor aproveitamento de espao. Este trabalho tem como objetivo, apresentar conceitos, alguns softwares utilizados, caractersticas tcnicas, exemplos de utilizao e demonstraes de como a utilizao desta tecnologia colabora para conceitos como computao em nuvem e praticas sustentveis de produo.
Palavras-Chave: Virtualizao, Mquinas Virtuais, Sistemas Operacionais, Emuladores, Computao em Nuvem, TI Verde.
ABSTRACT
Computer system's virtualization is not a new concept (it has origins in 1959), yet only recently has been increasing interest in this technology. His proposal is the abstraction of computing resources, "hiding" the physical characteristics of users, thereby exposing a virtual hardware, emulating the environment so that it is possible to run multiple systems or applications simultaneously and separately. With virtualization we can maximize the use of computing resources, reducing losses, leading to financial savings and better utilization of space. This paper aims to present concepts, used some software, technical characteristics, usage examples and demonstrations of how this technology contributes to concepts such as cloud computing and sustainable production practices.
Keywords: Virtualization, Virtual Machines, Operating Systems, Emulators, Cloud Computing, Green IT.
Lista de Ilustraes
Figura 1 Representao do ambiente virtual ..........................................................14 Figura 2 Representao de um sistema computacional ........................................16 Figura 3 Representao de uma mquina virtual ...................................................16 Figura 4 Representao de uma mquina virtual clssica ou do tipo I ..................19 Figura 5 Representao de uma Mquina Virtual Clssica ou de Tipo II...............20 Figura 6 Representao Lgica de um sistema totalmente virtualizado.................22 Figura 7 Representao Lgica de um sistema paravirtualizado...........................23 Figura 8 Tecnologia Intel Virtualization...................................................................24 Figura 9 Tecnologia AMDVirtualization...................................................................24 Figura 10 Representao do Cloud Computing......................................................35 Figura 11 Acmulo de lixo eletrnico......................................................................39 Figura 12 Representao Virtualizao de Servidores...........................................41
Sumrio
Capitulo 1 Introduo..............................................................................................12 1.1 Objetivo do Trabalho ..............................................................................12 1.2 Organizao ...........................................................................................13 Capitulo 2 Conceito de Virtualizao......................................................................13 Capitulo 3 Maquina Virtual .....................................................................................15 3.1 Monitor de Mquinas Virtuais Hypervisor............................................17 3.2 Tipos de Mquinas Virtuais ...................................................................18 3.2.1 Mquinas Virtuais Clssicas ou de Tipo I.................................19 3.2.2 Mquinas Virtuais Hospedadas ou de Tipo II...........................20 3.2.3 Abordagens Hibridas................................................................21 Capitulo 4 Tcnicas de Virtualizao......................................................................22 4.1 Virtualizao Total ou Completa.............................................................22 4.2 Paravirtualizao....................................................................................23 4.3 Virtualizao Assistida por Hardware.....................................................24 Capitulo 5 Aplicaes..............................................................................................25 5.1 Vantagens...............................................................................................25 5.1.1 Treinamento..............................................................................27 5.1.2 Aplicaes legadas...................................................................27 5.1.3 Testes e Anlise de Aplicaes................................................28 5.1.4 Manuteno sem parada..........................................................29 5.1.5 Reduo de Gastos..................................................................29 5.2 Desvantagens.........................................................................................31 Capitulo 6 Cloud Computing (Computao em Nuvens).........................................33 Capitulo 7 TI Verde e Sustentabilidade ..................................................................39 7.1 Consolidao de Servidores ..................................................................40 Capitulo 8 Concluses.............................................................................................43 Capitulo 9 Referencias............................................................................................47
12 1 Introduo
Apesar de ser um assunto amplamente discutido hoje em dia, a virtualizao de sistemas computacionais no um tema novo. Este conceito foi publicado pela 1. vez por Christopher Strachey, em 1959 na Conferncia Internacional de Processamento da Informao realizada em Nova York na UNESCO, o que ele intitulou de Time Sharing Processing in Large Fast Computers. As primeiras implementaes incluem o IBM 7044 com o Sistema de Tempo Compartilhado desenvolvido pelo MIT (Massachusetts Institute of Technology) e no IBM 704, utilizando um Monitor de Mquinas Virtuais (Virtual Machine Monitor - VMM), tambm conhecido como Hypervisor, termo criado na dcada de 70. [Fonte adaptada. (2) MANFRIN, Alexander] O uso atual da virtualizao deve-se principalmente ao aumento da capacidade computacional e a grande gama de aplicaes e plataformas existentes hoje em dia, uma vez que a Virtualizao possibilita a interoperabilidade e portabilidade de vrios sistemas. Aliado a isso, aps a crise financeira de 2008, criou-se no mundo todo, uma crescente procura por tecnologias sustentveis, com custos reduzidos que permitisse as empresas, continuar seu crescimento e recuperao sem um aumento considervel de custos com infra-estrutura, equipamentos ou mo de obra especializada.
1.1 Objetivo do Trabalho
O presente trabalho consiste em apresentar as crescentes vantagens, (sem esquecer as desvantagens), do emprego de tecnologias de Virtualizao de Sistemas Computacionais, bem como servir de referencia inicial para estudantes neste tema e base para estudos mais profundos. No decorrer do trabalho, sero abordados alguns dos temas relacionados a Virtualizao e que assim como esta tecnologia, vem ganhando espao nos ltimos anos, so eles, Cloud computing (computao em nuvem) e sustentabilidade (TI Verde).
13 Demonstraremos ainda que as prticas de virtualizao esto amplamente associadas a sustentabilidade, visto que sendo o foco principal da virtualizao a reduo do hardware, o resultado um melhor gerenciamento dos recursos computacionais, visando economia e/ou reduo de espao, energia, produo de calor, resduos, manuteno e contribuindo para uma menor degradao ambiental
1.2 Organizao
O capitulo 1 mostra a introduo do trabalho juntamente com os objetivos e organizao do mesmo. No capitulo 2 apresentamos o conceito de virtualizao e mquinas virtuais. O capitulo 3 trata sobre as diferentes formas de virtualizao e maquinas virtuais. No capitulo 4 demonstraremos as tcnicas de virtualizao e as diferenas entre elas, expondo os pontos positivos e negativos de sua utilizao. O capitulo 5 trata das aplicaes mais comuns da virtualizao e expe suas diferenas, vantagens e desvantagens. O capitulo 6 trata de um assunto em voga no momento, Cloud computing ou computao em nuvem, que utiliza conceitos de virtualizao. No decorrer do capitulo 7, discorreremos sobre TI Verde e Sustentabilidade, dando nfase assim, sobre o motivo pelo qual adotar tcnicas de Virtualizao contribui para um menor impacto ambiental.
2 Conceito de Virtualizao.
Virtualizao a pratica ou tecnologia que simula um ambiente real, proporcionando a utilizao de diversos sistemas e aplicativos sem a necessidade de acesso fsico mquina na qual esto hospedados. Com isso reduz-se a relao de dependncia entre os recursos de computao, pois possibilita, por exemplo, a dissociao entre um aplicativo e o sistema operacional que ele utiliza, cada mquina virtual oferece um sistema computacional completo, similar mquina hospedeira. No existe dependncia de hardware nem regras quanto ao sistema ou aplicativo que pode ser utilizado em um ambiente emulado, a no ser as limitaes da prpria mquina virtual.
14 Desta forma um ambiente computacional virtual, um ambiente abstrato onde o hardware ou software no so realmente importantes, onde tecnologias vistas como separadas ou distintas, so capazes de existir ao mesmo tempo, utilizando os mesmos recursos, contudo de forma isolada, sem que fatores como compatibilidade de hardware ou verses de software sejam empecilhos. Tomemos como exemplo de virtualizao de hardware, o particionamento de disco. Um disco rgido algo fsico, pertencente ao hardware de um computador, contudo ao criar uma partio, estamos virtualizando parte da capacidade do disco original, fazendo com que o sistema operacional e o utilizador do sistema, enxerguem esse novo disco com as mesmas caractersticas do original. Em outro exemplo podemos supor uma situao em que o usurio de um computador aps migrar para o sistema operacional Windows Vista verifique que um de seus programas no compatvel com este SO e desta forma no pode mais ser utilizado. Uma soluo seria fazer o Downgrade do sistema operacional somente por culpa de um programa? A soluo seria a criao neste computador de uma maquina virtual que rode a verso anterior do sistema operacional, possibilitando o uso do programa desejado.
Figura 1 Representao do ambiente virtual Fonte: [http://www.baixaki.com.br]
15 Hoje em dia, quase todo equipamento capaz de fornecer virtualizao, sendo necessrio somente um software desenvolvido para transpor o ambiente fsico, sendo este software responsvel por emular o hardware necessrio, como exemplo temos o WMWARE e Sun Virtual Box. Com relao tambm a este assunto, nos ltimos anos aconteceram investimentos macios por parte de fabricantes de chips em suporte a virtualizao, recursos foram implantados diretamente nos processadores para proverem mecanismos e solues de melhora de desempenho e suporte a virtualizao.
3 Mquina Virtual.
O termo mquina virtual existe desde a dcada de 1960 e foi descrito a partir de um termo de sistema operacional que compreendia uma abstrao de software que enxerga um sistema fsico (mquina real). Mquina virtual o nome dado a um computador fictcio implementado atravs de software, e que executa programas e processos como um computador comum (real), criado por um programa de simulao. Sua memria, processador e outros recursos so virtualizados. Segundo (3) [POPEK e GOLDBERG, 1974], conceitualmente ainda, podemos definir uma mquina virtual como uma duplicata eficiente e isolada de uma mquina real. Citando (4) [LAUREANO 2006], Uma mquina virtual um computador fictcio A funcionalidade e o nvel de abstrao de uma mquina virtual encontram-se em uma posio intermediria entre uma mquina real e um emulador, de forma que os recursos de hardware e de controle so abstrados e usados pelas aplicaes O aparecimento do termo mquina virtual data do ano de 1967 quando pesquisadores da IBM desenvolveram o sistema CP-67 que permitia que um nico hardware da famlia 360 simulasse mltiplas mquinas lgicas menores e totalmente independentes entre si. Entretanto este termo permaneceu pouco conhecido at a metade dos anos 90, quando ressurgiu, sobretudo com o aparecimento de aplicaes voltadas a virtualizar recursos nos microcomputadores PC (Personal Computer) de plataforma Intel (arquitetura x86).
16 Um sistema computacional dividido basicamente em trs partes distintas, so elas: Hardware, software e aplicativos. O sistema operacional o responsvel pela ligao entre os aplicativos, utilizados pelos usurios, e o hardware, contudo h nisso um ponto que se tornou falho nos dias de hoje, em decorrncia da grande variedade de plataformas de sistemas operacionais. Algumas aplicaes somente executam sobre a plataforma para a qual a mesma foi escrita, tornando obrigatria a execuo de um sistema operacional por vez utilizando determinado hardware e somente as aplicaes escritas para este SO, tero acesso a este hardware.
Figura 2 Representao de um sistema computacional Fonte.: [http://soperativos.wordpress.com/2008/11/22/definicao-de-sistemas-operativos]
A utilizao de mquinas virtuais possibilita contornar essa dificuldade, pois permite. que diferentes aplicaes de diferentes plataformas executem ao mesmo tempo em um mesmo hardware. Podemos ter ento uma mquina virtual executando Windows, outra Linux, simultaneamente no mesmo computador, onde estes sistemas operacionais somente tero acesso ao hardware atravs da maquina virtual.
17
Figura 3 Representao de uma mquina virtual Fonte.: [http://www.ldtech.com.br/solutions.html]
Como dito por (5) [ROSENBLUM] embora as funcionalidades de cada mquina virtual sejam diferentes, todos compartilham atributos e benefcios em comum, tais como:
Compatibilidade do software: a mquina virtual fornece uma abstrao compatvel de modo que todo o software escrito para ela funcione. Isolamento: garante que os softwares executados em cada uma das mquinas virtuais e os da mquina real estejam totalmente isolados entre si. Encapsulamento: usado para manipular e controlar a execuo do software na mquina virtual.
Outra importante categoria de mquinas virtuais so as mquinas virtuais para computadores fictcios projetados para uma finalidade especfica, que de acordo com (5) [Rosenblum 2004] no virtualiza um sistema real. Atualmente a mais importante mquina virtual desta famlia a JVM (mquina virtual Java). Existem simuladores para ela em quase todos os computadores atuais, desde computadores de grande porte at telefones celulares, o que torna as aplicaes Java extremamente portveis.
18 3.1 - Monitor de Mquinas Virtuais Hypervisor
O monitor de mquinas virtuais consiste em uma aplicao residente acima do hardware fsico e abaixo das mquinas virtuais. Ele responsvel por implementar uma camada de virtualizao que permite que mltiplos sistemas operacionais, diferentes e interdependentes, funcionem utilizando um mesmo hardware, fornecendo para cada mquina virtual uma copia virtual dos recursos fsicos do hospedeiro. o Monitor de Mquinas Virtuais, ou MMV que cria e gerencia os ambientes virtuais interpretando e emulando as instrues entre os convidados e o hospedeiro. Este aspecto definido por (4) [LAUREANO 2006] da seguinte forma:
As finalidades primrias de um sistema operacional so habilitar aplicaes a interagir com um hardware de computador e gerenciar recursos de hardware e software de um sistema. Por tal motivo, o monitor de mquinas virtuais pode ser definido como um sistema operacional para sistemas operacionais. Temos como principais funes do monitor de mquinas virtuais: Definir e o ambiente virtual utilizado pelas mquinas virtuais. Alterar o modo de execuo do sistema operacional convidado de privilegiado para no privilegiado, e vice-versa. Gerenciar acesso aos blocos de memria e discos destinados a mquina virtual. Intermediar as chamadas de sistemas e controlar o acesso a dispositivos. Escalonar o uso da CPU.
Segundo (3) [POPEK e GOLDBERG] trs caractersticas so imprescindveis em um monitor de mquinas virtuais, so elas:
Integridade: Todas as requisies aos recursos do hardware hospedado devem ser alocadas explicitamente pelo monitor. Eficincia: vital que um grande nmero de instrues do processador virtual sejam executadas diretamente pelo processador real, sem interveno do monitor, ficando para o MMV as instrues que no forem tratadas pelo processador real.
19 Equivalncia: O monitor deve prover um comportamento de execuo e funcionamento igual ao da plataforma que esta sendo virtualizada.
Deve-se levar em conta ainda caracteristicas tais como compatibilidade e desempenho. A compatibilidade fundamental para execuo de softwares legados e o desempenho e de extrema importancia para a execuo estvel do sistema operacional e aplicaes na mquina virtual.
3.2 - Tipos de Mquinas Virtuais
As mquinas virtuais so divididas em dois tipos, Mquinas Virtuais Clssicas ou tipo I e Mquinas Virtuais Hospedadas ou de tipo II: Tipo I: Sistema onde um monitor implementado entre o hardware e os sistemas hospedeiros. Tipo II: Neste tipo o referido monitor implementado como um processo do sistema operacional real (anfitrio).
3.2.1 Mquinas Virtuais Clssicas ou de Tipo I
Nesta estrutura, o monitor de mquinas virtuais implementado entre o hardware e os sistemas hospedados tambm chamados de sistemas guest ou guest systems. O monitor possui controle sobre o hardware e disponibiliza um ambiente virtual com comportamento de uma mquina fsica para cada mquina virtual que possibilita que cada sistema hospedado possa executar seu prprio sistema operacional e aplicaes, semelhante a um sistema convencional. O resultado um conjunto de computadores virtuais, executando sobre o mesmo sistema fsico, de forma interdependente e isolada.
20
Figura 4 Representao de uma Mquina Virtual Clssica ou de Tipo I Fonte.: [http://securityofficer.wordpress.com/2010/07/02/virtualizacao-de-sistemas- operacionais]
Um monitor deste tipo executa com a maior prioridade sobre os sistemas convidados de forma que ele pode interceptar e emular todas as operaes que acessam ou manipulam os recursos de hardware provenientes dos sistemas convidados. Este modelo de mquina virtual fornece um maior controle, flexibilidade e desempenho em um ambiente virtual, uma vez que o monitor de mquinas virtuais no esta sujeito s limitaes de um sistema operacional, contudo, vemos como desvantagem o fato de que este modelo pode apresentar problemas de portabilidade entre diferentes plataformas.
3.2.2 Mquinas Virtuais Hospedadas ou de Tipo II Neste modelo o monitor de mquinas virtuais (MMV), funciona sobre um sistema anfitrio, da mesma forma que um processo de sistema operacional. O monitor de mquina virtual do tipo II funciona de forma semelhante ao de Tipo I, a diferena que ele implementado entre o sistemas hospede e o sistema hospedeiro e simula todas as funes que o sistema hospedeiro controlaria.
21
Figura 5 Representao de uma Mquina Virtual Clssica ou de Tipo II Fonte.: [http://securityofficer.wordpress.com/2010/07/02/virtualizacao-de-sistemas- operacionais]
3.2.3 Abordagens Hibridas.
Dificilmente as mquinas virtuais do Tipo I e II so utilizadas em sua forma conceitual, nos dias de hoje, vrias otimizaes so inseridas em suas arquiteturas de forma a melhorar o desempenho nas aplicaes executadas nos sistemas hospedados. Como os pontos cruciais no que diz respeito ao desempenho de sistemas em mquinas virtuais, normalmente so referentes s operaes de I/O, as principais otimizaes dizem respeito a essas operaes. De acordo com (4) [LAUREANO 2006], quatro otimizaes merecem destaque, so elas:
Em monitores do Tipo I:
O sistema hspede acessa diretamente o hardware do hospedeiro. Para tal, necessrio que sejam feitas alteraes no ncleo do sistema hspede e no monitor.
22 Em monitores do Tipo II:
O sistema hspede acessa diretamente o sistema hospedeiro. Essa otimizao implementada pelo monitor, oferecendo partes da API do sistema hospedeiro para o sistema hspede. O sistema hspede acessa diretamente o hardware do sistema hospedeiro. Esta otimizao implementada em parte pelo monitor e pelo sistema hospedeiro, onde o monitor permite acesso direto a drivers de dispositivos fsicos do sistema hospedeiro. O monitor acessa diretamente o hardware. Neste caso o monitor tem seus prprios drivers de dispositivos, acessando o hardware com uma interface prpria (baixo nvel).
4 Tcnicas de Virtualizao
As tcnicas mais utilizadas para virtualizao atualmente so a virtualizao total ou completa, Paravirtualizao e virtualizao assistida por hardware, neste capitulo discorreremos sobre elas, de forma a frisar as diferenas entre cada tipo, bem como deixar claro o melhor ambiente de uso para cada uma.
4.1 Virtualizao Total ou Completa.
A tcnica de virtualizao total utilizada para permitir que qualquer software possa ser executado sem modificaes e realiza uma simulao completa do hardware da mquina de modo que qualquer sistema virtualizado possa ser executado.
23
Figura 6 Representao Lgica de um sistema totalmente virtualizado. Fonte.: [http://www.gta.ufrj.br/grad/08_1/virtual/Virtualizaototalepara-virtualizao.html]
Porem, com este tipo de virtualizao h uma perda significativa de desempenho na maquina virtual. Acontece que o hardware totalmente virtualizado (Idntico), assim o VMM precisa implantar alternativas para que as operaes privilegiadas do sistema operacional sejam executadas. Um ponto importante que deve ser considerado que este tipo de virtualizao necessita obrigatoriamente de um hardware com caractersticas especficas uma vez que instrues de execuo privilegiada, como as de acesso a I/O (entrada e sada de dados), devem ser interceptadas e somente serem executadas de acordo com os critrios definidos pela VMM. Com o avano das pesquisas e desenvolvimento de novos Hypervisors, as dificuldades de desempenho da virtualizao total praticamente no existem mais. Atualmente, os processadores e outros dispositivos fsicos j tm recursos que facilitam a virtualizao.
24 4.2 Paravirtualizao.
A Tcnica de Paravirtualizao permite que o sistema convidado seja executado com uma reduo de desempenho muito pequena, ao contrrio do virtualizao total, uma vez que na Paravirtualizao o sistema convidado acessa ao hardware diretamente, esse acesso monitorado pela VMM que fornece ao sistema convidado os limites do sistema, tais como endereos de memria e endereamento de disco.
Figura 7 - Representao Lgica de um sistema paravirtualizado. Fonte.: [http://www.gta.ufrj.br/grad/08_1/virtual/Virtualizaototalepara-virtualizao.html]
O ponto negativo a necessidade de uma modificao no sistema convidado para a interao com o VMM seja mais eficiente, diminuindo a portabilidade, isto significa que no h como executar qualquer sistema de maneira direta.
25 4.3 Virtualizao assistida por hardware:
Este tipo de virtualizao implementa um assistente em um hardware especifico (conhecido como hardware assist) para suportar virtualizao de uma forma original (nativa). uma forma de melhorar a eficincia da Virtualizao de hardware. Trata-se de empregar nas CPUS componentes de hardware que ajudam a melhorar o desempenho de um ambiente de maquina virtual. Com o crescente uso da virtualizao por empresas e usurios domsticos, os fabricantes de processadores disponibilizaram em seus produtos componentes que ajudam a melhorar o desempenho de um ambiente de maquina virtual. Como exemplo temos as tecnologias Intel Virtualization VT-x e VT-i e AMD Virtualization (AMD-V). Contudo no s os processadores que precisam ter suporte a virtualizao. As placas mes tambm precisam suportar esses recursos.
Figura 8 Tecnologia Intel Virtualization Figura 9 Tecnologia AMD Virtualization Fonte.: < http://intel.com > Fonte.: < http://amd.com >
26 5 Aplicaes.
Neste capitulo mostraremos exemplos prticos de como o uso da virtualizao tem se revelado uma alternativa interessante em diversos paradigmas da computao, entre eles ensino e treinamento, uso de aplicaes legadas, testes e Analise de Aplicaes, manuteno sem parada e reduo de gastos.
5.1 Vantagens
Vantagens de todo o tipo so divulgadas em favor da virtualizao, as que mais chamam ateno so a relacionadas reduo de custos e a preocupao crescente com sustentabilidade e continuidade das empresas, como por exemplo, reduo do uso de energia, espao e mo de obra nos datacenters e por conseqncia um maior aproveitamento dos recursos de TI uma vez que podemos ter um ambiente de infra-estrutura, com servidores contendo servios de diretrio, servidores de e-mail, servidores de firewall e servidores de banco de dados em conjunto com um ambiente de desenvolvimento, com ferramentas de modelao, estruturao e desenvolvimento de softwares e at um ambiente com diversas ferramentas proprietrias de terceiros, como por exemplo, um ambiente onde se simule um software de ERP. Podemos confiantemente afirmar que as vantagens proporcionadas pela virtualizao de sistemas computacionais so tantas quanto s necessidades ou objetivos focados, uma vez que o prprio conceito baseado na abstrao e reduo de partes destes sistemas, interoperabilidade e portabilidade. Atravs da virtualizao podemos tratar de pontos sensveis em ambientes computacionais tais como: Autonomia de aplicativos: uma vez que cada aplicativo est inserido em seu prprio servidor virtual possvel evitar que upgrades e mudanas gerem impacto em toda rede e venham a comprometer a rotina de trabalho; Ganho de eficincia: a virtualizao permite apresentar produtos, servios e projetos ao mercado com maior agilidade, j que possvel obter ambientes baseados em mquinas virtuais com configurao totalmente independente da configurao da mquina hospedeira;
27 Conformidade ideal: vrias tecnologias de sistemas operacionais podem coexistir em uma nica plataforma. Ou seja, possvel haver sistemas Windows e Linux coabitando o mesmo espao, o que uma grande vantagem para as empresas que vm renovando sua infra-estrutura de TI ao longo dos anos.
De acordo com (4) [LAUREANO 2006], existem vrias vantagens para a utilizao de mquinas virtuais em sistemas de computao, tais como:
Facilitar o aperfeioamento e testes de novos sistemas operacionais. Auxiliar no ensino prtico de sistemas operacionais e programao ao permitir a execuo de vrios sistemas para comparao no mesmo equipamento. Executar diferentes sistemas operacionais sobre o mesmo hardware, simultaneamente. Simular configuraes e situaes diferentes do mundo real, como, por exemplo, mais memria disponvel ou a presena de outros dispositivos de E/S. Simular alteraes e falhas no hardware para testes ou reconfigurao de um sistema operacional, provendo confiabilidade e escalabilidade para as aplicaes. Garantir a portabilidade das aplicaes legadas (que executariam sobre uma mquina virtual simulando o sistema operacional original). Desenvolvimento de novas aplicaes para diversas plataformas, garantindo a portabilidade dessas aplicaes. Diminuio de custos com hardware, utilizando a consolidao de servidores. Facilidades no gerenciamento, migrao e replicao de computadores, aplicaes ou sistemas operacionais. Prover um servio dedicado a um cliente especfico com segurana e confiabilidade.
28 5.1.1 Ensino e Treinamento.
A virtualizao pode ter excelente emprego na rea de ensino. O uso de mquinas virtuais torna o processo de ensino bastante prtico e a custo reduzido, garantindo um ambiente uniforme e vedado a falhas ocasionadas por testes e uso descuidado. Temos como exemplo prtico matrias que em nossa formao nesta instituio de ensino so ministradas em ambientes virtualizados. Uma vez que vrias plataformas e configuraes so utilizadas, sem o uso da virtualizao, seriam necessrios vrios laboratrios, com hardware e software especifico para cada matria ou abordagem, somando a isso a necessidade de mo de obra especializada para manuteno de cada um destes cenrios, uma vez que este ambiente seria degradado com o tempo uma vez que comum acontecerem diversos problemas, tais como: necessidade de reinstalao do sistema operacional e aplicativos, dificuldade de se restaurar configuraes padro, alterao e esquecimento de senhas (como a de administrador), arquivos apagados de forma acidental, etc. Problemas como estes podem ser facilmente resolvidos com o uso dos conceitos de virtualizao.
5.1.2 Aplicaes Legadas
Vemos hoje em dia que grande parte das instituies utiliza aplicaes legadas em seus sistemas de misso critica, que so aplicaes que no podem ser migradas ou modificadas devido a fatores como oramento elevado, falta de suporte por parte do fabricante, produtos descontinuados, falta de desenvolvedores especializados em linguagens mais antigas. Podemos utilizar a virtualizao para mover estas aplicaes para sistemas e ambientes mais atuais, ou melhor estruturados de acordo com a atualizao do Data Center da empresa de forma que possuam um melhor aproveitamento de recursos de hardware e um melhor gerenciamento. A virtualizao simplifica a migrao de aplicaes legadas em novas plataformas. Em casos em que a nova plataforma no suporta a execuo das aplicaes legadas. A aplicao pode ser hospedada com seu sistema operacional (para qual foi desenvolvido originalmente) em uma mquina virtual executando sobre a nova plataforma, sem nenhuma necessidade de alterao no software.
29 Normalmente um hardware novo fica subutilizado quando dedicado a executar aplicaes legadas, a consolidao das aplicaes legadas atravs da virtualizao tambm oferece um melhor aproveitamento do novo hardware, pois permite que uma nica estao execute vrias instncias de aplicaes legadas simultaneamente. Por fim, movendo aplicaes legadas para sistemas virtuais eliminamos os riscos de problemas de compatibilidade e de execuo simultnea, porque elas estaro confinadas s suas respectivas mquinas virtuais, completamente isoladas das novas aplicaes e dos novos sistemas operacionais.
5.1.3 Testes e Analise de Aplicaes
No desenvolvimento de aplicaes, um dos requisitos para manter a qualidade do produto a necessidade de se realizar testes e validaes, para tanto, necessrio um ambiente controlado e compatvel com o ambiente final de execuo do software. Utilizando o recurso de virtualizao podemos criar mquinas virtuais para fazer os devidos testes de sistemas, sem expanso significativa de hardware e recursos fsicos ou de se realizar testes em ambiente de produo, correndo-se o risco de comprometer a integridade de dados vitais, uma vez que o ambiente virtualizado mantm-se totalmente vedado. Desta forma, caso ocorra uma falha, o ambiente pode ser restaurado, e as dificuldades de implementao podem ser conhecidas antecipadamente, fornecendo maior flexibilidade e identificando rapidamente conflitos potenciais. A virtualizao fornece o mecanismo para modelar diferentes ambientes e experimentar diferentes cenrios. Por exemplo, antes de implantar uma aplicao em produo, profissionais de TI podem criar uma instncia virtualizada do ambiente para assegurar interoperabilidade. Isso tambm gera familiaridade com as ferramentas e questes de gerenciamento de mquinas virtuais. [Fonte Adaptada: http://www.microsoft.com/brasil/servidores/virtualizacao/solution-issue- devtest.mspx]
30 5.1.4 Manuteno sem parada
A virtualizao permite a possibilidade de migrar de uma maquina virtual de um servidor fsico para outro sem que haja perda ou interrupo de servio. Caso haja necessidade de se efetuar a manuteno de servidores fsicos, pode-se consolidar diversos servios em outro equipamento, de forma que o servio no seja interrompido ou que seja necessrio adquirir outro equipamento para uso temporrio. Desta forma, ao trmino da manuteno ou adequao do equipamento o servio pode ser retomado, sem nus para a empresa e sem remanejamento de equipamento, espao ou mo de obra especializada em instalao e configurao de servidores. Alm disso, existe a possibilidade de efetuar backups de maquinas virtuais atravs de imagens que podero ser efetuadas automaticamente. [Fonte adaptada. Ver link: http://www.logicatecnologia.com.br/servicos.php]
5.1.5 Reduo de Gastos
Hoje em dia as empresas buscam cada vez mais a centralizao e diminuio do nmero de servidores fsicos em suas instalaes, com o intuito de reduzir a complexidade e economizar recursos. Imaginemos uma situao onde tivssemos que disponibilizar servios em vrios servidores diferentes sendo que cada servidor teria, conforme o servio, determinada quantidade de memria e espao em disco. Devemos considerar tambm que grande parte do tempo, estes servidores ficaro ociosos ou seu uso cai consideravelmente em determinados horrios. Esse cenrio tradicionalmente exigiria um grande investimento em infra-estrutura em computadores, espao fsico, rede, alm de gastos operacionais como energia eltrica, manuteno dos equipamentos e da rede, e administrao dos diversos sistemas e servios. Nesses casos a virtualizao uma grande alternativa, pois, ao invs de possuirmos vrios servidores fsicos, podemos possuir apenas alguns ou mesmo somente um, reduzindo drasticamente a complexidade.
31 Alm disso, haver tambm um melhor aproveitamento dos recursos computacionais segundo a revista INFO [INFO249], em recente estudo, somente 25% (vinte e cinco por cento) da capacidade instalada de TI utilizada em um ano. A reduo do custo total de propriedade e do custo operacional observa-se a diminuio do consumo de energia eltrica e reduo do impacto no meio ambiente, alm do que, com o nmero de servidores fsicos reduzidos, o espao fsico necessrio para abrig-los tambm ser reduzido, garantindo vantagens como economia em administrao, manuteno e refrigerao dos equipamentos. Para colocar essas economias em pratica, considere essas medies reais, que destacam o consumo de energia eltrica de dez servidores Web do IIS comparados com dez Servidores Virtuais do IIS.
Configurao de Servidor Mdia de Watts kWh/ano Custo Kg de CO2 IIS Autnomo x 10 5, 001 43, 839 $4, 007 34, 084 Um servidor com 10 VMs do IIS7 512 4, 490 $410 3, 491 Economia 4, 489 39, 349 $3, 597 30, 593
Para ilustrar os lucros obtidos com a virtualizao tomemos como exemplo o Departamento de TI Auxiliar da Universidade de Indiana, esse departamento gastava US$17.500 anualmente no aluguel de cinco racks para seu datacenter. Usando a tecnologia de virtualizao, reduziu o nmero de racks para dois, economizando US$10.500 anualmente somente em tarifas de racks de datacenter. Por fim, as empresas que centralizarem e diminurem o nmero de servidores fsicos podero aproveitar os seus equipamentos descartados para outras finalidades, alem de economizar muito, elas podem utilizar estes equipamentos, por exemplo, para aumentar a disponibilidade e segurana de seus sistemas, implantando solues de tolerncia falhas. [Fonte adaptada. Ver link: http://www.microsoft.com/virtualization/case-studies.mspx]
32 5.2 Desvantagens
As desvantagens so decorrentes, basicamente, do custo inicial de implantao, do ambiente virtualizado, e da contratao e/ou treinamento de pessoal para oper-lo. At meados de 2006 tnhamos a limitao tecnolgica dos processadores que no estavam preparados para fornecer a virtualizao de forma nativa, contudo esta limitao foi superada pelas tecnologias VT-x e VT-i da Intel e AMD Virtualization (AMD-V), conforme j mencionado anteriormente, que esto sendo constantemente aprimoradas com o lanamento de processadores cada vez mais orientados a virtualizao de forma nativa. Temos ainda a questo da compatibilidade de alguns perifricos como conexes USB, interfaces de rede e armazenamento. Para evitar surpresas, necessrio checar a lista de compatibilidade dos fabricantes de solues para virtualizao antes implementar alguma soluo com base em virtualizao. necessrio avaliar de forma cautelosa quais recursos fsicos sero necessrios para dar suporte a virtualizao dos processos. No se trata simplesmente de investir em equipamento barato, instalar os softwares necessrios e rodar a virtualizao. preciso levar em considerao a qualidade do equipamento oferecido a esta aplicao. De acordo com o fornecedor de software e solues de virtualizao VMWare [http://www.vmware.com/br/services/] Antes de propor um projeto com base em virtualizao, devemos avaliar pontos vitais como: segurana, gerenciamento e desempenho, conforme os seguintes aspectos:
Segurana: Segundo Neil Mcdonald, especialista de segurana da Gartner, hoje em dia, as mquinas virtuais so menos seguras que as mquinas fsicas justamente por causa do VMM. Este ponto interessante, pois se o sistema operacional hospedeiro tiver alguma vulnerabilidade, todas as mquinas virtuais que esto hospedadas nessa mquina fsica esto vulnerveis, j que o VMM uma camada de software, portanto, como qualquer software, est sujeito a vulnerabilidades.
33 Gerenciamento: Os ambientes virtuais necessitam ser instanciados, monitorados, configurados e salvos. Existem produtos que fornecem essas solues, mas esse o campo no qual esto os maiores investimentos na rea de virtualizao, justamente por se tratar de um dos maiores contra- tempos na implementao da virtualizao. Vale lembrar que softwares como o VMWare so plataforma flexveis, fceis de usar, mas que ainda apresentam falhas que comprometem a segurana, conforme dito no tpico acima. Desempenho: Atualmente, no existem mtodos consolidados para medir o desempenho de ambientes virtualizados. No entanto, a introduo de uma camada extra de software entre o sistema operacional e o hardware, o VMM ou Hypervisor, gera um custo de processamento superior ao que se teria sem a virtualizao. Outro ponto importante de ressaltar que no se sabe exatamente quantas mquinas virtuais podem ser executadas por processador, sem que haja o prejuzo da qualidade de servio.
Alm do custo do processo de virtualizao em si, existem outras dificuldades para a ampla utilizao de mquinas virtuais em ambientes de produo, so elas
Diversidade de equipamentos: Existe uma grande quantidade de equipamentos disponveis (caractersticas da arquitetura aberta do PC). Em uma execuo tradicional, o monitor teria de controlar todos esses dispositivos, o que requer um grande esforo de programao por parte dos desenvolvedores de monitores. Preexistncia de softwares: Ao contrrio de mainframes, que so configurados e controlados por administradores de sistema, os desktops e Workstations normalmente j vm com um sistema operacional instalado e pr-configurado, e que normalmente ajustado pelo usurio final. Nesse ambiente, extremamente importante permitir que um usurio possa utilizar a tecnologia das mquinas virtuais, mas sem perder a facilidade de continuar utilizando seu sistema operacional padro e aplicaes. [Fonte adaptada. Ver link: http://www.vmware.com/br/services]
34 A virtualizao tambm pode apresentar complicaes aos profissionais de TI, como por exemplo, manter um ambiente seguro. Pois ao implementar a virtualizao, o vnculo entre hardware e software eliminado, ou seja, pode ocasionar em confuso na hora de proteger a infra-estrutura. Qualquer tipo de varredura de vulnerabilidades pode se tornar obsoleta em questo de poucos minutos. Os custos de licenciamento tambm podem ser um problema, pois algumas licenas foram criadas para os ncleos de processador fsicos presentes na mquina.
6 Cloud Computing (Computao em Nuvens)
Neste capitulo, iremos tratar de uma tecnologia resultante do conceito de virtualizao o Cloud Computing, ou Computao em Nuvem. Este um assunto em que gera hoje grandes expectativas e que segundo alguns visionrios, como (8) [CAMBIUCCI, 2010] dizem que a Computao em Nuvens, ir mudar de forma significativa o modelo de estrutura computacional que temos hoje em dia e a forma como consumimos TI.
6.1 Conceito
Quando foi dito acima que se espera a Cloud Computing modifique o modelo de estrutura computacional que temos hoje em dia, temos em mente dois ambientes, o domstico e corporativo. No ambiente domstico os usurios instalam em seus computadores todos os programas que desejam utilizar, mesmo que estes softwares no sejam regularmente utilizados, armazenam dados em discos rgidos arquivos de diferentes tipos e gerenciam todo o contedo e sistema operacional localmente J no ambiente corporativo, a viso totalmente diferente, principalmente no que se refere infra-estrutura e disponibilidade de recursos. Os dados e os aplicativos so colocados em um servidor, onde os usurios tm acesso atravs da rede utilizando terminais que seguem as regras de acesso previamente estabelecidas.
35 A principal vantagem desses modelos est no fato de ser possvel, pelo menos na maioria das vezes, utilizar as aplicaes mesmo sem acesso internet ou rede. Entretanto, todos os dados gerados estaro restritos a esse computador, exceto quando compartilhados em rede, coisa que no muito comum no ambiente domstico. Contudo, Mesmo no ambiente corporativo, isso pode gerar algumas limitaes, como a necessidade de se ter uma licena de um determinado software para cada computador, por exemplo, gastando-se assim mais tempo e tornando a aplicao pouco distribuda. Cloud computing um termo usado para descrever um ambiente de computao baseado em uma rede massiva de servidores, sejam virtuais ou fsicos. A Computao em Nuvem pode ser visto como o estgio mais evoludo do conceito de virtualizao uma vez que prov uma melhor utilizao dos recursos computacionais, potencializando os conceitos de consolidao e virtualizao. Uma arquitetura em nuvem muito mais que apenas um conjunto enorme de computadores. Ele deve dispor de uma infra-estrutura de gerenciamento que inclua funes como provisionamento de recursos computacionais, balanceamento dinmico do workload (carga de trabalho) e monitorao do desempenho. Com a Cloud Computing, muitos aplicativos, assim como arquivos e outros dados relacionados, no precisam mais estar instalados ou armazenados no computador do usurio ou em um servidor prximo. Esse contedo passa a ficar disponvel nas "nuvens", isto , na internet. Ao fornecedor da aplicao cabe todas as tarefas de desenvolvimento, armazenamento, manuteno, atualizao, backup, escalonamento, etc. O usurio no precisa se preocupar com nada disso, apenas com acessar e utilizar. Um exemplo prtico desta nova realidade o Google Docs, servio onde os usurios podem editar textos, fazer planilhas, elaborar apresentaes de slides, armazenar arquivos, entre outros, tudo pela internet, sem necessidade de ter programas como o Microsoft Office ou OpenOffice.org instalados em suas mquinas. O que o usurio precisa fazer apenas abrir o navegador de internet e acessar o endereo do Google Docs para comear a trabalhar, no importando qual o sistema operacional ou o computador utilizado para esse fim.
36 Este trabalho um exemplo do uso desta ferramenta, uma vez que o documento no se encontra armazenado fisicamente nos computadores dos integrantes do grupo, cada um pode acessar a ltima verso do mesmo, sem que haja perigo de estar trabalhando em uma verso antiga, tambm h o recurso de que vrias pessoas possam estar trabalhando ao mesmo tempo no documento, e as alteraes resultantes so prontamente vistas pelas outras pessoas que esto interagindo no documento.
Figura 10 Representao do Cloud Computing [Fonte: http://www.albejane.com]
37 6.2 Modelos
No modelo de implantao, dependemos das necessidades das aplicaes que sero implementadas. A restrio ou abertura de acesso depende do processo de negcios, do tipo de informao e do nvel de viso desejado. Percebemos que certas organizaes no desejam que todos os usurios possam acessar e utilizar determinados recursos no seu ambiente de computao em nuvem. Segue abaixo a diviso dos diferentes tipos de implantao: Privado - As nuvens privadas so aquelas construdas exclusivamente para um nico usurio (uma empresa, por exemplo). Diferentemente de um data Center privado virtual, a infra-estrutura utilizada pertence ao usurio, e, portanto, ele possui total controle sobre como as aplicaes so implementadas na nuvem. Pblico - As nuvens pblicas so aquelas que so executadas por terceiros. As aplicaes de diversos usurios ficam misturadas nos sistemas de armazenamento, o que pode parecer ineficiente a princpio. Porm, se a implementao de uma nuvem pblica considera questes fundamentais, como desempenho e segurana, a existncia de outras aplicaes sendo executadas na mesma nuvem permanece transparente tanto para os prestadores de servios como para os usurios. Comunidade - A infra-estrutura de nuvem compartilhada por diversas organizaes e suporta uma comunidade especfica que partilha as preocupaes (por exemplo, a misso, os requisitos de segurana, poltica e consideraes sobre o cumprimento). Pode ser administrado por organizaes ou por um terceiro e pode existir localmente ou remotamente. Hbrido - Nas nuvens hbridas temos uma composio dos modelos de nuvens pblicas e privadas. Elas permitem que uma nuvem privada possa ter seus recursos ampliados a partir de uma reserva de recursos em uma nuvem pblica. Essa caracterstica possui a vantagem de manter os nveis de servio mesmo que haja flutuaes rpidas na necessidade dos recursos. A conexo entre as nuvens pblica e privada pode ser usada at mesmo em tarefas peridicas que so mais facilmente implementadas nas nuvens pblicas, por exemplo. O termo computao em ondas , em geral, utilizado quando se refere s nuvens hbridas.
38 6.3 Vantagens
A computao em nuvem pode fornecer velocidade implementao do aplicativo, inovar e diminuir custos. Tudo isso aumentando a agilidade dos negcios. uma tecnologia que promete transformar a forma como projetamos, construmos e distribumos softwares. Conforme dito por (9) [ALECRIM. 2010], uma das vantagens de utilizar computao em nuvem a possibilidade de utilizar aplicaes diretamente da internet, sem que haja a necessidade de instalar o software no computador do usurio. Mas, h outras vantagens de grande valor: O usurio pode acessar a aplicao independente de seu sistema operacional ou caractersticas de hardware; O usurio no precisa se preocupar com a estrutura para executar a aplicao: hardware, backup, segurana, manuteno, entre outros, ficam por responsabilidade do fornecedor do servio; Facilidade em compartilhar dados uma vez que todos os usurios acessam as aplicaes e os dados do mesmo lugar (a nuvem). Mesmo que algumas aplicaes necessitem da instalao um programa cliente em seu computador, todo ou a maior parte do processamento (e at mesmo do armazenamento de dados) fica por conta das "nuvens". O usurio no precisa saber de toda a estrutura que est por traz do servio oferecido, quantos servidores executam determinada ferramenta, quais as configuraes de hardware utilizadas, como o escalonamento feito, onde est a localizao fsica do data Center, etc. O importante ao usurio saber que a aplicao est disponvel nas nuvens, no importa de que forma. O usurio pode contar com melhor controle de gastos. Muitas aplicaes em Cloud Computing so gratuitas e, quando necessrio pagar, o usurio s o far em relao aos recursos que usar ou ao tempo de utilizao. No , portanto, necessrio pagar por uma licena integral de uso, tal como acontece no modelo tradicional de fornecimento de software. Dependendo da aplicao, o usurio pode precisar instalar um programa cliente em seu computador. Mas, neste caso, todo ou a maior parte do processamento (e at mesmo do armazenamento de dados) fica por conta das "nuvens".
39 Note que, independente da aplicao, com a Cloud Computing o usurio no necessita conhecer toda a estrutura que h por trs, ou seja, ele no precisa saber quantos servidores executam determinada ferramenta, quais as configuraes de hardware utilizadas, como o escalonamento feito, onde est a localizao fsica do datacenter, enfim. O que importa ao usurio saber que a aplicao est disponvel nas nuvens, no importa de que forma. Ao identificarmos estas vantagens, vemos que vrias delas dizem respeito aos benefcios relacionados com a virtualizao vistos nos captulos anteriores. A computao em nuvem (Cloud computing) ganha, a cada dia, mais espao nas empresas, principalmente nas reas de desenvolvimento, aplicativos menos crticos e servios. Mas ainda necessrio fortalecer a imagem de que a nuvem representa um item essencial aos negcios. o que tentam demonstrar os fornecedores desse tipo de servio.
6.4 Desvantagens
Pode ser difcil e custoso mover para as nuvens os aplicativos herdados. Seria melhor definir quais os aplicativos novos que devem ser movidos para as nuvens. Outra desvantagem fica a carga da questo de desempenho, isto , a velocidade fica condicionada ao tipo de conexo. bvio que os aplicativos ficam indisponveis caso a conexo caia. Tambm tem a questo da segurana e confiabilidade. Ainda necessrio melhorar a segurana e criar padres. Tambm importante rever os custos. O importante que seja cobrado pelo uso do software, e no por usurio. O uso de Cloud computing no pode substituir a infra-estrutura local uma vez que apenas um ambiente de computao elstica, ou seja, deve ser usado para fornecer dinamismo e ao mesmo tempo cortar recursos em empresas que no tenham uma estabilidade de requisies ao longo do tempo. Manter toda a infra-estrutura na nuvem pode tirar parte da autonomia que a empresa tem em relao configurao necessria para agentar um acesso mnimo de requisies.
40 7 TI Verde e Sustentabilidade.
Como dito no item 1.1 deste trabalho, demonstraremos como as prticas de virtualizao de sistemas computacionais esto amplamente associadas ao conceito de TI Verde e Sustentabilidade. TI VERDE nada mais do que a prtica sustentvel de produo, gerenciamento e descarte dos equipamentos eletrnicos, bem como economia de recursos e envolve desde a fabricao, se aproveitando de mtodos para produzir que sejam menos nocivos a natureza, como por exemplo, reduzir os nveis de substncias qumicas utilizadas para a produo dos equipamentos; aparelhos eletrnicos que consumam menos energia e etc. Podemos imaginar a quantidade imensa de lixo eletrnico (e-waste) que a rea de tecnologia produzira nos prximos anos. Segundo o IDC no ano de 2010, somente no Brasil foram vendidos 10,7 milhes de computadores, o que muito bom para a economia e mostra que o brasileiro aumentou seu poder de compra, contudo, daqui a 10 anos, para onde ir todo este equipamento?
Figura 11 Acmulo de lixo eletrnico [Fonte: http://oglobo.globo.com/blogs/tecnologia]
Temos que considerar ainda que vrios dos equipamentos eletrnicos levam em sua fabricao matrias altamente txicos e nocivos, tais como chumbo e mercrio, onde o descarte em aterros pode contaminar o solo, lenis freticos, ou mesmo os trabalhadores que fazem a remoo e manufatura de materiais descartveis, incinerar estes matrias tambm no uma boa idia.
41 No somente no descarte destes equipamentos a indstria de tecnologia impacta o meio ambiente, mas tambm em sua produo, visto que so utilizados vrios quilos de substancias txicas, combustveis fsseis, gua e eletricidade. Segundo as informaes do livro Computers and the Environment: Understanding and Managing their impacts [ONU, 2004], para a produo de um monitor CRT de 17 polegadas, so demandados 240 quilos de combustveis fosseis, 22 quilos de produtos qumicos e incrveis 1,4 mil litros de gua. Temos concorrentemente a todo esse cenrio de preocupao ambiental e busca por melhores prticas de gerenciamento de recursos e resduos, as crises que o mundo vem enfrentando, sejam elas energticas, climticas ou financeiras como a crise financeira de 2008 que pos em risco a continuidade de diversas empresas, de todos os portes e mercados. Essas experincias levaram as empresas a buscar solues mais eficientes tanto de produo, como de consumo e descarte e em tempos de crise, nada garante uma melhor continuidade do negcio do que reduzir gastos, e uma das melhores formas de reduo de custos a Virtualizao.
7.1 Consolidao de Servidores
Como j vimos em tpicos anteriores, o emprego de tcnicas de Virtualizao possibilita a reduo tanto de energia, quanto de espao e capital, reduzindo ainda o descarte de material e possibilitando um amplo aproveitamento de recursos que so subaproveitados. Virtualizar (Consolidar) servidores uma das formas mais utilizadas pelas empresas para economizar recursos e praticar TI verde. Como exemplo de uma das vantagens da Virtualizao aplicada ao conceito de TI Verde e sustentabilidade, podemos citar a seguinte situao: Um computador no qual opere um servidor de e-mails que pode chegar ao pice de utilizao em horrios de pico (como s 15h), tambm pode se aproximar da ociosidade durante a madrugada. Ou seja, e se esse tempo livre fosse utilizado para gerar relatrios? Haveria um melhor proveito do tempo com os processamentos livres.
42 Na teoria, surtiria a to desejada economia de recursos e na prtica, isso pode torna-se possvel atravs da virtualizao (6) [AMARAL, 2009].
Figura 12 Representao Virtualizao de Servidores [Fonte.: http://turmasi.blogspot.com]
Sabemos que uma empresa com um nmero pequeno de usurios deve possuir alguns servios mnimos em sua estrutura, como firewall, gateway, AD, o banco de dados em si, distribuio de link, servidor de e-mail, entre outros. Estima-se que para cada servio citado seja necessrio um hardware exclusivo, um servidor para cada servio. Cada servidor ligado representa em custos atuais um consumo da ordem de R$ 50,00/ms somente com a conta de energia eltrica, desconsiderando outros custos como manter as mquinas em temperatura adequada, onde so necessrios equipamentos de refrigerao que mais uma vez consomem energia eltrica, reposio de peas, etc. Quanto mais mquinas ligadas maior a necessidade de refrigerao e mais intensa a manuteno. fato que a energia eltrica, mesmo com todos os avanos voltados para gerar energia eltrica limpa, ainda um dos grandes viles antiecolgicos, seja pela emisso de carbono gerada na queima de combustveis para transformar a energia ou pela destruio ambiental causada pela inundao nos casos de hidroeltricas.
43 Em relao ao ambiente desta empresa fictcia, utilizando virtualizao pode-se ter em um nico hardware os servios de Gateway, Firewall, distribuio de rede e servidor de e-mail, que antes consumiam quatro mquinas independentes para o mesmo trabalho, reduzindo a complexidade de toda a estrutura e em uma conta rpida, podemos ter uma reduo de at 75% em espao e energia, somente com os servidores, em um espao fsico menor, o custo com refrigerao, iluminao e administrao tambm seria reduzido. Seguindo ainda este pensamento, com a capacidade de executar softwares de diferentes plataformas proporcionadas pela Virtualizao, temos um melhor aproveitamento do recurso computacional em servidores consolidados, uma vez que em determinados horrios ou dias estes ficam ociosos, estudos recentes demonstram que apenas 25% da capacidade de TI instalada utilizada. Atravs de informaes obtidas com simulador de virtualizao no site de TI verde da Microsoft [http://technet.microsoft.com/pt-pt/library/2009.gr.hypergreen(en- us).aspx], um ambiente formado por 200 servidores, cada um com sua fonte de alimentao e todos estes com servidores virtuais, faz com que a emisso de CO2 na atmosfera caia cerca de 150%. Na mesma situao, economizam-se 82% com aquisies futuras de hardware, 10% em refrigerao de ambiente e 8% de energia eltrica. Alm disso, minimiza-se o impacto de futuros descartes de equipamentos no meio ambiente. Esse tipo de soluo tem forte apelo nas empresas. O corte de custos uma conseqncia natural e o impacto ambiental comprovadamente menor. Utilizando-se da virtualizao, o usurio comum, tambm pode se beneficiar da virtualizao para reduo de emisses de carbono, resduos e custo, uma vez que a tecnologia de virtualizao no um privilgio somente das empresas, qualquer pessoa pode virtualizar seu disco rgido para melhor aproveitar o espao vago, bem como utilizar diferentes sistemas operacionais para executar aplicaes legadas.
44 8 Concluses
A partir do estudo realizado neste trabalho, nos foi possvel conhecer e analisar vrios passos que devem ser observados e avaliados para o entendimento do tema abordado chegar ao objetivo apresentado, foi possvel produzir um resumo sobre algumas das vrias aes que caracterizam uma metodologia para o uso da Virtualizao e dos outros assuntos tratados, como Cloud Computing e sustentabilidade. No decorrer deste trabalho podemos concluir que a Virtualizao de Sistemas Computacionais, abre caminho para um novo modelo que poder substituir o conceito atual de computao, Neste modelo o foco a abstrao e reduo da importncia do sistema operacional, permitindo que um hardware execute quaisquer aplicaes com seu sistema operacional de origem, sem precisar interromper as demais aplicaes e servios j em execuo. Como foi exposto, a soluo de virtualizao de sistemas pode trazer importantes benefcios nos diversos ramos da computao como nas empresas, entidades de pesquisas, instituies de ensino e vrias outras, independente do segmento. Conclumos tambm que h vrias formas de virtualizao, e cada uma com suas vantagens e desvantagens. E que em um processo de implantao necessrio decidir sobre o modelo mais adequado de modo que se obtenha uma boa relao custo/benefcio no processo. Migrar para um ambiente virtual no significa que o hardware deixa de ser uma prioridade, e que a preocupao com a sua qualidade possa ser desconsiderada. Pelo contrrio, necessrio avaliar de forma cautelosa quais recursos fsicos sero necessrios para dar suporte a virtualizao dos processos, em quais processos h subutilizao de recurso computacional, em quais recursos pode-se realmente obter vantagens com a virtualizao, traar mtricas para que se avalie de forma correta o momento de se dispor desta tecnologia, bem como estar completamente ciente dos prs e contras, em relao ao custo inicial e desempenho. A virtualizao nas empresas mesmo sendo muito interessante conforme vimos, como toda nova tecnologia, tem momentos certos para ser adotada e quando adotada, deve ser bem realizada. Virtualizar, no se trata simplesmente investir em equipamento barato, e virtualizar tanto quanto for possvel, o mais indicado que seja traado um planejamento
45 estratgico adequado, uma vez que sua implantao dispe de tempo e requer bons conhecimentos tcnicos em infra-estrutura. Nessa tecnologia no so descartados problemas de compatibilidade e perda de performance ocasionados por planejamento deficiente, sobretudo por causa de combinaes mal realizadas, tomemos como exemplo: uma aplicao que consuma muito processamento e memria, esta no deve ser virtualizada junto com outra de nvel igual ou superior, com risco de que o desempenho dos dois servios fique severamente prejudicado, lembremos que a virtualizao leva vantagem justamente no que diz respeito a aproveitar o vcuo computacional de uma aplicao ou sistema e no opor dois processos para que estes concorram pelo recurso computacional. Requer ainda extrema ateno o fato de que as mquinas virtuais tendem a consumir significativamente recursos como CPU e memria, o que torna imprescindvel dispor de hardware robusto para que estas sejam executadas sem perda de performance, pode-se ver isso claramente no tpico (5.1.3) sobre Reduo de Gastos, onde o investimento inicial do hardware que ir receber a virtualizao tem um custo maior, mesmo que este custo com o tempo seja retomado. Pode-se considerar que a virtualizao contempla, principalmente, trs tipos de ambientes: servidores, desktops e armazenamento, embora haja quem fale tambm de virtualizao de redes e aplicaes. A variedade de tipos deve-se importncia desta tecnologia para permitir a adoo em larga escala de outro assunto tambm aqui exposto (Capitulo 6) , o Cloud Computing, uma outro tecnologia emergente, baseada nos princpios da Virtualizao no que diz respeito a reduo e abstrao,. O Cloud Computing no s implementa um novo modelo de computao, como tambm definir a forma como a tecnologia ser consumida no futuro. Essa tecnologia hoje responsvel pela abertura de um grande nicho no mercado de TI, que o oferecimento de recursos computacionais h terceiros, possibilitando que empresas que contratem este servio possam com um investimento e tempo menor se tornar produtivas, fazendo que empresas de pequeno e mdio porte, passem a ter melhores ferramentas na disputa por mercado. Empresas como Amazon, Microsoft e a j citada Google, investem pesado neste nicho, que tem perspectivas gigantescas em mdio prazo, de acordo com pesquisa
46 do site Forrester, o mercado global de Cloud computing ir crescer mais de 40 bilhes de dlares somente em 2011, chegando h 241 bilhes em 2020. O Google, por exemplo, estuda uma forma de alugar uma espcie de netbook, onde o pagamento mensal por parte do usurio lhe garante no s acesso ao hardware, mas tambm a uma grande gama de servios e softwares oferecidos por esta empresa, sem a preocupao de licena ou atualizaes. Conclumos tambm que Cloud computing ainda est se fixando e que ainda passar por adequaes e reformulaes no que diz respeito forma como as prprias empresas fornecedoras de servio e tomadoras de servio vem as questes ligadas a segurana e responsabilidade sobre a informao que armazenada longe dos olhos do dono, bem como legislao e padronizao dos servios. Sem sombra de dvidas, a Cloud Computing pode ser considerada a evoluo mxima da virtualizao de sistemas, e ter seu papel como a nova arquitetura para hardware e para softwares, centro de uma nova maneira sobre com enxergarmos o software, hardware, armazenagem de dados e criao de sistemas. Foi citado tambm em nosso trabalho que os conceitos de virtualizao esto amplamente ligados a assuntos como TI Verde e sustentabilidade, vide capitulo 7. A virtualizao de sistemas computacionais visa a reduo de custos e recursos como refrigerao, espao, eletricidade, etc. E no s a reduo de custos pode ser alcanada, mais tambm a reduo do impacto da industria de tecnologia no meio ambiente, reduo das emisses de carbono e detritos provenientes da fabricao de seus produtos. A falta de padronizao em relao s iniciativas de sustentabilidade no setor de TI, a no existncia de uma certificao nica que englobe todo o conceito de TI Verde, e at mesmo o seu termo vago fazem com que empresas tomem atitudes isoladas e muitas vezes simplrias, que no englobam todos os objetivos ambientais, sociais, econmicos e tecnolgicos sobre o tema. Porm deve-se ter em mente que o assunto no se restringe aos setores tcnicos, exigindo ao simultnea com os setores administrativos, governos e sociedade. Ainda desanimador pensar que as empresas acabem contribuindo para o meio ambiente de forma secundria, uma vez que o objetivo principal ainda a reduo de gastos e a continuidade dos negcios. Contudo, uma nova percepo pode surgir deste comportamento, uma vez que o
47 publico consumidor de tecnologia e servios, est cada vez mais consciente de seu papel no meio ambiente e passa a cobrar atitudes destas empresas, levando em considerao em suas escolhas produtos que consumam menos energia, que tenham maior vida til e menor quantidade de componentes qumicos perigosos em sua composio. O consumidor est cada vez mais informado a respeito do assunto e tambm mais exigente, portanto, aes concretas passam a ser pr-requisito. Conclumos portanto que a Virtualizao de Sistemas Computacionais, abrange uma grande quantidade de assuntos e no esta ligada somente a reduo de custos por partes das empresas, mas que tambm, apesar de no ser um conceito novo, hoje abre novos nichos de negcios, remodela a estrutura computacional tradicional e contribui para a conservao e melhoria do ambiente em que vivemos.
48 9 Referncias
1. AZEVEDO, Marcus Vinicius - Virtualizao em Sistemas Computacionais. Palestra assistida no Instituto Infnet em 16 de Fevereiro de 2011.
2. MANFRIN, Alexander - Histria: Conhecendo a origem da Virtualizao. Maio de 2010. Disponvel em: <http://www.vmworld.com.br/br/index.php?option=com_content&view=article&id=80:historia- conhecendo-a-origem-da-virtualizacao&catid=50:virtualizacao> Acesso em 25 de Fevereiro de 2011.
3. POPEK, G. J., and GOLDBERG, R. P. - Formal requirements for virtualizable third generation architectures. ACM. Junho de 1974.
4. LAUREANO, Marcos. - Mquinas Virtuais e Emuladores. Conceitos, Tcnicas e Aplicaes. Ed. Novatec 2006.
5. ROSENBLUM, M. The Reincarnation of Virtual Machines. ACM Queue vol. 2, no. 5 - July/August 2004.
6. AMARAL, Fabio. O que Virtualizao? Uma viso geral sobre a Virtualizao, tendncia que revolucionou o mundo da TI. Fevereiro de 2009. Disponvel em: <http://www.baixaki.com.br/info/1624-o-que-e-virtualizacao-.htm> Acesso em 03 de Maro de 2010.
7. SILVA, Aldo Virtualizao de Sistemas Operacionais. Junho de 2010. Disponvel em: <http://securityofficer.wordpress.com/2010/07/02/virtualizacao-de-sistemas- operacionais/ > Acesso em 23 de Maro de 2011.
8. CRUZ, Plnio - Virtualizao Assistida por Hardware, o que isso? Fevereiro de 2009. Disponvel em: <http://www.clubedainformatica.com.br/site/2009/02/16/virtualizacao-assistida-por- hardware-o-que-e-isso/ > Acesso em 02 de Abril de 2011.
9. MELLO, Fabiano. Virtualizao Real. Dezembro de 2008. Disponvel em: <http://www.oficinadanet.com.br/artigo/1343/virtualizacao_e_real> Acesso em 05 de Maio de 2010.
49 10. CAMBIUCCI, Waldemir - Cloud Computing para CIO e Gerentes de TI. Dezembro de 2009. Disponvel em: < http://blogs.msdn.com/b/wcamb/archive/2009/12/10/cloud-computing-para-cio-e- gerentes-de-ti.aspx > Acesso em 25 de Maio de 2011.
11. ALECRIM, Emerson O que Cloud Computing (Computao nas Nuvens)? 8 de Dezembro de 2010. Disponvel em < http://www.infowester.com/cloudcomputing.php > Acesso em 26 Maio de 2011.
12. REVISTA CIO. O que Cloud Computing? Julho de 2008. Disponvel em: <http://cio.uol.com.br/tecnologia/2008/07/24/o-que-e-cloud-computing/> Acesso em 26 de Maio de 2010.
13. KARASINSKI, Eduardo. O que Computao em Nuvens? Outubro de 2008. Disponvel em: <http://www.baixaki.com.br/info/738-o-que-e-computacao-em-nuvens-.htm> Acesso em 04 de outubro de 2010.
14. IDG NEWS SERVICE. Computao em nuvem: 10 tendncias para 2010. Dezembro de 2009. Disponvel em: <http://computerworld.uol.com.br/tecnologia/2009/12/30/computacao-em-nuvem-10-tendencias-para- 2010/> Acesso em 10 de outubro de 2010.
15. ONU, Universidade Computers and the Environment: Understanding and Managing their impacts. 2004
16. HESS, Pablo. Sustentabilidade: O que TI Verde. Julho de 2009. Disponvel em: <http://br.hsmglobal.com/notas/53556-o-que-e-ti-verde> Acesso em 03 de agosto de 2010.
17. DIAMANTE VERDE. Desenvolvimento Sustentvel: O Papel da TI. Maio de 2008. Disponvel em < http://blog.diamanteverde.com.br/> Acesso em 10 de outubro de 2010.
50 18. MONTE, Fabiana. 51% das empresas brasileiras j implantaram TI Verde. Agosto de 2009. Disponvel em< http://computerworld.uol.com.br/gestao/2009/08/19/51-das- empresas-brasileiras-ja-implantaram-ti-verde/ > Acesso em 10 de outubro de 2010.
19. COMPUTERWORLD. TI verde: 5 dicas para tornar sua empresa sustentvel. Outubro de 2009. Disponvel em: < http://computerworld.uol.com.br/gestao/2009/10/04/ti-verde-5-dicas-para-manter-sua-empresa- sustentavel/ >