Este texto está escrito todo em primeira pessoa porque era para ser publicado no blog pessoal do dono da empresa; mas como uma das características principais da PortoFácil é ser uma empresa que trata as pessoas como pessoas, nada mais justo que um texto bem pessoal, escrito em primeira pessoa, para ilustrar isso.
Desde que comecei a trabalhar no ramo de hospedagem de sites, tenho uma certa obsessão por oferecer aos meus clientes o melhor desempenho possível ao menor preço. Porém tenho alguns princípios, dos quais destaco o de não vender produtos que eu próprio não usaria. Isso acabou resultando no fato de eu oferecer serviços que não são os mais caros do mercado, mas certamente estão bem acima da mediocridade reinante das hospedagens a troco de mariolas.
Um servidor web é composto, naturalmente, de hardware e software.
No começo eu só vendia servidores dedicados (depois de ter feito o acordo com a Via Hospedagem, que provê hospedagem compartilhada para meus antigos clientes), mas com a variação cambial o preço deles começou a ficar um tanto quanto salgado. Já havia muita gente usando virtualização, porém as alternativas até então de meu conhecimento eram sinônimo de baixa qualidade. Até que conheci a plataforma Xen.
Um servidor virtual é uma máquina idêntica em funcionamento a uma máquina física, mas que na verdade é um subconjunto de recursos de hardware de uma máquina maior.
O Xen é uma tecnologia de virtualização cuja principal característica é não compartilhar recursos, o que impossibilita o overselling.
Não só entre quem vende VPS (servidores virtuais), mas também entre quem vende hospedagem compartilhada, é comum a prática de vender um mesmo recurso para mais de um cliente, contando que nem todos vão precisar do recurso ao mesmo tempo (daí surgiu a nova febre das hospedagens ilimitadas).
Em se tratando de servidores virtuais, é comum que um servidor físico com — por exemplo — 16GB de RAM seja compartilhado em até 30 servidores. Com 4GB cada um. Ou seja, não existe mágica: não há tecnologia capaz de fazer com que, milagrosamente, 16GB se tornem 120GB, a não ser mentindo. E é isso que acontece: prometem-se 4GB para o cliente, contando que ele vai usar no máximo um valor qualquer. Se você ainda não conseguiu entender por que isso é péssimo para o cliente, basta pensar que se um outro site, de um outro cliente, exigir os recursos que comprou, todos os demais vão ser prejudicados.
Aí é que entra o Xen: com ele, não existe compartilhamento de recursos; se a máquina real tem 16GB de memória (e isso se aplica a espaço em disco e processador também), a soma das máquinas virtuais vai ser no máximo 16GB; os recursos que são alocados para uma máquina virtual pertencem exclusivamente a ela, e quando forem requisitados estarão disponíveis.
Por esta razão, servidores virtuais Xen são mais caros, porém são muito melhor negócio do ponto de vista do cliente — e se é bom para o meu cliente sem me prejudicar, é bom para mim também.
Resolvida a questão do hardware, otimizado em preço e performance ao extremo, minha única alternativa seria otimizar o software dos servidores a fim de oferecer o máximo em troca do investimento do meu cliente.
Devido à necessidade de padronizar os servidores para poder atenuar o custo de gerenciamento, acabei optando desde cedo pelo cPanel como painel de controle. Assim como tem muitas virtudes, este ambiente também tem muitos problemas, sendo o principal deles ser meio “pesado”. Mas a culpa não é do cPanel em si, mas sim pelo fato de um servidor web ser um dispositivo bastante complexo, que envolve muitos tipos de processamento diferentes.
O cPanel por padrão usa o Apache como servidor web, e a primeira coisa que pudemos fazer para acelerar nossos servidores foi otimizar o Apache ao máximo. Para muitos casos este ganho de performance foi suficiente, mas ainda não estávamos satisfeitos.
Pesquisamos por muito tempo, e acabamos por descobrir o Nginx, um servidor web muito mais jovem que o Apache, com uma outra filosofia de trabalho, cuja principal característica é de ser extremamente leve, capaz de servir muito mais páginas com muito menos processamento.
Então iniciamos nossa pesquisa que resultou no melhor de dois mundos: servidores cPanel com Apache, mas com o Nginx em modo proxy, para que todos os objetos estáticos de uma página sejam servidos pelo Nginx enquanto todo o processamento propriamente dito é feito pelo PHP via Apache.
A PortoFácil é uma das poucas empresas de hospedagem a oferecer este modelo de servidor, cujos benefícios já foram experimentados por dezenas de clientes. Toda a flexibilidade do cPanel no gerenciamento de contas, toda a flexibilidade e conhecimento acumulado do Apache para servir páginas, com toda a performance assustadora do Nginx acelerando o processo.
Mas eu ainda queria mais.
Porque um servidor cPanel conta com muitos serviços que não são exatamente necessários a um aplicativo web: servidores de e-mail, antispam, gerenciadores de listas, sem contar com o próprio cPanel, tudo isso faz com que a máquina não seja utilizada em sua máxima capacidade para aquela que é a atividade principal dos clientes da PortoFácil: rodar sites em WordPress.
Então, tomei a missão de configurar um servidor do zero, sem painel de controle, apenas com o essencial (MySQL muito bem otimizado, Nginx para servir páginas estáticas e dinâmicas, PHP em FastCGI, firewall); todos os serviços de e-mail seriam gerenciados pelo Google Apps. A ideia era produzir um servidor barato e otimizado ao máximo permitido pela tecnologia.
Foram semanas de pesquisa, mas este objetivo foi plenamente alcançado!
Nas últimas 48 horas tivemos o prazer de fazer funcionar um servidor web otimizado para o WordPress, capaz de servir as páginas do cache do WP-Super-Cache diretamente como arquivos estáticos, utilizando o mínimo de memória. Não pude fazer testes de estresse na máquina, mas estimativas iniciais dão conta que ela é capaz de atender cinco vezes mais carga que sua contraparte com cPanel e Apache.
Estou maravilhado com o desempenho deste servidor, que se não tem a facilidade do cPanel para gerir contas, requerendo profundos conhecimentos de Linux para se configurar, por outro lado não tem custos de licenciamento de softwares proprietários, sendo um produto totalmente livre.
Ainda não sei se este servidor é economicamente viável, mas sei que o cliente que topou correr o risco de deixar seu site offline para eu poder testar o novo produto em condições reais merece muito mais do que um obrigado, muito mais do que um link. Merece usar o servidor daqui por diante a preço de custo, durante todo o tempo que ele quiser, porque o sucesso é algo que se alcança com colaboração, e esse sujeito é um parceiro de verdade, na melhor acepção do termo. Valeu, Celso!