Top Banner
Google App Engine, Python e Startups Rupy 2012 São José dos Campos Renzo Nuccitelli ([email protected])
21

Google App Engine, Python e Startups - Rupy 2012

Dec 18, 2014

Download

Technology

Apresentação sobre Python e Google App Engine, cloud do Google, no contexto de startups e desenvolvimento de aplicações para internet solitário
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Google App Engine, Python e Startups - Rupy 2012

Google App Engine, Python e Startups

Rupy 2012São José dos Campos

Renzo Nuccitelli ([email protected])

Page 2: Google App Engine, Python e Startups - Rupy 2012

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

[email protected][email protected]◦ Twitter: @nuccitec

Bio

Page 3: Google App Engine, Python e Startups - Rupy 2012

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

Problema: App para receber fotos

Page 4: Google App Engine, Python e Startups - Rupy 2012

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!

Solução: GAE

Page 5: Google App Engine, Python e Startups - Rupy 2012

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

Primeira versão: Java

Page 6: Google App Engine, Python e Startups - Rupy 2012

Revelação Virtual

Page 7: Google App Engine, Python e Startups - Rupy 2012

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

Problemas: Cold Start, Spring

Page 8: Google App Engine, Python e Startups - Rupy 2012

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

Alternativas

Page 9: Google App Engine, Python e Startups - Rupy 2012

Pic Pro

Page 10: Google App Engine, Python e Startups - Rupy 2012

Busca por frameworks◦ Django – funcionava parcialmente

Curva de aprendizado muito alta Solução utilizar o próprio webapp2 do

Google

Do Java para o Python

Page 11: Google App Engine, Python e Startups - Rupy 2012

Do Java para o Python: webapp2

Page 12: Google App Engine, Python e Startups - Rupy 2012

Do Java para o Python: webapp2 Resolve o Cold Start

Page 13: Google App Engine, Python e Startups - Rupy 2012

Webapp2: Roteamento

Page 14: Google App Engine, Python e Startups - Rupy 2012

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

Zenwarch

Page 15: Google App Engine, Python e Startups - Rupy 2012

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

E a transmissão de fotos?

Page 16: Google App Engine, Python e Startups - Rupy 2012

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

Mas é fácil fazer um web app no GAE?

Page 17: Google App Engine, Python e Startups - Rupy 2012

Startups de Educação◦ Khan◦ Udacity

QMagico◦ Onde agora sou Diretor de Tecnologia◦ Vamos reforçar a equipe no próximo ano ;)

Quem Usa GAE?

Page 18: Google App Engine, Python e Startups - Rupy 2012

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

Prós

Page 19: Google App Engine, Python e Startups - Rupy 2012

Curva de aprendizado Restrições visando escalabilidade

◦ 60 segundos de resposta de requisição Lock in Storage Caro BD Schemaless

Contras

Page 20: Google App Engine, Python e Startups - Rupy 2012

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

Conclusões

Page 21: Google App Engine, Python e Startups - Rupy 2012

Obrigado pela AtençãoPerguntas?

Renzo Nuccitelli ([email protected])