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.
Fonte: Blog Nas Nuvens