Cloud Computing

Ξ 4 comentários

Virtualização: O que é e para que serve?

publicado por Fabio Prado

Olá pessoal,

No artigo de hoje vou comentar sobre Virtualização: o que é e para que serve o uso dessa técnica que tem crescido considerávelmente nos últimos anos.

Para começar, iremos conhecer primeiro, alguns termos que são utilizados quando a gente fala de virtualização:

  • Virtualizador: software de virtualização ou programa que permite emular instruções de uma determinada plataforma. Exemplos: VMWare e Oracle VM Virtual Box;
  • Máquina virtual (VM): programas virtuais que são executados no virtualizador e que podem trabalhar de modo semelhante aos programas que são executados diretamente na máquina física ou máquina real. É possível gerenciar os recursos da máquina física que estarão disponíveis para a máquina virtual. Entre vários recursos, podemos configurar quantidade de memória, disco e processadores disponíveis para ela.
  • SO Hospedeiro (host): sistema operacional da máquina em que o virtualizador foi instalado;
  • SO Convidado (guest): sistema operacional de uma máquinas virtual criada ou instalada no hospedeiro, através do virtualizador;
  • Aplicação (appliance): imagem de uma máquina virtual. Uma appliance pode ser gerada através do virtualizador para permitir exportar e importar máquinas virtuais entre diversos hospedeiros ou até mesmo para backupear máquinas virtuais;

Atualmente, as VMs estão se espalhando pelas empresas e sua utilização tem acompanhado o crescimento do uso de serviços de Computação nas Nuvens (Cloud Computing). Os provedores de serviços de Cloud Computing utilizam virtualização em larga escala para fornecer serviços a seus clientes.

As máquinas virtuais são extremamente úteis no dia-a-dia, pois permitem compartilhar recursos de hardware de uma máquina para executar diversos sistemas operacionais e softwares (em máquinas virtuais). Como exemplos de utilização de VMs, podemos citar:

  • Criação de ambientes ou sistemas para utilização como laboratórios de estudos (eu ministro meus treinamentos em máquinas virtuais);
  • Criação de ambientes de produção, testes ou desenvolvimento de softwares.

Utilizando máquina virtuais podemos obter muitos benefícios, entre os quais podemos destacar:

  • Redução de custos: esse é o benefício principal da virtualização. Ao compartilhar recursos físicos (hardware) de uma máquina real para implementar várias máquinas virtuais, podemos reduzir custos de aquisição e manutenção (Ex.: administração, alocação e consumo de energia) de máquinas servidoras, storage e dispositivos de rede, tais como: hubs, switches, cabeamento etc.
  • Gerenciamento centralizado: a partir de um único ponto (máquina servidora), podemos gerenciar várias máquinas virtuais;
  • Redução do consumo de energia: devido à redução da quantidade de máquinas;
  • Melhor aproveitamento do espaço físico: com menos máquinas, diminui a necessidade de espaço físico para alocação delas;
  • Consolidação de infraestrutura: com o compartilhamento de hardware entre as máquinas virtuais, pode-se reduzir o custo com hardware e eletricidade. Ao invés de executar múltiplos computadores físicos que são parcialmente utilizados, podemos executar várias máquinas virtuais em um único computador físico mais potente e melhor utilizado;
  • Facilidade para migração de ambientes: quando for necessário efetuar a migração de ambientes e sistemas, como por exemplo, no caso da aquisição de uma nova máquina servidora, migrar uma máquina virtual é muito simples. É só gerar um appliance e importá-lo posteriormente na nova máquina servidora.

Existem ainda muitos outros benefícios que podemos obter com a virtualização. É importante ressaltar, porém, que nem tudo são flores! Também existem desvantagens no uso de máquinas virtuais. A principal desvantagem é a diferença de performance entre máquinas virtuais e máquinas reais. De acordo com o artigo Testando a Virtualização de banco de dados da revista SQL Magazine 93, a performance de um banco de dados SQL Server 2008 em máquina real foi 53% melhor que a performance de um SQL Server 2008 em máquina virtual.

Por hoje é só! Espero que o artigo ajude aqueles estão avaliando ou estudando a viabilidade do uso de máquinas virtuais!

[]s

Fábio Prado

www.fabioprado.net

Referências:

http://www.profissionaisti.com.br/2010/08/virtualizacao-sua-empresa-e-a-natureza-agradecem/
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html
http://www.profissionaisti.com.br/2011/11/distincoes-de-computacao-em-nuvem-cloud-computing-e-computacao-em-grade-grid-computing/
http://www.profissionaisti.com.br/2011/10/virtualizacao-para-pequenas-empresas/
http://www.profissionaisti.com.br/2011/07/virtualizacao-virtual-machine-vm-com-virtualbox/

Autor

