104
Batch Escalando um sistema sem fermento” @qmx @scalone 1 terça-feira, 1 de junho de 2010

batch - escalando um sistema sem fermento

Embed Size (px)

DESCRIPTION

Batch - escalando um sistema sem fermentopalestra apresentada por mim (@qmx) e pelo @scalone no #rubyreal2010

Citation preview

Page 1: batch - escalando um sistema sem fermento

BatchEscalando um sistema sem “fermento”

@qmx@scalone

1

terça-feira, 1 de junho de 2010

Page 2: batch - escalando um sistema sem fermento

Batch?

2

terça-feira, 1 de junho de 2010

Page 3: batch - escalando um sistema sem fermento

pão?3

terça-feira, 1 de junho de 2010

Page 4: batch - escalando um sistema sem fermento

lucro?4

terça-feira, 1 de junho de 2010

Page 5: batch - escalando um sistema sem fermento

demanda5

terça-feira, 1 de junho de 2010

Page 6: batch - escalando um sistema sem fermento

mais pão?6

terça-feira, 1 de junho de 2010

Page 7: batch - escalando um sistema sem fermento

mais lucro?7

terça-feira, 1 de junho de 2010

Page 8: batch - escalando um sistema sem fermento

mas....

8

terça-feira, 1 de junho de 2010

Page 9: batch - escalando um sistema sem fermento

isso escala?9

terça-feira, 1 de junho de 2010

Page 10: batch - escalando um sistema sem fermento

NOterça-feira, 1 de junho de 2010

Page 11: batch - escalando um sistema sem fermento

11

terça-feira, 1 de junho de 2010

Page 12: batch - escalando um sistema sem fermento

#comofaz?11

terça-feira, 1 de junho de 2010

Page 13: batch - escalando um sistema sem fermento

padoca?12

terça-feira, 1 de junho de 2010

Page 14: batch - escalando um sistema sem fermento

mais lucro?13

terça-feira, 1 de junho de 2010

Page 15: batch - escalando um sistema sem fermento

e daí?

14

terça-feira, 1 de junho de 2010

Page 16: batch - escalando um sistema sem fermento

fazer software

15

terça-feira, 1 de junho de 2010

Page 17: batch - escalando um sistema sem fermento

é tão artesanal quanto

16

terça-feira, 1 de junho de 2010

Page 18: batch - escalando um sistema sem fermento

fazer pão

17

terça-feira, 1 de junho de 2010

Page 19: batch - escalando um sistema sem fermento

e daí?18

terça-feira, 1 de junho de 2010

Page 20: batch - escalando um sistema sem fermento

portal do pão19

terça-feira, 1 de junho de 2010

Page 21: batch - escalando um sistema sem fermento

ruby, obviamente

20

terça-feira, 1 de junho de 2010

Page 22: batch - escalando um sistema sem fermento

portal do pão

21

terça-feira, 1 de junho de 2010

Page 23: batch - escalando um sistema sem fermento

portal do pão

• fotos de pão caseiro

21

terça-feira, 1 de junho de 2010

Page 24: batch - escalando um sistema sem fermento

portal do pão

• fotos de pão caseiro

• produtos para fazer pão

21

terça-feira, 1 de junho de 2010

Page 25: batch - escalando um sistema sem fermento

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

Page 26: batch - escalando um sistema sem fermento

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

Page 27: batch - escalando um sistema sem fermento

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

Page 28: batch - escalando um sistema sem fermento

caiu na rede22

terça-feira, 1 de junho de 2010

Page 29: batch - escalando um sistema sem fermento

volume de acessos23

acessos / m

terça-feira, 1 de junho de 2010

Page 30: batch - escalando um sistema sem fermento

volume de acessos23

10h 12h 14h 16h 18h0

50

100

150

200

acessos / m

terça-feira, 1 de junho de 2010

Page 31: batch - escalando um sistema sem fermento

volume de acessos23

10h 12h 14h 16h 18h0

50

100

150

200

1

acessos / m

terça-feira, 1 de junho de 2010

Page 32: batch - escalando um sistema sem fermento

volume de acessos23

10h 12h 14h 16h 18h0

50

100

150

200

1 1

acessos / m

terça-feira, 1 de junho de 2010

Page 33: batch - escalando um sistema sem fermento

volume de acessos23

10h 12h 14h 16h 18h0

50

100

150

200

1 110

acessos / m

terça-feira, 1 de junho de 2010

Page 34: batch - escalando um sistema sem fermento

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

