71
Domesticando Dragões com soluções escaláveis @abstractj @qmx Monday, September 13, 2010

Qconsp domesticando dragoes com soluções escaláveis

Embed Size (px)

Citation preview

Page 1: Qconsp   domesticando dragoes com soluções escaláveis

Domesticando Dragões com soluções escaláveis

@abstractj@qmx

Monday, September 13, 2010

Page 2: Qconsp   domesticando dragoes com soluções escaláveis

O cliente pediu um sistema

Monday, September 13, 2010

Page 3: Qconsp   domesticando dragoes com soluções escaláveis

Envio de SMS pela intranet +

aplicacao web pra ver detalhes da mensagem

Monday, September 13, 2010

Page 4: Qconsp   domesticando dragoes com soluções escaláveis

A cláusula

“O sistema deve fazer tudo”Caso de uso, 2004

Monday, September 13, 2010

Page 5: Qconsp   domesticando dragoes com soluções escaláveis

Teu chefeMonday, September 13, 2010

Page 6: Qconsp   domesticando dragoes com soluções escaláveis

Fácil! Monday, September 13, 2010

Page 7: Qconsp   domesticando dragoes com soluções escaláveis

Negócio fechadoMonday, September 13, 2010

Page 8: Qconsp   domesticando dragoes com soluções escaláveis

SEU EMO!!!!

Monday, September 13, 2010

Page 9: Qconsp   domesticando dragoes com soluções escaláveis

Sistema em piloto10.000 tx/h = quase 3 tx/s

Monday, September 13, 2010

Page 10: Qconsp   domesticando dragoes com soluções escaláveis

Bonito e PerformáticoMonday, September 13, 2010

Page 11: Qconsp   domesticando dragoes com soluções escaláveis

Cliente satisfeitoMonday, September 13, 2010

Page 12: Qconsp   domesticando dragoes com soluções escaláveis

A volta dos que não foramMonday, September 13, 2010

Page 13: Qconsp   domesticando dragoes com soluções escaláveis

A cláusula

“O sistema deve fazer tudo”Caso de uso, 2004

Monday, September 13, 2010

Page 14: Qconsp   domesticando dragoes com soluções escaláveis

“Integraçãozinha”

Monday, September 13, 2010

Page 15: Qconsp   domesticando dragoes com soluções escaláveis

O legadoMonday, September 13, 2010

Page 16: Qconsp   domesticando dragoes com soluções escaláveis

Moleza! Monday, September 13, 2010

Page 17: Qconsp   domesticando dragoes com soluções escaláveis

Legado = Mainframe

Monday, September 13, 2010

Page 18: Qconsp   domesticando dragoes com soluções escaláveis

Ouch!Monday, September 13, 2010

Page 19: Qconsp   domesticando dragoes com soluções escaláveis

MainframeMonday, September 13, 2010

Page 20: Qconsp   domesticando dragoes com soluções escaláveis

Não gosta dos seus dados

Monday, September 13, 2010

Page 21: Qconsp   domesticando dragoes com soluções escaláveis

Não quer trabalhar pra você

Monday, September 13, 2010

Page 22: Qconsp   domesticando dragoes com soluções escaláveis

Não espera, você espera

Monday, September 13, 2010

Page 23: Qconsp   domesticando dragoes com soluções escaláveis

te odeiaMonday, September 13, 2010

Page 24: Qconsp   domesticando dragoes com soluções escaláveis

Mainframe não escala

Monday, September 13, 2010

Page 25: Qconsp   domesticando dragoes com soluções escaláveis

Mainframe não escala?

Monday, September 13, 2010

Page 26: Qconsp   domesticando dragoes com soluções escaláveis

Motivos técnicosMonday, September 13, 2010

Page 27: Qconsp   domesticando dragoes com soluções escaláveis

FUUUUUUMonday, September 13, 2010

Page 28: Qconsp   domesticando dragoes com soluções escaláveis

#medo?Monday, September 13, 2010

Page 29: Qconsp   domesticando dragoes com soluções escaláveis

Ainda bemMonday, September 13, 2010

Page 30: Qconsp   domesticando dragoes com soluções escaláveis

Sobrou!

Monday, September 13, 2010

Page 31: Qconsp   domesticando dragoes com soluções escaláveis

Flat files?Monday, September 13, 2010

Page 32: Qconsp   domesticando dragoes com soluções escaláveis

batchizando?

Monday, September 13, 2010

Page 33: Qconsp   domesticando dragoes com soluções escaláveis

Filas de Mensageria!

Monday, September 13, 2010

Page 34: Qconsp   domesticando dragoes com soluções escaláveis

Problema resolvido! 3 tx/s

Monday, September 13, 2010

Page 35: Qconsp   domesticando dragoes com soluções escaláveis

A cláusula

“O sistema deve fazer tudo”Caso de uso, 2004

Monday, September 13, 2010

Page 36: Qconsp   domesticando dragoes com soluções escaláveis

