DevSecOpsARTIGO

Cloud Computing: Google ou Amazon?

Em
um dos inúmeros eventos de Cloud Computing
em que apresentei uma palestra, surgiu uma pergunta interessante por
parte de um CIO de uma pequena empresa. Ele queria saber, na minha opinião, qual
seria a melhor opção em Cloud Computing, Amazon ou Google. A
resposta é simples: “depende do que se pretende fazer com
computação em nuvem, porque Amazon e Google têm propostas de cloud
computing muito diferentes”.

O
Google oferece o Google Applications, oferta de SaaS e o Google
Application Engine (GAE, www.appengine.google.com
), que é um serviço de PaaS (Platform-as-a-Service). A Amazon
oferece um serviço de IaaS (infrastructure-as-a-Service), chamado de
AWS (Amazon Web Services, http://aws.amazon.com/)
que é uma oferta de recursos de infraestrutura.

Amazon

Na Amazon, para se
conseguir elasticidade automática e um serviço de PaaS, é
necessário utilizar componentes adicionais oriundos de outros
fornecedores. Esses componentes são fornecidos como AMI (Amazon
Machine Image), como o IBM WebSphere sMash, para desenvolvimento de
aplicações situacionais (http://tinyurl.com/y9m2tha).

A Amazon
criou um ecossistema de parceiros que disponibilizam diversos
recursos complementares à sua oferta. Existem cerca de 450 mil desenvolvedores gravitando em torno desse ecossistema. Assim, por
exemplo, quando se deseja facilidades de elasticidade automática
pode-se recorrer à RightScale ou à Elastra.
A IBM disponibiliza diversos softwares como AMI na Amazon, cuja lista
completa e instruções para download podem ser obtidas no
developerWorks Cloud Computing Resource Center.

Um
dos recentes anúncios da Amazon foi a facilidade de se criar Virtual
Private Clouds, usando a sua nuvem pública. Esse recurso, chamado
VPC, é uma demanda de empresas que questionam questões de segurança
em nuvens públicas, e que pode ser visto em
http://aws.amazon.com/vpc/.


a proposta de valor do GAE, do Google, é permitir que
desenvolvedores criem aplicações Web muito rapidamente (em suas
estações de trabalho) e as coloquem para operar na nuvem do Google.
O custo para rodar a aplicação é “free”, sim, grátis, até
cinco milhões de page views por mês. A partir desse volume, é
cobrado um valor por recursos computacionais utilizados.

Google

O
GAE permite que os desenvolvedores construam e testem suas aplicações
em um ambiente simulado (como Linux e Windows), que suportem versões
das linguagens Python e Java. Para colocar o aplicativo em produção,
usa-se um script de upload que transfere o código-fonte para os
servidores da nuvem do Google, de onde a aplicação rodará.

O GAE
utiliza a mesma infraestrutura de hardware e software do engine de
buscas do Google. Os desenvolvedores não têm acesso direto a esses
recursos, pois existe uma camada de interface entre a aplicação e a
nuvem. Os recursos disponíveis para a aplicação são o Big Table
(mecanismo de persistência não relacional), Google File System
(sistema de arquivos distribuídos) e uma variante do Linux adaptada
pelo Google. O site IBM developerWorks disponibiliza diversos artigos
sobre como usar o GAE
.

Estima-se
que existam mais de 300 mil desenvolvedores gravitando em torno do
GAE, mas as aplicações que estão sendo atualmente escritas são de
pequeno porte, departamentais. Embora a nuvem do Google permita que
uma aplicação possa escalar de forma automática para milhões de
page views e milhares de usuários, os temores quanto às condições
de segurança, disponibilidade e privacidade de nuvens abertas, como
a do Google, são ainda fatores restritivos.

Assim, na minha
opinião, e o que respondi à pergunta feita em minha palestra, com relação ao GAE é considerar
essa alternativa apenas para novas aplicações de pequeno porte,
escritas em Java ou Python, desenvolvidas por equipes pequenas,
estilo “agile development”. Deverão ser aplicações stand-alone
(embutidas em si mesmo, sem integração com aplicações legadas).
Nem pensar em considerar o GAE para migrar aplicações corporativas
legadas, que constituam a base do suporte ao negócio.

Por
sua vez, recomendo a nuvem da Amazon para aplicações “one-way”,
aquelas que você vai usar uma ou pouquíssimas vezes e para as quais
não compensa contratar mais recursos computacionais. Também pode
ser usada como infraestrutura para pequenas empresas que não têm
budgets para manter uma estrutura física de TI interna ou mesmo para
aplicações situacionais de grandes empresas que não tenham
necessidade de maiores integrações com sistemas legados. O AWS
permite utilização de aplicações convencionais, pois na prática
simplesmente simula servidores físicos através de virtualização.
Entretanto, ainda não está adequada para suportar aplicações de
missão crítica da maioria das grandes empresas.

No
developerWorks vocês podem ver diversos artigos sobre o uso da AWS
da Amazon. Recomendo olhar a série de
papers “Cloud Computing with Amazon Web Services”, no site IBM
developerWorks
.

Em
resumo, vimos que Amazon e GAE têm
aplicabilidades diferentes e não são necessariamente excludentes.
Podemos até utilizar simultaneamente as duas alternativas.

É CEO da Litteris Consulting. Profissional e estudioso de Tecnologia da Informação desde fins da década de 70, com educação formal diversificada, em Economia, mestrado em Ciência da Computação e MBA em Marketing de Serviços, e experiência profissional moldada pela passagem em empresas de porte mundial. Escreve constantemente sobre tecnologia da informação em publicações especializadas como CIO Magazine, Mundo Java, além do iMasters, e apresenta palestras em eventos e conferências de renome. É autor de sete livros que abordam assuntos como Software Livre, Grid Computing, Software Embarcado, Cloud Computing e Big data.

Ver perfil