Venho trabalhando com grandes ambientes virtualizados, clusters VMware compostos por mais de 32 máquinas físicas e suportando 250 VM`s(máquinas virtuais). Servidores Web/Http Server que em dois dias trafegam mais de 200GB de dados, dados esses que em sua maioria são imagens de 15KB até 20KB, mas que possuem uma quantidade incrível de acesso, mas de 6.000.000 mês.

A virtualização de servidores aplicacionais já foi citada em um post anterior, afirmando que existe uma perda de 15% de performance. Análise feita com vSphere e WebSphere Application Server, produto esse que já possui uma solução de Cloud Computing oferecida pela IBM (WebSphere CloudBurst Appliance), conforme vídeo abaixo:

A virtualização de servidores Web Apache/Http server já é uma realidade em diversas empresas por todo mundo, devido a robustez, versatilidade e flexibilidade quanto a quantidade de configurações e plugins existentes para ele. Porém é necessário analisar a implementação de um ambiente virtualizado com servidores HttpServer.

Os principais pontos que devem ser analisados são:

  • Quantidade de acessos simultâneos.
  • Suporte a conteúdo estático e/ou dinâmico.
  • Quantidade de dados trafegados.
  • Alta-disponibilidade e performance.

Os quatro pilares da virtualização (CPU, Memória, Storage e Rede) devem ser levados em conta na hora da criação de um ambiente virtual Web, haja vista a quantidade de requisições, acessos e tráfego que esse ambiente irá suportar. Não podemos compartilhar duas interfaces de redes entre 8 máquinas virtuais instaladas em um mesmo servidor físico, onde uma das máquinas virtuais é um servidor Httpserver que possui mais de 10.000 requisições de acesso por segundo, do qual prove diariamente mais de 150GB de download de conteúdo.

Teremos degradação de performance, sem falar quanto a localização de imagens, vídeos e quaisquer dados estáticos que sejam utilizados por este servidor, já que ele sozinho consumirá uma grande quantidade de I/O do Storage.

Por isso vale a dica: muitas vezes vale mais dois servidores pequenos físicos rodando apache httpserver do que 2 virtuais. Você terá um ganho de performance absurdo dependendo da quantidade de acesso neste ambiente já que no ambiente virtual você terá diversos recursos sendo compartilhados entre as máquinas virtuais.

Virtualização é uma excelente tecnologia mas de forma ponderada e planejada.