[Pesquisar este blog]

quarta-feira, 19 de agosto de 2015

Virtualização

No dicionário, o adjetivo virtual é explicado como "o que não existe como realidade, mas sim como potência ou faculdade" e também como "o que equivale a outro, podendo fazer às vezes deste, em virtude ou atividade".

Na área de Tecnologia de Informação o termo é frequentemente utilizado no sentido de indicar dispositivos de hardware, programas de computador ou uma combinação destes que substituem outros dispositivos ou programas, de maneira a obter-se seu funcionamento equivalente. Assim, virtualizar é o ato de criação de uma versão virtual de algo, como uma plataforma de hardware, um servidor, um sistema operacional, um dispositivo de armazenamento ou uma rede de computador.

Os softwares ou frameworks de virtualização podem, entre outras capacidades, atuar de duas maneiras distintas:
  • Dividir um recurso para prover seu uso em múltiplos ambientes de execução;
  • Consolidar múltiplos recursos de maneira que sejam tratados como algo único.
Cada um destes modos tem aplicações bastante convenientes e específicas.

Por exemplo, o simples particionamento de uma unidade de disco rígido pode ser considerado como uma operação de virtualização porque a unidade particionada dá origem a duas ou mais unidades lógicas (isto é, que não são físicas). Mas, em algum sistemas, também é possível fazer o oposto, ou seja, configurar duas ou mais unidades físicas para que operem como uma unidade lógica dotada de maior capacidade. Então divisão e consolidação são estratégias que se aplicam a um grande número de situações.

Muitos ambientes de desenvolvimento voltados para a construção de aplicativos móveis incluem emuladores de modelos genéricos ou específicos para possibilitar o teste destes softwares em um ambiente semelhante onde serão utilizados, mas sem a necessidade do programador dispor de um dispositivo físico.

A configuração de uma Virtual Private Network (VPN) é também uma operação de virtualização, pois com o uso de uma infraestrutura pública de comunicação (a internet, por exemplo) é possível a construção de uma rede privativa, que oferece grande segurança para o tráfego de seus dados, que opera transparentemente na rede pública. O efeito de uma rede privada "dentro" da infraestrutura pública de comunicação é a virtualização de uma rede.

Um framework de virtualização pode também ofertar um ambiente composto de diversos dispositivos, simulando um sistema completo por meio de outro. Assim, dispositivos, aplicações e usuários são capazes de interagir com recursos virtuais, isto é, providos pela plataforma de virtualização, como se fossem recursos reais.

Hoje são relativamente comuns os frameworks de virtualização que empregam uma ou mais metodologias de divisão dos recursos de um computador em múltiplos ambientes de execução por meio da aplicação de conceitos e tecnologias de particionamento de hardware e software, compartilhamento de tempo (time-sharing), simulação de máquina parcial ou completa, emulação, qualidade de serviços (QoS) e muitas outras.

Origem

As técnicas de virtualização surgiram na década de 1960 para prover a operação mais eficiente de mainframes, pois devido a seu altíssimo custo, todos os recursos sistêmicos deveriam ser intensamente utilizados para tornar seu uso mais competitivo.

Inicialmente possibilitava a divisão lógica dos recursos físicos do mainframe em múltiplos sistemas lógicos, os quais podiam ser usados para aplicações distintas e com operação independente. Além de flexibilizar a utilização do sistema, um mesmo mainframe poderia até ser compartilhado por organizações distintas quando tecnologias de acesso remoto eram empregadas para conectar os terminais de usuário ao computador principal.

Um caso de sucesso foi o IBM VM (Virtual Machine), um dos primeiros softwares comerciais de virtualização de sucesso, voltado para operação de mainframes.

Na última década a virtualização tornou-se uma estratégia fundamental para organizar os datacenters (as novas versões dos antigos centros de processamento de dados). Um servidor tradicional trabalha com grande ociosidade na maior parte do tempo, pois é dimensionado para atender os horários de pico. Assim o consumo de energia é maior do que efetivamente necessário. Com a virtualização, um servidor de capacidades maiores pode hospedar vários servidores (máquinas) virtuais, o que é denominado consolidação de servidores, explorando melhor os recursos disponíveis, reduzindo a ociosidade e o consumo total de energia, além de requisitar menos espaço físico e esforço de manutenção. Tudo sem redução do desempenho fornecidos aos aplicativos dos servidores, de maneira imperceptível para os usuários destas aplicações.

