O cloud computing é inevitável?

Postado em 28. out, 2009 por em Arquitetura

A Caelum.com.br roda agora no cloud. Por que? Vale a pena? Temos tantos acessos assim?

Entre os exemplos clássicos do bom uso do cloud temos o sucesso do New York Times: eles conseguiram digitalizar em PDF mais de 4 terabytes de edições do jornal muito antigas (1851-1922) usando 100 máquinas e gastando apenas 240 dólares! O cloud é perfeito para situações em que você precisa de muito desempenho e recursos por um curto período de tempo.

Essa definitivamente não é a necessidade da Caelum em rodar em um cloud. Qual seria então?

Temos várias opções para você ter seu próprio cloud: através do TerraCotta, pelo VMWare ou pelo Grid Gain. Usando esses softwares você mesmo precisa prover sua infraestrutura de máquinas, o que pode ser trabalhoso. Um nível mais abstrato e encapsulado seria usar o EC2 da Amazon: ele já fornece as máquinas, facilitando muito a manutenção, e cobra por tempo de processamento (eliminando o gasto inerente ao tempo ocioso que suas máquinas poderiam ficar). No Brasil, a Locaweb foi a pioneira ao oferecer esse serviço.


cloud locaweb

Por último, temos hosts que já provêm tudo para você: a infraestrutura e o software para permitir a escalabilidade. O Google App Engine é um desses hosts.

Aqui, sim, entra a Caelum e entra também o interesse das empresas de hosting: se o cloud é mais barato para os fornecedores por compartilhar recursos ociosos, e ainda oferece altíssima escalabilidade e disponibilidade para os clientes, temos então um casamento de interesses. Essa relação ganha-ganha fortalece muito a tendência da adoção de uma arquitetura mais elástica. Os clientes também ganham uma enorme independência de hardware, terceirizando os grandes problemas que acabam acontecendo quando temos servidores dedicados: esses servidores não são à prova de bala. Para a Caelum, mesmo sem necessidade de rodar em 100 servidores, é interessante ter o poder de fazer o deploy de nossas aplicações Web sem ter de nos preocupar se “é suficiente X micros e Y de RAM para esta aplicação?”, por menor que ela seja.

O site da Caelum usava VRaptor 3 como controlador, JSP e taglibs na visualização e Hibernate para persistência. Para colocá-lo no cloud do Google App Engine, a única grande mudança que fizemos foi migrar a camada de persistência para o BigTable. Trata-se de um banco de dados não relacional proprietário, que possui uma API específica, mas também há uma implementação (não completa) de JPA para ele, o que facilita bastante a migração.

Desvantagens? O Google App Engine ainda está em beta, e já ficou fora do ar alguns momentos, em especial o serviço do DataStore (o BigTable). Há também o problema do cold start e do plugin para o Eclipse, que é um pouco lento para iniciar o servidor de testes: falaremos com detalhes sobre ambos em um outro post. Outra desvantagem é a dependência ao BigTable: como é um serviço proprietário, migrar para qualquer outro cloud vai necessitar de ajustes, mesmo que usando a JPA.

Respondendo o título do post: independente se o seu cloud é Amazon EC2, Google App Engine ou GridGain, algo é certo: ele traz vantagens tanto para os desenvolvedores quanto para o host, mostrando que a estratégia do cloud está cada vez mais solidificada.

Agradecimentos ao Pedro Matiello, Guilherme Silveira e Sérgio Lopes pela migração do site. Em breve, postaremos detalhes de como trabalhar na Google App Engine. Teremos uma palestra sobre Cloud computing no CaelumDay no Rio de Janeiro, esse 7 de novembro!

Tags: , , , , , , , , , ,

18 Respostas para “O cloud computing é inevitável?”

  1. Leandro Silva

    28. out, 2009

    Parabéns, Paulo, pela visão de futuro. É disso que precisamos na comunidade, de pessoas visionárias!

    []s

  2. Ricardo Silva

    28. out, 2009

    Recentemente uma revista que prefiro não citar o nome, apresentou uma matéria onde 5 “especialistas” falaram a respeito de cloud, um deles falou tanta besteira que quase rasguei a revista.
    Parabenizo a Caelum pela consistência de suas colocações, nào apenas baseadas em conceitos mas também em uma experiência prática que atesta o que vocês apresentam em seus textos.
    O CloudComputing é uma realidade sem dúvidas, ainda precisando de amadurecimento e ajustes mas já em condições de uso e agregação de valor a nossas operações.
    Eu não diria que ele é inevitável, sempre teremos profissionais ortodoxos que optarão pelo controle do lógico e do físico, mas para aqueles que tiverem coerência em sua análise verão que estamos falando de uma tendência, não de um modismo, e não vejo porque não embarcar nesta onda desde já!

  3. Paulo Cassiano

    29. out, 2009

    Parabéns também pelas apresentações no Serpro!

  4. Andre Brito

    29. out, 2009

    Boa! O modo como você falou que não precisava de 100 servidores pra processar, mas sim da utiliidade do cloud em si ficou muito bem colocada.
    Mais uma ótima notícia. Abraço.

  5. Andre Brito

    29. out, 2009

    Aliás, existem rumores (não sei se é verdade) que a Google App Engine suporta (ou suportará) Scala. Mais um ponto pra ela.

  6. Paulo Silveira

    29. out, 2009

    Oi pessoal! Obrigado pelo apoio.

    Resumindo a posição da Caelum, é que o cloud é interessante tanto para o forneedor, quanto para o cliente, e não só em casos em que escalabildiade é extremamente necessário!

    Sobre Scala, já roda no GAE, assim como muitas das linguagens dinâmicas, já que algumas são compiladas para bytecode (como Scala), e outras a api de scripting do Java 6 consegue interepretar!

  7. Andre Brito

    30. out, 2009

    Paulo,
    Bom saber do Scala. Tenho que me atualizar nesse assunto!

    Abraço!

  8. Thomas

    04. nov, 2009

    Pessoal pra quem quizer entender mais, nada melhor que os proprios criadores explicando…

    Oucam o melhor podcast da categoria Google App Engine, pessoalmente este é um dos meus favoritos.

    http://google-developer-podcast.googlecode.com/files/googledev015.mp3

  9. Otávio

    28. nov, 2009

    Hmm, muito bom. Essa semana fiz uns estes no meu site e quero loco publicar no GAE. Já vou aproveitar e migrar de vraptor 2.6 para o vraptor3.

    Agora… como vocês criaram a estrutura do banco de dados? E como migraram os dados já existentes para lá?

  10. Antonio Carlos

    15. fev, 2010

    Estou lendo sobre o Google App Engine, no caso de cotas, vocês chegam a ultrapassar aqueles valores de cotas? ou já ajustaram valores lá que comporte uma quantidade de acessos suportáveis, a minha preocupação é ficar mais caro do que imagino.

  11. Marcelo

    07. mar, 2010

    Recentemente minha empresa decidiu embarcar nessa onda de cloud computing, e contratou os serviços da SimpleWeb, e não podíamos estar mais satisfeitos. Reduzimos em cerca de 50% nossos custos em datacenter e servidores, e ganhamos em performance e escalabilidade. É possível inclusive aumentar os recursos dos servidores em períodos críticos de pico de uso, como por exemplo quando rodamos a folha de pagamento em nosso ERP.

  12. Julio Prático

    24. mar, 2010

    Cloud Computing é inevitável, mas devemos ter cuidado, pois na “computação” lidamos sempre com idéias antigas que se renovam, e idéias novas que rapidamente ficam ultrapassadas. O que não devemos é nos deslumbrar…

Trackbacks/Pingbacks

  1. Bancos de dados não relacionais e o movimento NoSQL | blog.caelum.com.br - outubro 30, 2009

    [...] força com a publicação de dois papers sobre implementações proprietárias: o Google Bigtable (que a Caelum usa atualmente) e o Amazon Dynamo. Não por acaso são duas empresas que lidam com uma quantidade enorme [...]

  2. Um pouco de tudo #3 | Último Click - outubro 31, 2009

    [...] O Cloud Computing é inevitável? [...]

  3. Escrevendo e migrando aplicações para o Google App Engine | blog.caelum.com.br - novembro 17, 2009

    [...] migramos nosso site para o Google App Engine (GAE), o serviço de cloud computing do Google, fazendo uso do suporte a aplicações Java. A ideia [...]

  4. Vivendo no cloud: a infraestrutura externa da Caelum em 11 soluções | blog.caelum.com.br - fevereiro 3, 2011

    [...] Há muito tempo que falamos de cloud computing na Caelum, para minimizar a necessidade de infraestrutura própria e especializada. Mas, mais que falar, a Caelum como empresa aprendeu ao longo dos últimos anos a usar serviços disponíveis na nuvem para as mais diversas tarefas. Somos clientes de diversas soluções SaaS, PaaS e IaaS. Muitos nos perguntam que serviços utilizamos e com que finalidade. Esse post é um guia rápido com 11 soluções de cloud computing que usamos na Caelum. [...]

  5. Cloud Computing na Casa Branca e o PaaS | blog.caelum.com.br - fevereiro 8, 2011

    [...] Caelum usa o Cloud do Google App Engine há mais de 6 meses, e isso já nos salvou de picos de acesso ao sistema de reserva e acesso ao [...]

  6. Rodando sua aplicação na Amazon do Brasil | blog.caelum.com.br - dezembro 20, 2011

    [...] o início de nosso trabalho com o cloud em 2009 temos investido tempo e pesquisa na utilização do cloud como plataforma para diminuir custos (e [...]

Deixar uma Resposta