Batch Escalando um sistema sem “fermento” @qmx @scalone 1 terça-feira, 1 de junho de 2010
May 19, 2015
BatchEscalando um sistema sem “fermento”
@qmx@scalone
1
terça-feira, 1 de junho de 2010
Batch?
2
terça-feira, 1 de junho de 2010
pão?3
terça-feira, 1 de junho de 2010
lucro?4
terça-feira, 1 de junho de 2010
demanda5
terça-feira, 1 de junho de 2010
mais pão?6
terça-feira, 1 de junho de 2010
mais lucro?7
terça-feira, 1 de junho de 2010
mas....
8
terça-feira, 1 de junho de 2010
isso escala?9
terça-feira, 1 de junho de 2010
NOterça-feira, 1 de junho de 2010
11
terça-feira, 1 de junho de 2010
#comofaz?11
terça-feira, 1 de junho de 2010
padoca?12
terça-feira, 1 de junho de 2010
mais lucro?13
terça-feira, 1 de junho de 2010
e daí?
14
terça-feira, 1 de junho de 2010
fazer software
15
terça-feira, 1 de junho de 2010
é tão artesanal quanto
16
terça-feira, 1 de junho de 2010
fazer pão
17
terça-feira, 1 de junho de 2010
e daí?18
terça-feira, 1 de junho de 2010
portal do pão19
terça-feira, 1 de junho de 2010
ruby, obviamente
20
terça-feira, 1 de junho de 2010
portal do pão
21
terça-feira, 1 de junho de 2010
portal do pão
• fotos de pão caseiro
21
terça-feira, 1 de junho de 2010
portal do pão
• fotos de pão caseiro
• produtos para fazer pão
21
terça-feira, 1 de junho de 2010
portal do pão
• fotos de pão caseiro
• produtos para fazer pão
• receitas de pão
21
terça-feira, 1 de junho de 2010
portal do pão
• fotos de pão caseiro
• produtos para fazer pão
• receitas de pão
• comunidade
21
terça-feira, 1 de junho de 2010
portal do pão
• fotos de pão caseiro
• produtos para fazer pão
• receitas de pão
• comunidade
• pão opensource?
21
terça-feira, 1 de junho de 2010
caiu na rede22
terça-feira, 1 de junho de 2010
volume de acessos23
acessos / m
terça-feira, 1 de junho de 2010
volume de acessos23
10h 12h 14h 16h 18h0
50
100
150
200
acessos / m
terça-feira, 1 de junho de 2010
volume de acessos23
10h 12h 14h 16h 18h0
50
100
150
200
1
acessos / m
terça-feira, 1 de junho de 2010
volume de acessos23
10h 12h 14h 16h 18h0
50
100
150
200
1 1
acessos / m
terça-feira, 1 de junho de 2010
volume de acessos23
10h 12h 14h 16h 18h0
50
100
150
200
1 110
acessos / m
terça-feira, 1 de junho de 2010
volume de acessos23
10h 12h 14h 16h 18h0
50
100
150
200
1 110
200
acessos / m
terça-feira, 1 de junho de 2010
volume de acessos23
10h 12h 14h 16h 18h0
50
100
150
200
1 110
200
0
acessos / m
terça-feira, 1 de junho de 2010
R.I.P.24
terça-feira, 1 de junho de 2010
soluções!
25
terça-feira, 1 de junho de 2010
problemas de banco?
26
terça-feira, 1 de junho de 2010
problemas de banco?DBA.current_dba.kill!
26
terça-feira, 1 de junho de 2010
problemas de banco?DBA.current_dba.kill!
dba = DBA.new
26
terça-feira, 1 de junho de 2010
problemas de banco?DBA.current_dba.kill!
dba = DBA.newdba.acts_as_jedi
26
terça-feira, 1 de junho de 2010
problemas de infra?
27
terça-feira, 1 de junho de 2010
problemas de infra?
torrar grana pra aliviar consciência27
terça-feira, 1 de junho de 2010
problemas no código?
28
terça-feira, 1 de junho de 2010
NOterça-feira, 1 de junho de 2010
architecture fail30
terça-feira, 1 de junho de 2010
caffeine fail31
terça-feira, 1 de junho de 2010
no desespero...32
terça-feira, 1 de junho de 2010
consultoria [A-Z]{3}33
terça-feira, 1 de junho de 2010
qual era o problema mesmo?
34
terça-feira, 1 de junho de 2010
qual era o problema mesmo?
35
terça-feira, 1 de junho de 2010
investigando o problema36
terça-feira, 1 de junho de 2010
37
terça-feira, 1 de junho de 2010
upload de imagens?
37
terça-feira, 1 de junho de 2010
imagemagick
38
terça-feira, 1 de junho de 2010
o usuário precisa mesmo ver a imagem
na hora?
39
terça-feira, 1 de junho de 2010
NOterça-feira, 1 de junho de 2010
DJ
41
terça-feira, 1 de junho de 2010
DJ - Vantagens
• Excelente documentação e tutoriais
• Suporta prioridades
• Curva de aprendizado baixa
• Múltiplos Workers
42
terça-feira, 1 de junho de 2010
DJ - Desvantagens
43
terça-feira, 1 de junho de 2010
DJ - Desvantagens
• Depende de ActiveRecord, mas suporta backend MongoMapper
43
terça-feira, 1 de junho de 2010
DJ - Desvantagens
• Depende de ActiveRecord, mas suporta backend MongoMapper
• Delayed Job usa UTC, cuidado
43
terça-feira, 1 de junho de 2010
DJ - Desvantagens
• Depende de ActiveRecord, mas suporta backend MongoMapper
• Delayed Job usa UTC, cuidado
• Engessado em tarefas rake
43
terça-feira, 1 de junho de 2010
DJ - Detalhes
• sinatra-dj
• imcompatível com rails < 2.2
• usa daemon ou worker(s)
44
terça-feira, 1 de junho de 2010
DJ45
terça-feira, 1 de junho de 2010
DJ46
terça-feira, 1 de junho de 2010
resolvendo o problema
47
terça-feira, 1 de junho de 2010
delayed_paperclip!48
terça-feira, 1 de junho de 2010
delayed_paperclip49
terça-feira, 1 de junho de 2010
upload de vídeo?
50
terça-feira, 1 de junho de 2010
o usuário precisa esperar até o fim da
conversão?
51
terça-feira, 1 de junho de 2010
NOterça-feira, 1 de junho de 2010
BJ
53
terça-feira, 1 de junho de 2010
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
• Simples e Robusta
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
• Simples e Robusta
• Instalação fácil
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
• Simples e Robusta
• Instalação fácil
• Curva de aprendizado baixa
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
• Simples e Robusta
• Instalação fácil
• Curva de aprendizado baixa
• Ambiente de execução no nível do SO (syscall)
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
• Simples e Robusta
• Instalação fácil
• Curva de aprendizado baixa
• Ambiente de execução no nível do SO (syscall)
• Suporta níveis de prioridade
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
• Simples e Robusta
• Instalação fácil
• Curva de aprendizado baixa
• Ambiente de execução no nível do SO (syscall)
• Suporta níveis de prioridade
• Roda no windows, acredite!
54
BJ - Vantagens
terça-feira, 1 de junho de 2010
BJ - Desvantagens
55
terça-feira, 1 de junho de 2010
BJ - Desvantagens
• Execução serial
55
terça-feira, 1 de junho de 2010
BJ - Desvantagens
• Execução serial
• Dependente de ActiveRecord
55
terça-feira, 1 de junho de 2010
BJ - Desvantagens
• Execução serial
• Dependente de ActiveRecord
• Documentação, que documentação?
55
terça-feira, 1 de junho de 2010
BJ56
terça-feira, 1 de junho de 2010
resolvendo o problema
57
terça-feira, 1 de junho de 2010
BJ58
terça-feira, 1 de junho de 2010
fácil, não?
59
terça-feira, 1 de junho de 2010
aquele relatório insano #medo
60
terça-feira, 1 de junho de 2010
precisa ser “online”?
61
terça-feira, 1 de junho de 2010
NOterça-feira, 1 de junho de 2010
resquedj on steroids
63
terça-feira, 1 de junho de 2010
resque
• persistente
• interface de administração
• rápido!!!
64
terça-feira, 1 de junho de 2010
resque-web65
terça-feira, 1 de junho de 2010
let’s batch!
66
terça-feira, 1 de junho de 2010
e daí?
67
terça-feira, 1 de junho de 2010
feedback
68
• ajax
• impedir de agendar diversas vezes a mesma tarefa
• comet / websockets
terça-feira, 1 de junho de 2010
monitoramento
69
porque, afinal, ...
terça-feira, 1 de junho de 2010
...se não cuidar...70
terça-feira, 1 de junho de 2010
...já viu né...71
terça-feira, 1 de junho de 2010
Monitoramento
72
• Monit
• God
• Munin
terça-feira, 1 de junho de 2010
cases
• AutoSEG
• github
73
terça-feira, 1 de junho de 2010
obrigado!@qmx => http://qmx.me
@scalone => http://twitter.com/scalone
74
terça-feira, 1 de junho de 2010
http://www.flickr.com/photos/akshaydavis/186598700/sizes/o/http://www.flickr.com/photos/snidely7/4374153874/sizes/o/http://www.flickr.com/photos/clocky/2660785933/sizes/o/http://hrblogatresearchvoice.files.wordpress.com/2009/05/borat1.jpghttp://www.flickr.com/photos/wheatfields/3673314570/sizes/o/http://www.flickr.com/photos/daffyduke/2872752836/sizes/o/in/set-72157607388359306/http://www.flickr.com/photos/daffyduke/2872753092/sizes/o/in/set-72157607388359306/http://www.flickr.com/photos/daffyduke/2871921629/sizes/l/in/set-72157607388359306/http://www.flickr.com/photos/daffyduke/2872749786/sizes/o/in/set-72157607388359306/http://www.flickr.com/photos/kevinkemmerer/2998086908/sizes/l/http://www.flickr.com/photos/bibliona/538164298/sizes/o/in/photostream/http://www.flickr.com/photos/jonmarulanda/3736708170/sizes/o/http://www.flickr.com/photos/dirgon/446839052/sizes/o/http://www.flickr.com/photos/miemo/210258035/sizes/l/http://www.flickr.com/photos/m4tik/47714548/sizes/o/http://www.flickr.com/photos/muehlinghaus/235334412/sizes/l/http://www.flickr.com/photos/abusx/2181644630/sizes/l/http://www.flickr.com/photos/arthur-caranta/2925352521/sizes/l/http://www.flickr.com/photos/paulobrandao/2670585467/sizes/o/
75
Fotos
Thanks creative commons!
terça-feira, 1 de junho de 2010