Successfully reported this slideshow.
Your SlideShare is downloading. ×

Google App Engine, Python e Startups - Rupy 2012

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 21 Ad

More Related Content

Slideshows for you (20)

Advertisement

Similar to Google App Engine, Python e Startups - Rupy 2012 (20)

Recently uploaded (20)

Advertisement

Google App Engine, Python e Startups - Rupy 2012

  1. 1. Rupy 2012 São José dos Campos Renzo Nuccitelli (renzo@nuccitec.com.br)
  2. 2.  Renzo Nuccitelli  Formado no ITA em 2008  Professor na Fatec-SJC  Diretor de Tecnologia do Qmagico  2,5 anos de experiência com GAE  Contatos ◦ renzo@nuccitec.com.br ◦ renzo.n@gmail.com ◦ Twitter: @nuccitec
  3. 3.  Sogro com laboratório fotográfico  Receber fotos de cliente pela internet  Desafio pessoal de fazer um site  Equipe disponível: “Euquipe”  Tempo disponível: 2 a 3 horas por dia mais fds  Experiencia com web: apenas backend Java e Front end Adobe Flex
  4. 4.  Para os não íntimos: GAE – Google App Engine  Hora do almoço na empresa  Apresentação do GAE pelo Reginaldo  5 minutos para fazer um Hello World em Java, incluindo montar ambiente e fazer o deploy!
  5. 5.  Desenvolvimento em 3 meses  Não aceitava vários frameworks Padrão, como Hibernate  Banco de Dados NOSQL (Big Table)  60 segundos para requisição ser atendida (30 segundos nessa época)  Cold Start
  6. 6.  Injeção de Dependência -> Reflection -> Performance limitada  Projeto Java carrega todas as classes  Conseqüência: tempo de startup aumenta proporcionalmente ao código (13 segundos para o RV, que era pequeno)  Conclusão: 60 segundos para atender requisição + Cold Start crescente = uma hora sua aplicação não liga
  7. 7.  Ir para AWS (“lock in” do GAE)  Usar Objectify em vez de JDO  Não usar IoC: JFERA para comunicação via AMF (http://jfera.nuccitec.com.br) em vez de Spring ou Guice: 5 segundos de cold start  Carregar classes sobre demanda  Ou...  Testar o Python
  8. 8.  Busca por frameworks ◦ Django – funcionava parcialmente  Curva de aprendizado muito alta  Solução utilizar o próprio webapp2 do Google
  9. 9.  Resolve o Cold Start
  10. 10.  Convention over Configuration  PHP  Java: VRaptor da Caelum  Fazer um rest por convenção  to_handler -> acha função dado o path  to_path -> calcula o path dada a função  https://bitbucket.org/renzon/zenwarch  Zenwarch - Zen Web Architecture  Maior dificuldade de Eng. de Software: Criar nomes =D
  11. 11.  313.237 fotos transmitidas de 03/2011 a 04/2012 no RV por menos de $35  182.099 fotos transmitidas nos últimos 8 meses no Pic Pro por menos de $ 15
  12. 12.  3 semestres usando o gae + Zenwarch na Fatec  Alunos devem fazer um projeto pequeno, mas completo  Apenas um aluno de 30 repetiu por não conseguir fazer a tarefa...  ... Fez em PHP no primeiro semestre
  13. 13.  Startups de Educação ◦ Khan ◦ Udacity  QMagico ◦ Onde agora sou Diretor de Tecnologia ◦ Vamos reforçar a equipe no próximo ano ;)
  14. 14.  Cota Grátis  Diferentes versões do site rodando ao mesmo tempo  Documentação completa e centralizada  Escala sozinho, sem configuração  Simples instalação de ambiente  Deploy mais que simples  BD Schemaless
  15. 15.  Curva de aprendizado  Restrições visando escalabilidade ◦ 60 segundos de resposta de requisição  Lock in  Storage Caro  BD Schemaless
  16. 16.  Foco em desenv – Fácil de de instalar e fazer deploy  Baixo custo – cota grátis  Ruim pelo lock in  Curva de aprendizado  Zenwarch pode ser usado em outros contextos, como Django
  17. 17. Obrigado pela Atenção Perguntas? Renzo Nuccitelli (renzo@nuccitec.com.br)

×