Batch
                Escalando um
                 sistema sem
                  “fermento”


                           ...
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
demanda
                                     5

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
NO
terç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ão
                                        19

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...
portal do pão

                    • fotos de pão caseiro
                    • produtos para fazer
                      ...
portal do pão

                    • fotos de pão caseiro
                    • produtos para fazer
                      ...
portal do pão

                    • fotos de pão caseiro
                    • produtos para fazer
                      ...
portal do pão

                    • fotos de pão caseiro
                    • produtos para fazer
                      ...
caiu na rede
                                       22

terça-feira, 1 de junho de 2010
acessos / m




                            volume de acessos
                                     23

terça-feira, 1 de j...
200


                                  150


                                  100


                                  50...
200


                                  150


                                  100


                                  50...
200


                                  150


                                  100


                                  50...
200


                                  150


                                  100


                                  50...
200
                                                                    200

                                  150


     ...
200
                                                                    200

                                  150


     ...
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!




                                          ...
problemas de banco?
                                  DBA.current_dba.kill!
                                    dba = DBA....
problemas de banco?
                                  DBA.current_dba.kill!
                                     dba = DBA...
problemas de infra?




                                  27

terça-feira, 1 de junho de 2010
problemas de infra?




                          torrar grana pra aliviar consciência
                                   ...
problemas no código?



                                  28

terça-feira, 1 de junho de 2010
NO
terça-feira, 1 de junho de 2010
architecture fail
                                          30

terça-feira, 1 de junho de 2010
caffeine fail
                                        31

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...
investigando o problema
                                  36

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?

                                  ...
NO
terç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
      ...
DJ - Desvantagens




                                          43

terça-feira, 1 de junho de 2010
DJ - Desvantagens


                    • Depende de ActiveRecord, mas
                            suporta backend MongoMa...
DJ - Desvantagens


                    • Depende de ActiveRecord, mas
                            suporta backend MongoMa...
DJ - Desvantagens


                    • Depende de ActiveRecord, mas
                            suporta backend MongoMa...
DJ - Detalhes


                    • sinatra-dj
                    • imcompatível com rails < 2.2
                    • ...
DJ
                                  45

terça-feira, 1 de junho de 2010
DJ
                                  46

terça-feira, 1 de junho de 2010
resolvendo o
                                    problema


                                       47

terça-feira, 1 de j...
delayed_paperclip!
                                  48

terça-feira, 1 de junho de 2010
delayed_paperclip
                                     49

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?

                      ...
NO
terça-feira, 1 de junho de 2010
BJ



                                  53

terça-feira, 1 de junho de 2010
BJ - Vantagens




                                        54

terça-feira, 1 de junho de 2010
BJ - Vantagens
                    • Simples e Robusta




                                        54

terça-feira, 1 de j...
BJ - Vantagens
                    • Simples e Robusta
                    • Instalação fácil




                        ...
BJ - Vantagens
                    • Simples e Robusta
                    • Instalação fácil
                    • Curva ...
BJ - Vantagens
                    • Simples e Robusta
                    • Instalação fácil
                    • Curva ...
BJ - Vantagens
                    • Simples e Robusta
                    • Instalação fácil
                    • Curva ...
BJ - Vantagens
                    • Simples e Robusta
                    • Instalação fácil
                    • Curva ...
BJ - Desvantagens




                                          55

terça-feira, 1 de junho de 2010
BJ - Desvantagens


                    • Execução serial




                                          55

terça-feira, 1...
BJ - Desvantagens


                    • Execução serial
                    • Dependente de ActiveRecord




           ...
BJ - Desvantagens


                    • Execução serial
                    • Dependente de ActiveRecord
               ...
BJ
                                  56

terça-feira, 1 de junho de 2010
resolvendo o
                                    problema


                                       57

terça-feira, 1 de j...
BJ
                                  58

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

               ...
precisa ser “online”?



                                  61

terça-feira, 1 de junho de 2010
NO
terça-feira, 1 de junho de 2010
resque
                 dj on steroids




                                   63

terça-feira, 1 de junho de 2010
resque


                    • persistente
                    • interface de administração
                    • rápido!!...
resque-web
                                      65

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

                    • ajax
                    • email
                    • impedir de agendar diversas vezes a...
monitoramento
                                    porque, afinal, ...




                                            69

