Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Google App Engine, Python e Startups - Rupy 2012

921 views

Published on

Apresentação sobre Python e Google App Engine, cloud do Google, no contexto de startups e desenvolvimento de aplicações para internet solitário

Published in: Technology
  • @CristianoGregio Vlw Cristiano. É gratificante saber que pude contribuir um pouco com para o conhecimentos de vcs na Fatec.
    Dá uma olhada pra ver o projeto modificado: https://bitbucket.org/renzon/zenwarch/downloads
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • O Renzo é um ótimo professor. Aprendi muito com ele sobre Python para Web e o projeto proposto por ele é bastante interessante com entregas feitas durante o semestre.
    Valeu Renzo! Forte abraço
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Google App Engine, Python e Startups - Rupy 2012

  1. 1. Rupy 2012 São José dos CamposRenzo 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)

×