Page 35: batch - escalando um sistema sem fermento

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

Page 36: batch - escalando um sistema sem fermento

R.I.P.24

terça-feira, 1 de junho de 2010

Page 37: batch - escalando um sistema sem fermento

soluções!

25

terça-feira, 1 de junho de 2010

Page 38: batch - escalando um sistema sem fermento

problemas de banco?

26

terça-feira, 1 de junho de 2010

Page 39: batch - escalando um sistema sem fermento

problemas de banco?DBA.current_dba.kill!

26

terça-feira, 1 de junho de 2010

Page 40: batch - escalando um sistema sem fermento

problemas de banco?DBA.current_dba.kill!

dba = DBA.new

26

terça-feira, 1 de junho de 2010

Page 41: batch - escalando um sistema sem fermento

problemas de banco?DBA.current_dba.kill!

dba = DBA.newdba.acts_as_jedi

26

terça-feira, 1 de junho de 2010

Page 42: batch - escalando um sistema sem fermento

problemas de infra?

27

terça-feira, 1 de junho de 2010

Page 43: batch - escalando um sistema sem fermento

problemas de infra?

torrar grana pra aliviar consciência27

terça-feira, 1 de junho de 2010

Page 44: batch - escalando um sistema sem fermento

problemas no código?

28

terça-feira, 1 de junho de 2010

Page 45: batch - escalando um sistema sem fermento

NOterça-feira, 1 de junho de 2010

Page 46: batch - escalando um sistema sem fermento

architecture fail30

terça-feira, 1 de junho de 2010

Page 47: batch - escalando um sistema sem fermento

caffeine fail31

terça-feira, 1 de junho de 2010

Page 48: batch - escalando um sistema sem fermento

no desespero...32

terça-feira, 1 de junho de 2010

Page 49: batch - escalando um sistema sem fermento

consultoria [A-Z]{3}33

terça-feira, 1 de junho de 2010

Page 50: batch - escalando um sistema sem fermento

qual era o problema mesmo?

34

terça-feira, 1 de junho de 2010

Page 51: batch - escalando um sistema sem fermento

qual era o problema mesmo?

35

terça-feira, 1 de junho de 2010

Page 52: batch - escalando um sistema sem fermento

investigando o problema36

terça-feira, 1 de junho de 2010

Page 53: batch - escalando um sistema sem fermento

37

terça-feira, 1 de junho de 2010

Page 54: batch - escalando um sistema sem fermento

upload de imagens?

37

terça-feira, 1 de junho de 2010

Page 55: batch - escalando um sistema sem fermento

imagemagick

38

terça-feira, 1 de junho de 2010

Page 56: batch - escalando um sistema sem fermento

o usuário precisa mesmo ver a imagem

na hora?

39

terça-feira, 1 de junho de 2010

Page 57: batch - escalando um sistema sem fermento

NOterça-feira, 1 de junho de 2010

Page 58: batch - escalando um sistema sem fermento

DJ

41

terça-feira, 1 de junho de 2010

Page 59: batch - escalando um sistema sem fermento

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

Page 60: batch - escalando um sistema sem fermento

DJ - Desvantagens

43

terça-feira, 1 de junho de 2010

Page 61: batch - escalando um sistema sem fermento

DJ - Desvantagens

• Depende de ActiveRecord, mas suporta backend MongoMapper

43

terça-feira, 1 de junho de 2010

Page 62: batch - escalando um sistema sem fermento

DJ - Desvantagens

• Depende de ActiveRecord, mas suporta backend MongoMapper

• Delayed Job usa UTC, cuidado

43

terça-feira, 1 de junho de 2010

Page 63: batch - escalando um sistema sem fermento

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

Page 64: batch - escalando um sistema sem fermento

DJ - Detalhes

• sinatra-dj

• imcompatível com rails < 2.2

• usa daemon ou worker(s)

44

terça-feira, 1 de junho de 2010

Page 65: batch - escalando um sistema sem fermento

DJ45

terça-feira, 1 de junho de 2010

Page 66: batch - escalando um sistema sem fermento

DJ46

terça-feira, 1 de junho de 2010

Page 67: batch - escalando um sistema sem fermento

resolvendo o problema

47

terça-feira, 1 de junho de 2010

Page 68: batch - escalando um sistema sem fermento

delayed_paperclip!48

terça-feira, 1 de junho de 2010

Page 69: batch - escalando um sistema sem fermento

delayed_paperclip49

terça-feira, 1 de junho de 2010

Page 70: batch - escalando um sistema sem fermento

