SlideShare uma empresa Scribd logo
1 de 71
Baixar para ler offline
Domesticando Dragões com
   soluções escaláveis



                             @abstractj
                              @qmx



Monday, September 13, 2010
O cliente pediu um sistema
Monday, September 13, 2010
Envio de SMS pela intranet
                               +
                     aplicacao web pra ver
                    detalhes da mensagem


Monday, September 13, 2010
A cláusula

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



Monday, September 13, 2010
Teu chefe
Monday, September 13, 2010
Fácil!
Monday, September 13, 2010
Negócio fechado
Monday, September 13, 2010
SEU EMO!!!!




Monday, September 13, 2010
Sistema em piloto
         10.000 tx/h = quase 3 tx/s


Monday, September 13, 2010
Bonito e Performático
Monday, September 13, 2010
Cliente satisfeito
Monday, September 13, 2010
A volta dos que não foram
Monday, September 13, 2010
A cláusula

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



Monday, September 13, 2010
“Integraçãozinha”



Monday, September 13, 2010
O legado
Monday, September 13, 2010
Moleza!
Monday, September 13, 2010
Legado = Mainframe



Monday, September 13, 2010
Ouch!
Monday, September 13, 2010
Mainframe
Monday, September 13, 2010
Não gosta dos seus
                                   dados


Monday, September 13, 2010
Não quer trabalhar pra
                          você


Monday, September 13, 2010
Não espera, você
                                 espera


Monday, September 13, 2010
te odeia
Monday, September 13, 2010
Mainframe não escala



Monday, September 13, 2010
Mainframe não escala?



Monday, September 13, 2010
Motivos técnicos
Monday, September 13, 2010
FUUUUUU
Monday, September 13, 2010
#medo?
Monday, September 13, 2010
Ainda bem
Monday, September 13, 2010
Sobrou!



Monday, September 13, 2010
Flat files?
Monday, September 13, 2010
batchizando?



Monday, September 13, 2010
Filas de Mensageria!



Monday, September 13, 2010
Problema resolvido!
                                   3 tx/s


Monday, September 13, 2010
A cláusula

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



Monday, September 13, 2010
Projeto piloto
                             3 tx/s = Bom


Monday, September 13, 2010
Realidade:
                             1.5M tx/dia = 17tx/s


Monday, September 13, 2010
Estamos devendo:
                                ± 1.25M tx


Monday, September 13, 2010
"Compra de R$ 5000,00
                 realizada com sucesso em
                     10/09/2010 03:56"
                      12/09/2010 15:30

Monday, September 13, 2010
Murphy: se você corria risco de
                    fraude, ela aconteceu com certeza
Monday, September 13, 2010
Realidade?



Monday, September 13, 2010
Pico de 200tx/s na hora
                      do almoço


Monday, September 13, 2010
E agora?



Monday, September 13, 2010
Onde foi que eu errei?



Monday, September 13, 2010
Você é culpado
Monday, September 13, 2010
Na média,
                             o ser humano tem uma bola
Monday, September 13, 2010
Você perguntou pro
                    seu cliente quais eram
                     os horários de pico?!


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



Monday, September 13, 2010
Você vai até onde na
                             vertical?!


Monday, September 13, 2010
E na horizontal?!



Monday, September 13, 2010
Você não está
                       esquecendo de nada?


Monday, September 13, 2010
Visualizar os detalhes
                          da mensagem


Monday, September 13, 2010
Ruby é lento?



Monday, September 13, 2010
A culpa é de quem?



Monday, September 13, 2010
Banco de dados?



Monday, September 13, 2010
Massa de dados grande



Monday, September 13, 2010
1.500.000 x 30 dias



Monday, September 13, 2010
Em um mês
                 45 milhões de registros


Monday, September 13, 2010
preciso guardar
                                tudo isso?


Monday, September 13, 2010
relacional pra quê?



Monday, September 13, 2010
Cache?



Monday, September 13, 2010
#fail
Monday, September 13, 2010
Cache persistente?



Monday, September 13, 2010
Redis
                             key-value store
                               on steroids


Monday, September 13, 2010
O melhor dos dois
                                 mundos


Monday, September 13, 2010
Dados bem guardados
                          com SQL
                       e com NoSQL


Monday, September 13, 2010
Pesquisa direta no
                             “banco de dados”
                                  20tx/s


Monday, September 13, 2010
Pesquisa passando pelo
                      Redis: 200 tx/s


Monday, September 13, 2010
Seus problemas acabaram!
Monday, September 13, 2010
Obrigado!



Monday, September 13, 2010

Mais conteúdo relacionado

Semelhante a Qconsp domesticando dragoes com soluções escaláveis

Pony Pwning Djangocon 2010
Pony Pwning Djangocon 2010Pony Pwning Djangocon 2010
Pony Pwning Djangocon 2010Adam Baldwin
 
Advanced android
Advanced androidAdvanced android
Advanced androiddonnfelker
 
Roomware - Trends - Hardware as commodity
Roomware - Trends - Hardware as commodityRoomware - Trends - Hardware as commodity
Roomware - Trends - Hardware as commodityguest8ce14f
 
Room ware next_slideshare
Room ware next_slideshareRoom ware next_slideshare
Room ware next_slidesharePeter Kaptein
 