Projeto piloto 3 tx/s = Bom

Monday, September 13, 2010

Page 37: Qconsp   domesticando dragoes com soluções escaláveis

Realidade: 1.5M tx/dia = 17tx/s

Monday, September 13, 2010

Page 38: Qconsp   domesticando dragoes com soluções escaláveis

Estamos devendo: ± 1.25M tx

Monday, September 13, 2010

Page 39: Qconsp   domesticando dragoes com soluções escaláveis

"Compra de R$ 5000,00 realizada com sucesso em

10/09/2010 03:56" 12/09/2010 15:30

Monday, September 13, 2010

Page 40: Qconsp   domesticando dragoes com soluções escaláveis

Murphy: se você corria risco de fraude, ela aconteceu com certeza

Monday, September 13, 2010

Page 41: Qconsp   domesticando dragoes com soluções escaláveis

Realidade?

Monday, September 13, 2010

Page 42: Qconsp   domesticando dragoes com soluções escaláveis

Pico de 200tx/s na hora do almoço

Monday, September 13, 2010

Page 43: Qconsp   domesticando dragoes com soluções escaláveis

E agora?

Monday, September 13, 2010

Page 44: Qconsp   domesticando dragoes com soluções escaláveis

Onde foi que eu errei?

Monday, September 13, 2010

Page 45: Qconsp   domesticando dragoes com soluções escaláveis

Você é culpadoMonday, September 13, 2010

Page 46: Qconsp   domesticando dragoes com soluções escaláveis

Na média, o ser humano tem uma bola

Monday, September 13, 2010

Page 47: Qconsp   domesticando dragoes com soluções escaláveis

Você perguntou pro seu cliente quais eram os horários de pico?!

Monday, September 13, 2010

Page 48: Qconsp   domesticando dragoes com soluções escaláveis

Sua obrigação era medir!!!Monday, September 13, 2010

Page 49: Qconsp   domesticando dragoes com soluções escaláveis

Sua aplicação escala?!

Monday, September 13, 2010

Page 50: Qconsp   domesticando dragoes com soluções escaláveis

Você vai até onde na vertical?!

Monday, September 13, 2010

Page 51: Qconsp   domesticando dragoes com soluções escaláveis

E na horizontal?!

Monday, September 13, 2010

Page 52: Qconsp   domesticando dragoes com soluções escaláveis

Você não está esquecendo de nada?

Monday, September 13, 2010

Page 53: Qconsp   domesticando dragoes com soluções escaláveis

Visualizar os detalhes da mensagem

Monday, September 13, 2010

Page 54: Qconsp   domesticando dragoes com soluções escaláveis

Ruby é lento?

Monday, September 13, 2010

Page 55: Qconsp   domesticando dragoes com soluções escaláveis

A culpa é de quem?

Monday, September 13, 2010

Page 56: Qconsp   domesticando dragoes com soluções escaláveis

Banco de dados?

Monday, September 13, 2010

Page 57: Qconsp   domesticando dragoes com soluções escaláveis

Massa de dados grande

Monday, September 13, 2010

Page 58: Qconsp   domesticando dragoes com soluções escaláveis

1.500.000 x 30 dias

Monday, September 13, 2010

Page 59: Qconsp   domesticando dragoes com soluções escaláveis

Em um mês45 milhões de registros

Monday, September 13, 2010

Page 60: Qconsp   domesticando dragoes com soluções escaláveis

preciso guardartudo isso?

Monday, September 13, 2010

Page 61: Qconsp   domesticando dragoes com soluções escaláveis

relacional pra quê?

Monday, September 13, 2010

Page 62: Qconsp   domesticando dragoes com soluções escaláveis

Cache?

Monday, September 13, 2010

Page 63: Qconsp   domesticando dragoes com soluções escaláveis

#failMonday, September 13, 2010

Page 64: Qconsp   domesticando dragoes com soluções escaláveis

Cache persistente?

Monday, September 13, 2010

Page 65: Qconsp   domesticando dragoes com soluções escaláveis

Rediskey-value store

on steroids

Monday, September 13, 2010

Page 66: Qconsp   domesticando dragoes com soluções escaláveis

O melhor dos dois mundos

Monday, September 13, 2010

Page 67: Qconsp   domesticando dragoes com soluções escaláveis

Dados bem guardados com SQL

e com NoSQL

Monday, September 13, 2010

Page 68: Qconsp   domesticando dragoes com soluções escaláveis

Pesquisa direta no “banco de dados”

20tx/s

Monday, September 13, 2010

Page 69: Qconsp   domesticando dragoes com soluções escaláveis

Pesquisa passando pelo Redis: 200 tx/s

Monday, September 13, 2010

Page 70: Qconsp   domesticando dragoes com soluções escaláveis

Seus problemas acabaram!Monday, September 13, 2010

Page 71: Qconsp   domesticando dragoes com soluções escaláveis

Obrigado!

Monday, September 13, 2010