Cloud computing, aka computação em nuvem, é um termo que eu com frequência tenho que desconstruir a definição prévia que clientes tem: ao hospedar em servidores vendidos como “cloud”, o software vai funcionar de forma mágica. Pessoal de propaganda e marketing anuncia algo que não entende, com afirmações parciais e até absurdas, e até mesmo profissionais de TI repetem comentários sem refletir a merda que estão falando. É nesse ponto que coisas muito ruins acontecem, e não falo apenas de pagar mais caro.

O termo cloud computing está para a TI nos últimos tempos o mesmo que o termo “Galaxy” está para Samsung e seus celulares: alguns casos específicos deram muito certo e, para aumentar vendas, o termo é usado em algo que não é realmente aquilo, mas que pessoas irracionalmente acham que por ter o nome no meio é aquilo.

Neste artigo vou criticar 7 pontos que pessoalmente considero mal compreendidos. Para saber definições formais do que é recomendo leitura de NIST Definition of Cloud Computing (inglês). Também pode ler em português em Computação em nuvem na Wikipédia.

1. Cloud Computing e virtualização são a mesma coisa

Resposta curta:
Não.

Resposta longa:
É possível considerar que uma coleção de máquinas virtuais, devidamente configuradas e com software também preparado, atenda o conceito de Cloud Computing, porém o simples fato de usar máquina virtual não é recíproco.

Caso real:
Infelizmente as pessoas usam como sinônimo, o que é errado, muito errado. Visite as páginas de venda de todos os principais provedores de hospedagens de sites do Brasil. Todos usam serviços de virtualização como equivalente de cloud computing.

2. Servidores dedicados, virtualizados e Cloud Computing são rápidos que hospedagem compartilhada

Resposta curta:
Depende.

Resposta longa:
Se sua aplicação poderia ser executada em um servidor compartilhado, isto é, a exemplo de não consomir muito processamento ou memória RAM, é possível que mesmo uma hospedagem compartilhada seja tão ou mais rápida do que alternativas mais caras. Servidores que oferecem mais de uma modalidade de uso, provavelmente por causa da alta competição, podem deixar você usando e abusando na hospedagem compartilhada, e, por mais que as versões de software costumem ser mais antigas, tendem a ser bem otimizados para servir páginas de forma rápida. Alguns por padrão liberam Varnish-cache para todo mundo porque economiza uso de CPU (mais sites por máquina), mas também deixa seus sites mais rápidos. É possível configurar equivalentemente com máquinas virtuais, mas isso pode exigir planos mais caros, bem mais caros, só para ter a mesma velocidade para servir páginas e RAM suficiente para valer a pena.

Caso real:
A hospedagem X (brasileira, grande porte) cobra aproximadamente R$ 30,00 para um site Joomla!, sem restrição rígida de banda, que gasta pouco mais de 1TB/mês. Ao contratar o plano de que chamam de “cloud” de R$ 240,00, a taxa de transferência medíocre de 6MB (0,75 MB/s reais) deixou o site mais lento. Provavelmente nem mesmo o plano mais caro desta hospedagem, de R$ 1.500.00 e 30MB (3,75 MB/s reais) dariam conta de servir com a mesma velocidade que a hospedagem compartilhada. Hospedagem compartilhada de outros provedores de grande porte no Brasil tem desempenho semelhante.

3. Memória RAM, processamento e espaço em disco são infinitos em cloud computing

Resposta curta:
Não exatamente.

Resposta longa:
Cada servidor tem um limite físico de quantos processadores, memória RAM e disco rígido pode ter. Mesmo supercomputadores são assim. Logo, se você, por exemplo, tem um e-commerce que é muito acessado, o mais comum é dividir os acessos em vários computadores e garantir que seu software não faça coisas estúpidas como vender itens fora de estoque. Lembre-se: para sistemas operacionais típicos, cada máquina virtual pode exibir no máximo os recursos que a máquina física que a executa tem disponível. Mesmo com cloud, seu site é excecutado em algum computador físico e real. Não é por mágica.

Caso real:
Já vi uma licitação onde nas especificações técnicas era exigido que um servidor tivesse memória RAM infinita.

4. Cloud computing garante que o sistema não irá parar de funcionar

Resposta curta:
Não.

Resposta longa:
Quanto aos pontos que envolvem disponibilidade do serviço, cloud computing, mesmo na teoria, garante melhor disponibilidade ao ter redundância e por permitir que, sob demanda alta, seja fácil para aumentar o número de máquinas envolvidas. Todos os demais problemas que um datacenter teria com outros tipos de hospedagens, como todos os provedores de internet que eles têm falharem ao mesmo tempo, qualquer serviço que se diz cloud computing e não estiver distribuido em mais de um datacenter ao redor do mundo irá ter.

5. Ao pagar mais caro por hospedagem de cloud computing o suporte técnico é melhor

Resposta curta:
Não.

Resposta longa:
Geralmente o suporte técnico de qualquer provedor de infraestrutura será apenas de como usar sua infraestrutura. Isso vale para hospedagens compartilhadas como para maior parte dos provedores de cloud. Podem ensinar como apertar botões no painel deles, mas não vão explicar como resolver um problema dentro do seu site em Wordpress. Jamais espere que ao contratar um serviço de cloud computing vão explicar passo-a-passo como configurar seu site de modo pronto para ser usado para quantidade alta de acessos e com tolerância a falhas. Eventualmente vão indicar uma referência padrão em documentação deles. É comum partirem do pressuposto que você sabe configurar servidores ou que já tem alguém próximo que saiba disso.

Caso real:
É mais comum a qualidade de suporte técnico variar de provedor para provedor do que de valor pago pelo serviço. Já tive contato com provedores no Brasil em planos mais baratos e mais caros e a qualidade do atendimento costuma ser proporcional. Diferenciais reais só tive quando há pagamento específico e dedicado para ser atendido mais rápido.

6. Cloud Computing automaticamente se adapta à demanda maior de uso

Resposta curta:
Não.

Resposta longa:
Por padrão, mesmo no sentido formal, cloud computing deve permitir escalonamento rápido, porém não necessáriamente automático. Isso quer dizer que é aceitável que seu desenvolvedor tenha que apertar botões no painel do seu host e entrar por uma telinha preta para mexer algumas coisas na sua aplicação para ligar mais máquinas.

Caso real:
Em função da obritatoriedade de ter redundância, é comum deixar em tempo integral ligadas pelo menos duas máquinas para possível ponto único de falha. Eventualmente isso já é suficiente para atender até demandas onde há picos de acesso a ponto de que, se for necessário mais do que isso, é melhor definir alertas e ter intervenção humana do que deixar de forma automática. Por mais que serviços como a Amazon EC2 divulgem como ponto chave escalonamento automático através de alertas e tudo mais, creio que pouca gente, mesmo de sites grandes, use isso na prática e não apenas por testes.

7. Os computadores de cloud computing ficam no céu

Resposta curta:
Definitivamente não.

Resposta longa:
Os datacentes geralmente ficam em prédios. E eles também usam cabos de rede tradicionais e de fibra ótica, porque é mais barato, seguro e rápido que qualquer rede Wi-Fi.

Caso real:
Vídeo de especialista que afirma: cloud computing: a rede que vem pelo ar.


Obrigado Tasso Evangelista pela revisão do artigo.

comments powered by Disqus