Scareware Traversing the World via Ireland
Scareware Traversing the World via IrelandScareware Traversing the World via Ireland
Scareware Traversing the World via IrelandMark Hillick
 
@twitterapi meetup at Paypal Town Hall
@twitterapi meetup at Paypal Town Hall@twitterapi meetup at Paypal Town Hall
@twitterapi meetup at Paypal Town HallMatt Harris
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 KeynoteTed Leung
 
ThoughtWorks Quarterly Technology Briefing June 2013, Berlin
ThoughtWorks Quarterly Technology Briefing June 2013, BerlinThoughtWorks Quarterly Technology Briefing June 2013, Berlin
ThoughtWorks Quarterly Technology Briefing June 2013, BerlinThoughtworks
 
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptSencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptDavid Kaneda
 
Ignite: Devops - Why Should You Care
Ignite: Devops - Why Should You CareIgnite: Devops - Why Should You Care
Ignite: Devops - Why Should You CareJoshua L. Davis
 
How work will_change_pk-ruud_janssen_ectc
How work will_change_pk-ruud_janssen_ectcHow work will_change_pk-ruud_janssen_ectc
How work will_change_pk-ruud_janssen_ectcRuud Janssen, DES, CMM
 
5 分でキメル! (慣れれば、あなたもやれる!) たったの 5 分でできるサーバと通信できる iPhone アプリの作成
5 分でキメル!  (慣れれば、あなたもやれる!)  たったの 5 分でできるサーバと通信できる iPhone アプリの作成5 分でキメル!  (慣れれば、あなたもやれる!)  たったの 5 分でできるサーバと通信できる iPhone アプリの作成
5 分でキメル! (慣れれば、あなたもやれる!) たったの 5 分でできるサーバと通信できる iPhone アプリの作成Takafumi Kawano
 
IE9 для разработчиков
IE9 для разработчиковIE9 для разработчиков
IE9 для разработчиковYuriy Artyukh
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaVinicius Quaiato
 

Semelhante a Qconsp domesticando dragoes com soluções escaláveis (20)

Pony Pwning Djangocon 2010
Pony Pwning Djangocon 2010Pony Pwning Djangocon 2010
Pony Pwning Djangocon 2010
 
Advanced android
Advanced androidAdvanced android
Advanced android
 
Roomware - Trends - Hardware as commodity
Roomware - Trends - Hardware as commodityRoomware - Trends - Hardware as commodity
Roomware - Trends - Hardware as commodity
 
Room ware next_slideshare
Room ware next_slideshareRoom ware next_slideshare
Room ware next_slideshare
 
Scareware Traversing the World via Ireland
Scareware Traversing the World via IrelandScareware Traversing the World via Ireland
Scareware Traversing the World via Ireland
 
@twitterapi meetup at Paypal Town Hall
@twitterapi meetup at Paypal Town Hall@twitterapi meetup at Paypal Town Hall
@twitterapi meetup at Paypal Town Hall
 
Make stuff you need
Make stuff you needMake stuff you need
Make stuff you need
 
07 problem-solving
07 problem-solving07 problem-solving
07 problem-solving
 
DjangoCon 2009 Keynote
DjangoCon 2009 KeynoteDjangoCon 2009 Keynote
DjangoCon 2009 Keynote
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
ThoughtWorks Quarterly Technology Briefing June 2013, Berlin
ThoughtWorks Quarterly Technology Briefing June 2013, BerlinThoughtWorks Quarterly Technology Briefing June 2013, Berlin
ThoughtWorks Quarterly Technology Briefing June 2013, Berlin
 
Vagrant at LA Ruby
Vagrant at LA RubyVagrant at LA Ruby
Vagrant at LA Ruby
 
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScriptSencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
Sencha Touch beta — Amazing Mobile Web Apps with HTML5, CSS3 & JavaScript
 
Ignite: Devops - Why Should You Care
Ignite: Devops - Why Should You CareIgnite: Devops - Why Should You Care
Ignite: Devops - Why Should You Care
 
Spacebits at Codebits
Spacebits at CodebitsSpacebits at Codebits
Spacebits at Codebits
 
How work will_change_pk-ruud_janssen_ectc
How work will_change_pk-ruud_janssen_ectcHow work will_change_pk-ruud_janssen_ectc
How work will_change_pk-ruud_janssen_ectc
 
5 分でキメル! (慣れれば、あなたもやれる!) たったの 5 分でできるサーバと通信できる iPhone アプリの作成
5 分でキメル!  (慣れれば、あなたもやれる!)  たったの 5 分でできるサーバと通信できる iPhone アプリの作成5 分でキメル!  (慣れれば、あなたもやれる!)  たったの 5 分でできるサーバと通信できる iPhone アプリの作成
5 分でキメル! (慣れれば、あなたもやれる!) たったの 5 分でできるサーバと通信できる iPhone アプリの作成
 
IE9 для разработчиков
IE9 для разработчиковIE9 для разработчиков
IE9 для разработчиков
 
Designing responsively
Designing responsivelyDesigning responsively
Designing responsively
 
Orientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp LondrinaOrientacao a objetos e design patterns - Secomp Londrina
Orientacao a objetos e design patterns - Secomp Londrina
 

Qconsp domesticando dragoes com soluções escaláveis