Cloud Computing despontou publicamente como o sistema que permitiria contratar infraestrutura como serviço (IaaS). Seria possível adquirir servidores, switches, storages, entre outros, sem ter custos de aquisição de equipamentos físicos e instalação, pagando apenas pelo uso. Não só aplicações corporativas como ERP, CRM, mas também sistemas de E-commerce e Lojas online são exemplos práticos reais que usufruem desta tecnologia nos dias de hoje.
Assim que o nome IaaS foi criado, surgiram outras denominações: As antigas aplicações conhecidas como “Hosted” receberam a alcunha de SaaS (Software como serviço). E as plataformas de desenvolvimento, que não são software, mas também não são representações virtuais de servidores, switches, storages, etc., ficaram conhecidas como PaaS –(Plataforma como serviço).
Enquanto o hype avançava, a poderosa máquina de marketing da TI começava a funcionar. Sistemas hospedados em servidores físicos de datacenter foram chamados de “meu cloud”. Websites que foram hospedados em servidores comuns viraram “cloud”, mesmo não sendo serviços de IaaS.
Toda plataforma de Cloud IaaS é baseada em alguma forma de virtualização. E o motivo é simples: virtualização é o processo que desacopla a infraestrutura virtual da física, criando “novos servidores feitos de software” dentro de um antigo servidor “feito de hardware”.
A Amazon Web Services utiliza o virtualizador XEN em sua plataforma. A Rackspace utiliza XEN e mais recentemente o KVM. O Microsoft Azure utiliza o Hyper-V. A MANDIC utiliza uma combinação de XEN, KVM e Hyper-V. Não há um provedor de compartilhamento em nuvem do mundo que forneça IaaS e não use algum tipo de virtualização, completa ou parcial, para poder desacoplar a camada de aplicação da camada de hardware.
Como virtualização é um conceito antigo, criou-se uma diferenciação para chamar uma plataforma de Cloud. Basicamente, Cloud tem que ter API, ser escalável e precisa ser paga por uso. Mas vamos avaliar esses pontos:
Cloud tem que ter API (Application Programming Interface) – Esse é um ponto interessante, pois lida com as diferenças entre usuários. API é algo que interessa a desenvolvedores, mas tem pouca ou nenhuma serventia no ambiente corporativo, onde o CIO quer comprar o serviço e não desenvolver. Assim, uma plataforma que ofereça serviços que resolvam problemas de um ou mais CIOs e tragam redução de custo e maior desempenho. Logo, por não ter uma API não pode ser chamada de Cloud?
Cloud tem que ser escalável – Concordo, mas virtualização é escalável por si só! Tudo depende da quantidade de servidores que são disponibilizados. Fato é que atualmente estão utilizando o termo “virtualização” como um sinônimo de “Cloud Privada”, onde o hardware disponibilizado pertence a uma empresa e esta não consegue escalar o serviço além dos servidores que possui.
Cloud tem que ser paga pelo uso – O cliente tem o poder de decidir como ele quer pagar por um serviço. Há CIOs que vão preferir pagar por uso (por terem um ambiente previsível e terem mecanismos de controles), mas existem outros que querem contratos fechados, sem surpresas e com alta previsibilidade. A plataforma é a mesma, mas a forma de pagamento e compra é diferente.
Estamos assistindo a discussões do tipo “a minha cloud é verdadeira e a do fulano é só virtualização”, mas isso não resolve problemas de clientes. Alguns CIOs até já comentaram não gostar de cloud “por ser lento” quando na verdade testaram apenas um fornecedor específico cuja estratégia pode ser justamente oferecer máquinas lentas para vender mais. Existem até “cursos de Cloud” que na verdade ensinam o estudante a usar este ou aquele fornecedor ou esta ou aquela API.
Existem, inclusive, fornecedores de cloud no mercado que obrigam você a reescrever sua aplicação para poder usufruir das vantagens, criando um poderoso mecanismo de lock-in (uma vez reescrita a aplicação, você fica definitivamente atado àquele provedor). Mas essa não é a regra geral (ainda bem!).
Minha visão é: acredito que o CIO exigente tem o direito de decidir o melhor para si e sua empresa, inclusive se quer alterar a aplicação ou não. Cabe ao fornecedor garantir que o cliente tenha a melhor experiência em termos de estabilidade e desempenho, independente de como a chamamos. Queremos virtualização ou cloud? Honestamente, queremos performance, estabilidade, escalabilidade e segurança. O resto é discussão inócua.
*Antonio Carlos Pina é diretor de Tecnologia e Operações da MANDIC