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: “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 tem 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. Na Amazon para se conseguir elasticidade automática e um serviço de PaaS é necessário utilizar componentes adicionais oriundos outros fornecedores. Estes 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.000 desenvolvedores gravitando em torno deste ecossistema. Assim, por exemplo, quando se desjea facilidades de elasticidade automática pode-se recorrer à RightScale (http://www.rightscale.com/ ) ou Elastra (http://www.elastra.com/). 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 em http://tinyurl.com/ycounhf .

Um dos recentes anúncios da Amazon foi a facilidade de se criar Virtual Private Clouds, usando a sua nuvem pública. Este 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/.

 Já a proposta de valor do GAE é 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 deste volume, é cobrado um valor por recursos computacionais utilizados.

 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 tem acesso direto a estes recursos, pois existe uma camada de interface entre a aplicação e a nuvem. Os recursos disponiveis à aplicação são o Big Table (mecanismo de persistência não relacional), Google File System (sistema de arquivos distribuidos) e uma variante do Linux adaptada pelo Google. O site IBM developerWorks disponibiliza diversos artigos sobre  como usar o GAE. Vejam em http://tinyurl.com/yde7qk9 .

 Estima-se que existam mais de 300.000 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 a ele com relação ao GAE é considerar esta 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 voce vai usar uma ou pouquissimas 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 tem budgets para manter uma estrutura fisica 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 fisicos através de virtualização. Entretanto, ainda não está adequada para suportar aplicações de missão critica 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  http://tinyurl.com/ya7lop2 .

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

4 Respostas to “Google ou Amazon?”

  1. Andre Uebe Says:

    Taurio

    Este artigo “caiu das ‘nuvens’ “. Esta discussão, sobre GAE ou AWS é algo que me deixava confuso desde que comecei a fazer minha pesquisa sobre as alternativas de desenvolvimento. Na verdade, não tinha, ainda, topado com um artigo tão sintético e esclarecedor sobre a diversividade das duas. Tempos atrás, deparei-me com um artigo do Peter Jacsó, de Havard, intitulado: “amazon, Google Book Search, and Google Scholar” e pensei que consiguiria as respostas que, somente neste momento, conseguí obter. Obrigado!

    Mas vamos a algumas dúvidas:

    1 – Você reporta que:
    “Um dos recentes anúncios da Amazon foi a facilidade de se criar Virtual Private Clouds, usando a sua nuvem pública (…)”

    Meu entendimento final é que a solução Amazon é bem mais flexível que a solução Google. Em uma escala de 1 a 5, comparativamente, haveria como determinar os quesitos “flexibilidade” e “facilidade de uso” para Google e Amazon, respectivamente?

    2 – Se tivesse que fazer um “teste piloto” de desenvolvimento de um ambiente de PaaS que abarcasse, futuramente, SaaS e, este ambiente pudesse ser usado por Instituições de Ensino, poderia começar pelo GAE e, migrar posteriormente para o AWS ou seria melhor começar logo (e “quebra a cabeça”) pelo AWS? Tenho pouco tempo (3 meses) para fazer este “experimento piloto” e já programei em Clipper e em Delphi mas nada sei de
    Python ou Java (apesar de poder recorrer a programadores).

    3 – Quando você afirma que:
    ” 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.”

    Significa que não existe esta possibilidade de “teste” em ambiente local no AWS? Qual a vantagem real disto quando se compara o GAE ao AWS?

    4 – É apregoado que uma das possibilidades da Computação em Nuvem é dar poder computacional de mainframes a pequenos celulares com uma boa conexão de internet? Isto é sonho ou realidade?

    Obrigado!

    Abs

    Andre Uebe

  2. Andre Uebe Says:

    Taurion

    Poderia falar um pouco sobre as opções AWS:

    – EC2
    – Elastic MapReduce
    – Cloud Front

    Obrigado!

    Abs

    Andre Uebe

  3. Cloud Computing: Google ou Amazon? | Profissionais TI - Pra quem respira informação Says:

    […] Fonte: Blog Nas Nuvens […]

  4. Cleverson Sacramento Says:

    Já tive diversas experiências com ambas. Para aplicações Java mais complexas (ou até mais simples também), não há nada melhor que o serviço Elastic BeansTalk da Amazon.

    Escrevi um post mostrando o passo-a-passo para criação de uma conta gratuita na AWS. Espero que encoraje curiosos como eu a criar sua própria conta para experimentar:

    http://cleversonsacramento.com/2011/12/07/crie-sua-conta-na-nuvem-amazon/

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: