Vivendo no cloud: a infraestrutura externa da Caelum em 11 soluções
Postado em 03. fev, 2011 por Sérgio Lopes em Arquitetura, Inovação
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.
1 ♦ Google AppEngine: rodar aplicações Java e Python na infra do Google
O site da Caelum roda na plataforma do Google desde Setembro de 2009. Hoje temos outras iniciativas por lá inclusive em outras linguagens. Já publicamos um passo-a-passo sobre o GAE, como usar Ruby no AppEngine, e até uma palestra no QConSP sobre essa nossa experiência, com pontos positivos, negativos e as dificuldades que passamos dada as restrições do ambiente.
2 ♦ Amazon EC2: infra elástica com virtualização
Rodamos o TeamCity e o Hudson para integração contínua de um projeto interno grande que executa testes em paralelo em diversas instâncias do EC2. Atualmente, estamos estudando usar a Amazon para eliminar um repositório local dos nossos pacotes deb customizados. Colocar nossos sites e aplicações aqui seria uma outra opção (e de facílima migração, diferente de portar uma aplicação para o GAE que exige bastante esforço), mas sendo infraestrutura como serviço, ficaríamos responsáveis por toda a configuração e manipulação de máquinas, não oferecendo a mesma facilidade do GAE.
3 ♦ Heroku: PaaS para rodar aplicações Ruby
Construído em cima do Amazon EC2, o Heroku é considerado o “AppEngine do Ruby”. Rodamos uma aplicação interna de controle de turmas desenvolvida pela Caelum Rio.
4 ♦ GitHub: repositórios de código em Git
Antigamente, tínhamos um servidor SVN interno na Caelum (e, antes, um CVS). Em 2009, começamos a migrar para Git quando conhecemos o GitHub. Desde maio de 2009 somos clientes do GitHub tanto em projetos opensource com 57 repositórios públicos, tais como os do VRaptor ou do Restfulie, quanto em todos os projetos internos da empresa em mais de 40 respositórios privados.
5 ♦ Pivotal Tracker: gerenciamento de backlog para projetos ágeis
Que a Caelum é forte adepta de Metodologias Ágeis não é novidade. Mas para gerenciar as dezenas de projetos ágeis da empresa, precisamos de uma ferramente simples e poderosa. O Pivotal nos permite gerenciar backlogs, sprints, estimativas, gerar gráficos, simular o kanban e muito mais. O serviço se tornará pago.
6 ♦ Mailchimp: gerenciamento e envio de Newsletters
A Caelum envia periodicamente uma newsletter com notícias de Java, Ruby, Arquitetura e Agile para milhares de interessados que se cadastraram. Usando o Mailchimp desde Abril de 2009, ganhamos agilidade no envio dos e-mails, sem preocupação com bloqueio de provedores, sobrecarga da máquina, gerenciamento de unsubscribes, e-mails que voltam e ainda obter estatísticas detalhadas.
7 ♦ Dropbox: compartilhamento e backup de arquivos
Nos permite a sincronização de arquivos e documentos de forma simples entre as unidades da Caelum em SP, Rio e Brasília, nosso designer em Goiânia e a qualquer momento em todos os lugares. Substituiu um antigo compartilhamento de rede local Samba/Windows, inviável para controlar arquivos e documentos dos mais de 80 colaboradores nas 3 unidades.
8 ♦ Google Apps (GMail, Docs): suíte de aplicativos Google para seu domínio
Todos os nossos e-mails @caelum.com.br estão no Gmail corporativo oferecido pelo Google Apps for Business. Usamos ainda Google Docs para diversos documentos da empresa e Google Talk para comunicação interna.
9 ♦ Vimeo: publicação de vídeos
Divulgamos palestras, screencasts e outros vídeos pela conta oficial da Caelum no Vimeo. Vários posts aqui do blog usam o Vimeo como host dos vídeos, como o recente Screencast da migração de Rails 2 para 3.
10 ♦ SlideShare: publicação de slides
Embora diversos instutores usassem há bastante tempo o SlideShare para compartilhar suas apresentações, a Caelum começou em setembro a divulgar em uma conta própria e centralizada as palestras que dá nos diversos eventos que participa.
11 ♦ WPEngine: hospedagem segura e escalável de WordPress
Mantemos o blog desde 2006, mas sempre com problemas em gerenciar a máquina, updates manuais e, pior, momentos de instabilidade em picos de acesso (em especial quando enviamos nossa newsletter). Último serviço contratado pela Caelum, o WPEngine trouxe escalabilidade e tranquilidade para o gerencimento do Blog da Caelum.
Conclusão
Usar soluções de cloud computing é, além de um bonito buzzword de marketing, essencial para a Caelum: a tranquilidade, facilidade e economia de custos que essas soluções trazem são uma grande vantagem, além de eliminar a necessidade de pequenos servidores internos.
O uptime de nosso site melhorou bastante desde o AppEngine, os problemas de infra (hd queimados, atualização de software, mudança de permissões, criação de usuários, etc) se tornaram irrelevantes desde o EC2, Dropbox e Github, a escalabilidade do nosso blog vai ser resolvida com o WPEngine, e não precisamos gastar tempo (e dinheiro) desenvolvendo soluções que Mailchimp, Pivotal e outros nos trazem.
E você, quais serviços de cloud usa em sua empresa? Que parte ainda não está no cloud que gostaria de colocar?
Sérgio Lopes (Google+)
Mais sobre o autor
19 Respostas para “Vivendo no cloud: a infraestrutura externa da Caelum em 11 soluções”
Trackbacks/Pingbacks
-
-
março 5, 2011
[...] Atualmente diversas facilidades e serviços permitem executar uma boa idéia a partir de casa ou de um escritório mínimo (link), ou mesmo para empresas com muitos clientes e pessoas é possível usar uma infra mínima (link). [...]
-
-
dezembro 22, 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 trabalho!) e potencializar [...]
-
-
maio 16, 2012
[...] versão, após estudos iniciais comecei a migrar meus projetos para o github, motivado pelo post da Caelum, ainda tenho muito o que aprender e estou pensando em fazer o curso online de git da Caelum, no [...]

