batch - escalando um sistema sem fermento1. Batch
Escalando um
sistema sem
“fermento”
@qmx
@scalone
1
terça-feira, 1 de junho de 2010
2. Batch?
2
terça-feira, 1 de junho de 2010
3. pão?
3
terça-feira, 1 de junho de 2010
4. lucro?
4
terça-feira, 1 de junho de 2010
5. demanda
5
terça-feira, 1 de junho de 2010
6. mais pão?
6
terça-feira, 1 de junho de 2010
8. mas....
8
terça-feira, 1 de junho de 2010
12. #comofaz?
11
terça-feira, 1 de junho de 2010
13. padoca?
12
terça-feira, 1 de junho de 2010
15. e daí?
14
terça-feira, 1 de junho de 2010
18. fazer pão
17
terça-feira, 1 de junho de 2010
19. e daí?
18
terça-feira, 1 de junho de 2010
23. portal do pão
• fotos de pão caseiro
21
terça-feira, 1 de junho de 2010
24. portal do pão
• fotos de pão caseiro
• produtos para fazer
pão
21
terça-feira, 1 de junho de 2010
25. 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
26. 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
27. 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
29. acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
30. 200
150
100
50
0
10h 12h 14h 16h 18h
acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
31. 200
150
100
50
0
1
10h 12h 14h 16h 18h
acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
32. 200
150
100
50
0
1 1
10h 12h 14h 16h 18h
acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
33. 200
150
100
50
0 10
1 1
10h 12h 14h 16h 18h
acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
34. 200
200
150
100
50
0 10
1 1
10h 12h 14h 16h 18h
acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
35. 200
200
150
100
50
0 10
1 1 0
10h 12h 14h 16h 18h
acessos / m
volume de acessos
23
terça-feira, 1 de junho de 2010
36. R.I.P.
24
terça-feira, 1 de junho de 2010
37. soluções!
25
terça-feira, 1 de junho de 2010
41. problemas de banco?
DBA.current_dba.kill!
dba = DBA.new
dba.acts_as_jedi
26
terça-feira, 1 de junho de 2010
43. problemas de infra?
torrar grana pra aliviar consciência
27
terça-feira, 1 de junho de 2010
50. qual era o problema mesmo?
34
terça-feira, 1 de junho de 2010
51. qual era o problema
mesmo?
35
terça-feira, 1 de junho de 2010
58. DJ
41
terça-feira, 1 de junho de 2010
59. 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
61. DJ - Desvantagens
• Depende de ActiveRecord, mas
suporta backend MongoMapper
43
terça-feira, 1 de junho de 2010
62. DJ - Desvantagens
• Depende de ActiveRecord, mas
suporta backend MongoMapper
• Delayed Job usa UTC, cuidado
43
terça-feira, 1 de junho de 2010
63. 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
64. DJ - Detalhes
• sinatra-dj
• imcompatível com rails < 2.2
• usa daemon ou worker(s)
44
terça-feira, 1 de junho de 2010
65. DJ
45
terça-feira, 1 de junho de 2010
66. DJ
46
terça-feira, 1 de junho de 2010
67. resolvendo o
problema
47
terça-feira, 1 de junho de 2010
71. o usuário precisa
esperar até o fim da
conversão?
51
terça-feira, 1 de junho de 2010
73. BJ
53
terça-feira, 1 de junho de 2010
75. BJ - Vantagens
• Simples e Robusta
54
terça-feira, 1 de junho de 2010
76. BJ - Vantagens
• Simples e Robusta
• Instalação fácil
54
terça-feira, 1 de junho de 2010
77. BJ - Vantagens
• Simples e Robusta
• Instalação fácil
• Curva de aprendizado baixa
54
terça-feira, 1 de junho de 2010
78. BJ - Vantagens
• Simples e Robusta
• Instalação fácil
• Curva de aprendizado baixa
• Ambiente de execução no nível do SO
(syscall)
54
terça-feira, 1 de junho de 2010
79. BJ - Vantagens
• 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
terça-feira, 1 de junho de 2010
80. BJ - Vantagens
• 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
terça-feira, 1 de junho de 2010
83. BJ - Desvantagens
• Execução serial
• Dependente de ActiveRecord
55
terça-feira, 1 de junho de 2010
84. BJ - Desvantagens
• Execução serial
• Dependente de ActiveRecord
• Documentação, que documentação?
55
terça-feira, 1 de junho de 2010
85. BJ
56
terça-feira, 1 de junho de 2010
86. resolvendo o
problema
57
terça-feira, 1 de junho de 2010
87. BJ
58
terça-feira, 1 de junho de 2010
92. resque
dj on steroids
63
terça-feira, 1 de junho de 2010
93. resque
• persistente
• interface de administração
• rápido!!!
64
terça-feira, 1 de junho de 2010
96. e daí?
67
terça-feira, 1 de junho de 2010
97. feedback
• ajax
• email
• impedir de agendar diversas vezes a
mesma tarefa
• comet / websockets
68
terça-feira, 1 de junho de 2010
98. monitoramento
porque, afinal, ...
69
terça-feira, 1 de junho de 2010
101. Monitoramento
• Monit
• God
• Munin
72
terça-feira, 1 de junho de 2010
102. cases
• AutoSEG
• github
73
terça-feira, 1 de junho de 2010
103. obrigado!
@qmx => http://qmx.me
@scalone => http://twitter.com/scalone
74
terça-feira, 1 de junho de 2010
104. Fotos
Thanks creative commons!
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.jpg
http://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
terça-feira, 1 de junho de 2010