Sou DBA e instrutor de Bancos de Dados Oracle na FABIOPRADO.NET, articulista da revista SQL Magazine e diversos sites e blogs na área de TI e autor do blog www.fabioprado.net. FORMAÇÃO ACADÊMICA - MBA: Gestão Estratégica de Projetos (2008) - Pós-graduação: Gestão de Projetos em TI com PMBOK (2007) - Graduação: Bacharel em Ciências da Computação (2001) CERTIFICAÇÕES - Oracle PL/SQL Developer Certified Associate 11G: 09/2012 - Oracle Certified Professional (OCP) Database 11G: 08/2012 - Oracle Certified Professional (OCP) Database 10G: 09/2011 - Oracle Certified Associate (OCA) Database 10G: 08/2010 - Microsoft Certified Professional Developer (MCPD) .Net 2.0: 05/2010 - Microsoft Certified Trainer (MCT): 04/2010 - Microsoft Certified Technology Specialist (MCTS) .Net 2.0: 03/2010 - Microsoft Certified Database Administrator (MCDBA) SQL Server 2000: 08/2006 - Microsoft Certified Professional (MCP) Windows Server 2003: 08/2006 - Microsoft Solution Developer (MCSD) .Net 1.1: 09/2003 - Microsoft Certified Application Developer (MCAD) .Net 1.1: 04/2003 - Microsoft Solution Developer (MCSD) Visual Basic 6: 07/2002 EXPERIÊNCIA PROFISSIONAL - Treinamentos em Dot Net e Bancos de Dados Oracle; - Administração, programação e tuning de Banco de Dados Oracle, SQL Server e MySQL, - Tuning de instruções SQL para Bancos de Dados: SQL Server, MySQL e Oracle; - Desenvolvimento de aplicações Windows e Web, críticas e de alta performance, utilizando POO, em equipe, com as seguintes linguagens de programação e ferramentas: Visual Basic .NET, Visual Basic 6.0, C#, ASP, ASP.NET, Javascript, CSS, HTML, Microsoft VSS e Crystal Reports (7.0, 8.5 e .NET); - Análise de Sistemas Orientados a objetos utilizando UML e metodologias baseadas no RUP e XP; - Gerenciamento de Projetos de Desenvolvimento de Software aplicando boas práticas do PMBOK.

Fabio Prado

Comentários

4 Comments

  • Olá Fábio,
    Muito bom seu artigo,principalmente quando você tem a humildade de especificar que o mesmo foi baseado em softwares que você já utilizou. Atitude louvável e merecedora de aplausos.
    Aproveitando o momento,gostaria de acrescentar um outro LADO para incremento de seus conhecimentos e reflexões:
    – A virtualização é uma realidade desde o início dos anos 70 (Setenta) assim como sistemas operacionais VM.
    – Nos sistemas operacionais VM que conheço,eles possuem facilidades para atribuir pesos/prty aos VM Guest, assim como pode ser feito estas atribuições na máquina física que controla todos os VMs a serem gerenciados, e desta forma, não existe diferenças de desempenho,podendo cada VM ter 100% de disponibilidade de recursos quando ativo.

    Viu só como sempre existe um outro lado?
    Espero que tenha ajudado aos seus conhecimentos.
    Caso queira conversar comigo,use o email abaixo.
    Abraços e continue escrevendo.
    Rapanelli
    rapanelli@boxbe.com

  • Olá Rapanelli, obrigado pelos comentários e informações complementares.

    O que vc citou sobre atribuir pesos p/ a VM é uma configuração que existe sim nos virtualizadores. No Oracle VM virtual box, por exemplo, é possível definir se a VM vai usar 100% ou menos da CPU. Qto ao comentário de que vc disse que não há diferença de desempenho, eu acredito que vc esteja errado, mas nunca fiz esse teste. Eu afirmei isto em meu artigo baseado em pesquisas. A principal fonte de pesquisa dessa afirmação é um artigo do Mauro Pichiliani, articulista bem conceituado do site Imasters e da revista SQL Magazine. Ele fez um benchmark comparando desempenho de 1 máquina host e 3 VMs em virtualizadores diferentes. O desempenho da máquina host foi superior. Vou perguntar a ele se ele configurou VM para usar 100% dos recursos do host, pois isso q vc comentou é um item importante que deve ser considerado.

    O fato de eu acreditar que a VM deve ter realmente desempenho inferior, é o fato de que um software virtualizador é um software que emula ambientes operacionais em outra máquina. Não acredito que um emulador tenha o mesmo desempenho que o ambiente real da máquina host.

    []s

  • Pessoal meu nome é Fernando sou consultor de tecnologia da HP. Na verdade os requisitos de performance para a virtualialização são orientados pela utilização de IO de disco, por isso os bancos de dados sofrem com performance pelo fato de todas as máquinas virtuais precisarem de acesso ao disco físico a todo o momento. Se um banco tem baixo acesso ao disco o mesmo pode ser virtualizado, lembrando que virtualização é coisa séria exige rede de dados de alta performance como uma rede SAN e Storages de alto poder de armazenamento, com cache e discos SAS ou SSD.

    Pode ser banco de dados ou outro tipo de server se o Volume de Acesso ao disco é muito alto não é recomendada a virtualização. Existem softwares que avaliam as necessidades do servidor real e criam Dashboards para que seja verificado ou não a necessidade da virtualização. Outro bloqueio para a virtualização é a necessidade de hardware local, exemplo hardlicenses, placas proprietárias e altíssimo uso de processamento, isso prende o servidor ao hardware perdendo o maior beneficio da máquina virtual que é a capacidade de “Flutuar” e “Compartilhar” entre os Servidores físicos, reduzindo disponibilidade.

You must be logged in to post a comment.

Busca

Patrocínio

Publicidade



Siga-nos!

Newsletter: Inscreva-se

Para se inscrever em nossa newsletter preencha o formulário.

Artigos Recentes