upload de vídeo?

50

terça-feira, 1 de junho de 2010

Page 71: batch - escalando um sistema sem fermento

o usuário precisa esperar até o fim da

conversão?

51

terça-feira, 1 de junho de 2010

Page 72: batch - escalando um sistema sem fermento

NOterça-feira, 1 de junho de 2010

Page 73: batch - escalando um sistema sem fermento

BJ

53

terça-feira, 1 de junho de 2010

Page 74: batch - escalando um sistema sem fermento

54

BJ - Vantagens

terça-feira, 1 de junho de 2010

Page 75: batch - escalando um sistema sem fermento

• Simples e Robusta

54

BJ - Vantagens

terça-feira, 1 de junho de 2010

Page 76: batch - escalando um sistema sem fermento

• Simples e Robusta

• Instalação fácil

54

BJ - Vantagens

terça-feira, 1 de junho de 2010

Page 77: batch - escalando um sistema sem fermento

• Simples e Robusta

• Instalação fácil

• Curva de aprendizado baixa

54

BJ - Vantagens

terça-feira, 1 de junho de 2010

Page 78: batch - escalando um sistema sem fermento

• 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

Page 79: batch - escalando um sistema sem fermento

• 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

Page 80: batch - escalando um sistema sem fermento

• 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

Page 81: batch - escalando um sistema sem fermento

BJ - Desvantagens

55

terça-feira, 1 de junho de 2010

Page 82: batch - escalando um sistema sem fermento

BJ - Desvantagens

• Execução serial

55

terça-feira, 1 de junho de 2010

Page 83: batch - escalando um sistema sem fermento

BJ - Desvantagens

• Execução serial

• Dependente de ActiveRecord

55

terça-feira, 1 de junho de 2010

Page 84: batch - escalando um sistema sem fermento

BJ - Desvantagens

• Execução serial

• Dependente de ActiveRecord

• Documentação, que documentação?

55

terça-feira, 1 de junho de 2010

Page 85: batch - escalando um sistema sem fermento

BJ56

terça-feira, 1 de junho de 2010

Page 86: batch - escalando um sistema sem fermento

resolvendo o problema

57

terça-feira, 1 de junho de 2010

Page 87: batch - escalando um sistema sem fermento

BJ58

terça-feira, 1 de junho de 2010

Page 88: batch - escalando um sistema sem fermento

fácil, não?

59

terça-feira, 1 de junho de 2010

Page 89: batch - escalando um sistema sem fermento

aquele relatório insano #medo

60

terça-feira, 1 de junho de 2010

Page 90: batch - escalando um sistema sem fermento

precisa ser “online”?

61

terça-feira, 1 de junho de 2010

Page 91: batch - escalando um sistema sem fermento

NOterça-feira, 1 de junho de 2010

Page 92: batch - escalando um sistema sem fermento

resquedj on steroids

63

terça-feira, 1 de junho de 2010

Page 93: batch - escalando um sistema sem fermento

resque

• persistente

• interface de administração

• rápido!!!

64

terça-feira, 1 de junho de 2010

Page 94: batch - escalando um sistema sem fermento

resque-web65

terça-feira, 1 de junho de 2010

Page 95: batch - escalando um sistema sem fermento

let’s batch!

66

terça-feira, 1 de junho de 2010

Page 96: batch - escalando um sistema sem fermento

e daí?

67

terça-feira, 1 de junho de 2010

Page 97: batch - escalando um sistema sem fermento

feedback

68

• ajax

• email

• impedir de agendar diversas vezes a mesma tarefa

• comet / websockets

terça-feira, 1 de junho de 2010

Page 98: batch - escalando um sistema sem fermento

monitoramento

69

porque, afinal, ...

terça-feira, 1 de junho de 2010

Page 99: batch - escalando um sistema sem fermento

...se não cuidar...70

terça-feira, 1 de junho de 2010

Page 100: batch - escalando um sistema sem fermento

...já viu né...71

terça-feira, 1 de junho de 2010

Page 101: batch - escalando um sistema sem fermento

Monitoramento

72

• Monit

• God

• Munin

terça-feira, 1 de junho de 2010

Page 102: batch - escalando um sistema sem fermento

cases

• AutoSEG

• github

73

terça-feira, 1 de junho de 2010

Page 103: batch - escalando um sistema sem fermento

obrigado!@qmx => http://qmx.me

@scalone => http://twitter.com/scalone

74

terça-feira, 1 de junho de 2010

Page 104: batch - escalando um sistema sem fermento

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