ASSINE NOSSO RSS
Bruno Laturner
03. fev, 2011
Ótimo artigo Sérgio!
Dá até para tirar uma palestra ou lightning talk contando mais sobre as suas experiências, ganhos e dificuldades, mas não indo tão em específico quanto a palestra do AppEngine.
Bruno Laturner
03. fev, 2011
Só uma pergunta, com o Pìvotal se tornando pago em julho, e com os planos propostos por eles, ainda vale a pena?
Bruno Alvares da Costa
03. fev, 2011
Aqui na Cocento utilizamos no cloud o
GitHub repositórios privados e publicos
Google Apps (GMail, Docs)
Vimeo
Flickr para fotos e eventos da empresa
não cloud mas pretendemos colocar no futuro
Servidor de Integração contínua Hudson
Servidor de testes integrados
Sérgio Lopes
03. fev, 2011
Com o Pivotal gratuito, a gente acabou abusando e criando zilhões de projects lá pra um monte de coisas. Certamente não vale a pena agora pagar para tudo, mas talvez sim para projetos mais importantes e complicados.
Mas estamos observando outras alternativas. Alguns projetos nossos aqui que não tem o conceito de Sprint muito bem definido foram migrados pros Issues do GitHub mesmo (só precisamos de um backlog central, com priorização e controle de pronto).
Para os demais, estamos vendo outras alternativas. Temos o Calopsita também que é uma alternativa bastante viável.
Diego Oliveira
03. fev, 2011
Gostaria de saber como vocês lidam com a questão da segurança da informação. Porque veja bem, uma das questões primordiais que fazem com que a empresa aonde eu trabalho evite a nuvem é a segurança. A empresa chega a ser paranoica com segurança (muitas vezes sem necessidade).
Queria ver um post sobre segurança na nuvem.
Sérgio Lopes
03. fev, 2011
Oi Diego, imagino que há dois aspectos principais relacionados à segurança: 1) deixar suas informações na mão de terceiros; 2) impedir que hackers acessem suas informações. Em ambos os casos, vejo o cloud como a melhor solução possível.
1) Escolhendo provedores de cloud confiáveis com políticas de privacidade claras e eficazes, você estará certo que seus dados estarão em boas mãos. Se duvidar, até mais que ter dentro da empresa
2) Com sua infra na mão dos provedores de cloud, com equipes especializadas em segurança, redes, com atualizações constantes etc, a chance de você ser atacado por hackers é infinitamente menor que em soluções caseiras.
Por fim, para nós, na maioria dos cenários, a segurança no cloud é maior. Se levar em conta até coisas como política de backups e restauração, o cloud então é imbatível.
Lucas Teixeira
24. fev, 2011
Oi Sérgio, tudo certo?
Escalar no EC2 é muito fácil sim! Com uma imagem de máquina personalizada pela Caelum (ou até com uma das muitas disponíveis), dá pra escalar baseado em dezenas e dezenas de condições.
Dá pra triggar um evento de “opa, sobe mais uma máquina!” baseado no tempo de resposta dos servidores (latência), no uso de CPU, no uso de IO, entrada e saida de dados das máquinas, etc.
Enfim, basta que sua instância seja adicionada em um grupo do AutoScaling, depois disso é só alegria
Parabéns pelo post!
Abraço!
Kan Ishigami
24. fev, 2011
Muito obrigado por compartilhar estas informações. Por coincidência estava pesquisando uma solução mais “parruda” para hospedar um site desenvolvido em WP e com picos de alta visitação.
Vou experimentar esse WPEngine.
Mais uma vez obrigado pelas dicas e parabéns pela Newsletter, tá bem bacana.
Rodrigo Aguas
24. fev, 2011
Olá Sérgio, parabéns pelo artigo, ótimas dicas!
Uma opção ao Pivotal é uma iniciativa recente de uma empresa brasileira, o ScrumHalf, na nossa equipe ele é utilizado e funciona muito bem, fora ver constante aprimoramento.
Abraços.
Raphael
24. fev, 2011
e as soluções brasileiras de cloud computing: locaweb, tecla internet e uol host, nãu usam nenhuma?
Sérgio Lopes
24. fev, 2011
@lucastex
Pois é, colocaram isso na revisão do post hahaha. A gente tava até discutindo o AutoScalling lá no GUJ sobre o BeanStalk né! Corrigi o post, valeu
@Kan
Estamos bem satisfeitos com o WPEngine viu. Já está no ar há algum tempo e só temos o que elogiar! Recomendo.
@Rodrigo
Valeu pela indicação! Outra opção (bem mais simples) que temos usado em alguns projetos aqui são as Issues no GitHub mesmo. Até tem funcionado bem…
@Raphael
Fomos um dos primeiros a usar a nova plataforma de cloud da Locaweb, ao desenvolver o projeto WebChat em parceria com eles. Excelente plataforma! Mas como não usamos na infra da Caelum, não citei. Aliás, ultimamente temos privilegiado soluções PaaS e SaaS por ser mais fácil de gerenciar.
Paulo Silveira
24. fev, 2011
oi @sergio e @lucastex, fui eu que tinha colocado aquela frase sobre o EC2. o que queria dizer é que seria um pouco mais trabalhoso do que qualquer PaaS como o GAE, que ja esta redondo e voce nem tem que chamar api nenhuma para subir outra maquina, mas obviamente é muito mais facil do que voce tentar escalar na sua propria infra de servidores dedicados.
moacir
01. mar, 2011
Muito legal
Na empresa onde trabalho estamos migrando um projeto java para o Cloud da Locaweb.
Até porque estamos com problemas sérios de estouro de memoria no plano java básico deles.
O que mais gostei foi a liberdade de configurar, como você quiser os servidores. Na realidades eles nos deram um Ubuntu Server 0 Km e “vai garoto..configura!”.
Logo o Cliente ja começa a usar e eu posto aqui o resultado.
Valeu!
Osni Oliveira
06. abr, 2011
Como vocês tratam a questão do backup dos serviços? Não estou falando de backup de arquivos, mas questões como indisponibilidade dos serviços ou de conexão Internet e as contingências necessárias nesses casos. Grande parte dos serviços citados não funciona de maneira offline com sincronismo posterior, e a colaboração em tempo real pode ficar comprometida em alguma eventualidade, não?
Sérgio Lopes
06. abr, 2011
Oi Osni!
Realmente você fica dependente da disponibilidade do seu provedor de cloud. Mas é justo aí que está a vantagem. Esses caras (Google, Amazon etc) são provavelmente bem melhores que a gente em gerenciar infraestrutura e disponibilidade. No AppEngine, por exemplo, com certeza temos hoje um uptime maior do que quando gerenciávamos a nossa própria infra.
Então, respondendo mais diretamente a sua pergunta, nossa estratégia é confiar no provedor e não ter redundância ou contingência para quando ele estiver fora. Na nossa experiência, isso é mais raro do que quando gerenciávamos toda a infra. Mas, claro, nada tem 100% de uptime.
Abraços
Oziel Alves Cavalcante
17. jun, 2011
Mal comecei a me divertir com o Pivotal e ele vira pago. Me indicaram o Redmine. Alguém aí sabe se ele é de fato equivalente?
Vou também dar uma olhada nesse ScrumHalf que o Rodrigo Aguas indicou.