Visão conceitual

Sua organização tipicamente envolve três camadas:

  • Camada de hardwareComposta dos dispositivos do hardware que, de fato, existem no sistema. Pode agregar um sistema operacional (SO).
  • Camada de virtualizaçãoSistema/programa de virtualização, que particiona e administra a camada de hardware para prover serviços de virtualização ou suporte para máquinas virtuais. É o Hypervisor ou Monitor das Máquinas Virtuais (Virtual Machine Monitor).
  • Camada de aplicaçãoPartições que constituem as máquinas virtuais específicas para operação de diversos SO e aplicações isoladas.

Aplicações da Virtualização

A virtualização tem inúmeras aplicações. Algumas das mais comuns são:
  • Virtualização de armazenamento, onde múltiplas unidades de armazenamento, locais e remotas, são operadas de maneira combinada e distribuídas dinamicamente como unidade virtuais reconfiguráveis.
  • Virtualização de servidores, na qual um servidor físico pode ser particionado em vários servidores virtuais de menor capacidade.
  • Virtualização de sistemas operacionais, que é um tipo de virtualização, ocorrida no kernel do SO, para prover múltiplas instâncias de um mesmo ou diferentes sistemas operacionais numa mesma máquina.
  • Virtualização de redes, onde torna-se possível o uso seletivos dos recursos de uma rede física por meio de sua segmentação lógica, por exemplo, numa VPN.
  • Virtualização de aplicativos, na qual a operação de sistemas de software ocorre em sistemas virtualizados e cujo acesso se dá por meio de redes, como na computação em nuvem (cloud computing).

Vantagens e Desvantagens

A virtualização é uma tecnologia que tem potencial para proporcionar um grande conjunto de vantagens.

Exemplos clássicos são a possibilidade de uso de múltiplos SOs simultaneamente num mesmo host; e a consolidação de servidores subutilizados num menor número de máquinas, proporcionando economia no hardware, no espaço físico, na operação, na gerência, nos custos e também permitindo a redução dos impactos ambientais.

O uso da virtualização permite a continuidade de aplicações legadas que requerem hardware antigo; pode prover ambientes seguros e isolados (sandboxes) para operar aplicações não confiáveis ou constituir ambientes de teste e depuração; permite configurar ambientes com limitações específicas de recursos, sendo conveniente para sistemas habilitados para QoS (Quality of Service). A recuperação de desastres é grandemente facilitada pela re-instalação de sistemas virtualizados, ao invés de re-instalação e reconfiguração tradicional de sistemas.

Outros aspectos positivos do emprego da virtualização são: a possibilidade de empacotar e distribuir instalações ou aplicações complexas; facilitam a migração de software; facilitar o balanceamento de carga de trabalho; sem contar que pode constituir um infraestrutura mais adequada para atendimento flexível das demandas de sistemas de computação em nuvem.

Mas como toda e qualquer tecnologia, também existem desvantagens. Uma delas é que o hardware requisitado é, de fato, mais sofisticado, pois deve ser bastante mais robusto para suportar, sem comprometimento de desempenho e disponibilidade, a consolidação de servidores. Também existe mão de obra especializada, por requer novos conhecimentos e experiência na condução das etapas de adoção de tecnologia, migração de sistemas e operação contínua. Os custos adicionais de licenças de produtos específicos é outra consideração que não pode ser esquecida.

Conclusões

A virtualização é, do ponto de vista técnico, uma alternativa muito interessante e flexível para operação de sistemas sofisticados, mas também pode ser empregada com vantagens no âmbito pessoal. Uma análise cuidadosa do cenário de sua adoção pode determinar sua conveniência e viabilidade econômica em qualquer segmento de negócio. Mas a considerar-se sua larga adoção, por companhias de todos os tamanhos e em todos os ramos de atividade, constitui a maior prova que seu uso cuidadoso permite alcançar grandes ganhos.

Para Saber Mais



Um comentário:

Prof. Peter Jandl Jr disse...

Thanks for your comment!
Peter