t...
...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


                    • Monit
                    • God
                    • Munin


                      ...
cases



                    • AutoSEG
                    • github



                                    73

terça-feira...
obrigado!
                             @qmx => http://qmx.me
                      @scalone => http://twitter.com/scalone
...
Fotos

                                                                                      Thanks creative commons!
    ...
Nächste SlideShare
Wird geladen in …5
×

batch - escalando um sistema sem fermento

2.491 Aufrufe

Veröffentlicht am

Batch - escalando um sistema sem fermento

palestra apresentada por mim (@qmx) e pelo @scalone no #rubyreal2010

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

batch - escalando um sistema sem fermento

  1. 1. Batch Escalando um sistema sem “fermento” @qmx @scalone 1 terça-feira, 1 de junho de 2010
  2. 2. Batch? 2 terça-feira, 1 de junho de 2010
  3. 3. pão? 3 terça-feira, 1 de junho de 2010
  4. 4. lucro? 4 terça-feira, 1 de junho de 2010
  5. 5. demanda 5 terça-feira, 1 de junho de 2010
  6. 6. mais pão? 6 terça-feira, 1 de junho de 2010
  7. 7. mais lucro? 7 terça-feira, 1 de junho de 2010
  8. 8. mas.... 8 terça-feira, 1 de junho de 2010
  9. 9. isso escala? 9 terça-feira, 1 de junho de 2010
  10. 10. NO terça-feira, 1 de junho de 2010
  11. 11. 11 terça-feira, 1 de junho de 2010
  12. 12. #comofaz? 11 terça-feira, 1 de junho de 2010
  13. 13. padoca? 12 terça-feira, 1 de junho de 2010
  14. 14. mais lucro? 13 terça-feira, 1 de junho de 2010
  15. 15. e daí? 14 terça-feira, 1 de junho de 2010
  16. 16. fazer software 15 terça-feira, 1 de junho de 2010
  17. 17. é tão artesanal quanto 16 terça-feira, 1 de junho de 2010
  18. 18. fazer pão 17 terça-feira, 1 de junho de 2010
  19. 19. e daí? 18 terça-feira, 1 de junho de 2010
  20. 20. portal do pão 19 terça-feira, 1 de junho de 2010
  21. 21. ruby, obviamente 20 terça-feira, 1 de junho de 2010
  22. 22. portal do pão 21 terça-feira, 1 de junho de 2010
  23. 23. portal do pão • fotos de pão caseiro 21 terça-feira, 1 de junho de 2010
  24. 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. 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. 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. 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
  28. 28. caiu na rede 22 terça-feira, 1 de junho de 2010
  29. 29. acessos / m volume de acessos 23 terça-feira, 1 de junho de 2010
  30. 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. 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. 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. 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. 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. 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. 36. R.I.P. 24 terça-feira, 1 de junho de 2010
  37. 37. soluções! 25 terça-feira, 1 de junho de 2010
  38. 38. problemas de banco? 26 terça-feira, 1 de junho de 2010
  39. 39. problemas de banco? DBA.current_dba.kill! 26 terça-feira, 1 de junho de 2010
  40. 40. problemas de banco? DBA.current_dba.kill! dba = DBA.new 26 terça-feira, 1 de junho de 2010
  41. 41. problemas de banco? DBA.current_dba.kill! dba = DBA.new dba.acts_as_jedi 26 terça-feira, 1 de junho de 2010
  42. 42. problemas de infra? 27 terça-feira, 1 de junho de 2010
  43. 43. problemas de infra? torrar grana pra aliviar consciência 27 terça-feira, 1 de junho de 2010
  44. 44. problemas no código? 28 terça-feira, 1 de junho de 2010
  45. 45. NO terça-feira, 1 de junho de 2010
  46. 46. architecture fail 30 terça-feira, 1 de junho de 2010
  47. 47. caffeine fail 31 terça-feira, 1 de junho de 2010
  48. 48. no desespero... 32 terça-feira, 1 de junho de 2010
  49. 49. consultoria [A-Z]{3} 33 terça-feira, 1 de junho de 2010
  50. 50. qual era o problema mesmo? 34 terça-feira, 1 de junho de 2010
  51. 51. qual era o problema mesmo? 35 terça-feira, 1 de junho de 2010
  52. 52. investigando o problema 36 terça-feira, 1 de junho de 2010
  53. 53. 37 terça-feira, 1 de junho de 2010
  54. 54. upload de imagens? 37 terça-feira, 1 de junho de 2010
  55. 55. imagemagick 38 terça-feira, 1 de junho de 2010
  56. 56. o usuário precisa mesmo ver a imagem na hora? 39 terça-feira, 1 de junho de 2010
  57. 57. NO terça-feira, 1 de junho de 2010
  58. 58. DJ 41 terça-feira, 1 de junho de 2010
  59. 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
  60. 60. DJ - Desvantagens 43 terça-feira, 1 de junho de 2010
  61. 61. DJ - Desvantagens • Depende de ActiveRecord, mas suporta backend MongoMapper 43 terça-feira, 1 de junho de 2010
  62. 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. 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. 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. 65. DJ 45 terça-feira, 1 de junho de 2010
  66. 66. DJ 46 terça-feira, 1 de junho de 2010
  67. 67. resolvendo o problema 47 terça-feira, 1 de junho de 2010
  68. 68. delayed_paperclip! 48 terça-feira, 1 de junho de 2010
  69. 69. delayed_paperclip 49 terça-feira, 1 de junho de 2010
  70. 70. upload de vídeo? 50 terça-feira, 1 de junho de 2010
  71. 71. o usuário precisa esperar até o fim da conversão? 51 terça-feira, 1 de junho de 2010
  72. 72. NO terça-feira, 1 de junho de 2010
  73. 73. BJ 53 terça-feira, 1 de junho de 2010
  74. 74. BJ - Vantagens 54 terça-feira, 1 de junho de 2010
  75. 75. BJ - Vantagens • Simples e Robusta 54 terça-feira, 1 de junho de 2010
  76. 76. BJ - Vantagens • Simples e Robusta • Instalação fácil 54 terça-feira, 1 de junho de 2010
  77. 77. BJ - Vantagens • Simples e Robusta • Instalação fácil • Curva de aprendizado baixa 54 terça-feira, 1 de junho de 2010
  78. 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. 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. 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
  81. 81. BJ - Desvantagens 55 terça-feira, 1 de junho de 2010
  82. 82. BJ - Desvantagens • Execução serial 55 terça-feira, 1 de junho de 2010
  83. 83. BJ - Desvantagens • Execução serial • Dependente de ActiveRecord 55 terça-feira, 1 de junho de 2010
  84. 84. BJ - Desvantagens • Execução serial • Dependente de ActiveRecord • Documentação, que documentação? 55 terça-feira, 1 de junho de 2010
  85. 85. BJ 56 terça-feira, 1 de junho de 2010
  86. 86. resolvendo o problema 57 terça-feira, 1 de junho de 2010
  87. 87. BJ 58 terça-feira, 1 de junho de 2010
  88. 88. fácil, não? 59 terça-feira, 1 de junho de 2010
  89. 89. aquele relatório insano #medo 60 terça-feira, 1 de junho de 2010
  90. 90. precisa ser “online”? 61 terça-feira, 1 de junho de 2010
  91. 91. NO terça-feira, 1 de junho de 2010
  92. 92. resque dj on steroids 63 terça-feira, 1 de junho de 2010
  93. 93. resque • persistente • interface de administração • rápido!!! 64 terça-feira, 1 de junho de 2010
  94. 94. resque-web 65 terça-feira, 1 de junho de 2010
  95. 95. let’s batch! 66 terça-feira, 1 de junho de 2010
  96. 96. e daí? 67 terça-feira, 1 de junho de 2010
  97. 97. feedback • ajax • email • impedir de agendar diversas vezes a mesma tarefa • comet / websockets 68 terça-feira, 1 de junho de 2010
  98. 98. monitoramento porque, afinal, ... 69 terça-feira, 1 de junho de 2010
  99. 99. ...se não cuidar... 70 terça-feira, 1 de junho de 2010
  100. 100. ...já viu né... 71 terça-feira, 1 de junho de 2010
  101. 101. Monitoramento • Monit • God • Munin 72 terça-feira, 1 de junho de 2010
  102. 102. cases • AutoSEG • github 73 terça-feira, 1 de junho de 2010
  103. 103. obrigado! @qmx => http://qmx.me @scalone => http://twitter.com/scalone 74 terça-feira, 1 de junho de 2010
  104. 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

×