1. Rupy 2012
São José dos Campos
Renzo Nuccitelli (renzo@nuccitec.com.br)
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. 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. 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. 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.
7. 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
8. 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
9.
10. Busca por frameworks
◦ Django – funcionava parcialmente
Curva de aprendizado muito alta
Solução utilizar o próprio webapp2 do Google
14. 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
15. 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
16. 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
17. Startups de Educação
◦ Khan
◦ Udacity
QMagico
◦ Onde agora sou Diretor de Tecnologia
◦ Vamos reforçar a equipe no próximo ano ;)
18. 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
19. Curva de aprendizado
Restrições visando escalabilidade
◦ 60 segundos de resposta de requisição
Lock in
Storage Caro
BD Schemaless
20. 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