A resposta para a pergunta do título é depende, depende de qual é o objetivo do site, se é um blog, portal de e-commerce, vídeos, notícias ou só para falar das receitas da sua mãe, o público que você deseja atingir e o que ele irá consumir no seu site, são os fatores que irão determinar o size/tamanho da infraestrutura necessária para suporta-lo.

Grandes portais de e-commerce como o Submarino.com.br ou Americanas.com.br são compostos por dezenas de servidores, servidores estes na maioria com 2 processadores físicos e mais de 32GB de memória RAM, sem contar os servidores que compõem a infraestrutura de banco de dados. Isso tudo em alta disponibilidade, quer dizer que há no mínimo um servidor igual ao outro para que seja direcionado o tráfego de rede em caso de alguma pane.

Imaginem quanto dinheiro um portal desses poderá perder ficando fora do ar por alguns minutos ? Pode chegar na casa dos milhares ou milhões de reais dependendo da época do ano !

Uma coisa que eu sempre digo para aqueles que estão começando no mundo WEB de alta performance é: Não adianta nada você ter muito poder de fogo se você não tem velocidade.”

Falo como exemplo o último ambiente WEB do qual participei do projeto de arquitetura onde tínhamos que montar um portal com 6 servidores, 2 dedicados para a parte HTTP (HTTPD server usando Apache) e os 4 servidores restantes utilizando WebLogic Application Server. Todos eles possuem 2 processadores Xeon-Dual core e 32 GB de memória RAM DDR2. O ambiente foi instalado e configurado com RedHat 5, feitos os ajustes tudo estava funcionando sem problemas, depois de 3 meses o cliente teve que aumentar a quantidade de servidores devido o aumento de transações.

Foram instalados 2 novos servidores com, cada um com 1 processador Xeon quad-core e 16GB de memória DDR3, ele sofrerão upgrade depois, mas naquele momento era a única configuração disponível para pronta entrega pela fabricante.

O cliente ficou assustado com a performance das aplicações nesse novo servidor, e a explicação foi simples, a arquitetura de arquitetura de hardware nos novos servidores com 16GB era no mínimo 60% melhor que a arquitetura dos servidores com 32GB, no final das contas, passamos de 6 servidores para 4 servidores, dois dedicados como HTTP server com 8GB de RAM cada e 2 dedicados para o ambiente aplicacional, com 32 GB de RAM cada, isso porque o cliente precisa alocar memória RAM para as JVMS onde estão instaladas as aplicações.

Vejam que em um upgrade de hardware você poderá mudar a quantidade de servidores dedicados para a arquitetura do seu ambiente, e em alguns casos, alterar até mesmo do mundo físico para o mundo virtual utilizando vSphere ou Xen Citrix, essa migração dependerá de 3 fatores:

  • O comportamento da sua aplicação neste novo ambiente
  • A possibilidade de crescimento, de forma rápida e sem dowtime/paradas
  • E o custo

Todavia existem casos que vocês devem instalar servidores com uma grande quantidade processadores e memória, são casos como o suporte a banco de dados com alto volume de dados e de consulta, servidores aplicacionais que atendem mais de 500 requisições por segundo e até mesmo servidores HTTPD Server, como o Apache, Nginx ou Lighttpd, que atendem umas 1000 requisições por segundo, veja a tabela abaixo apresentando configurações e ajustes do Ngin X de acordo com a quantidade requisições por segundo suportada:

Outro detalhe importante é quanto a utilização de ambientes virtuais, dependendo do tráfego de rede de um determinado Guest (sistema operacional instalado no ambiente virtual) o mesmo deverá ter uma placa de rede dedicada para ele, isso começa a encarecer o seu ambiente, mas não tirá a justificativa de virtualiza-lo devido a já conhecida história: “É muito mais fácil voltar o backup de uma máquina virtual do que de uma máquina física.

Antes de virar um ambiente para produção com uma arquitetura planeja por vocês, teste-a em homologação, façam testes de stress ao máximo para garantir que aquilo que vocês planejaram funcionará e atenderá a demanda planejada, e mais, coloque sempre uma folga de mais 30% no mínimo ante de virar para produção, vai que a sua aplicação vira um sucesso e no segundo dia tudo já está na casa dos 100% de utilização. 🙂