SlideShare a Scribd company logo
1 of 54
Download to read offline
7 mil publishers
420 milhões de impressões ao mês
O que é qualidade?
Formatos
   Monetização diferenciada

  Excelência          Liberdade de escolha


    Transparência

           Velocidade
Originalidade            Simplicidade
      Estatísticas
                     Targeting
Felipe Luis de Souza Vieira
@felipetio
http://felipetio.net
Formatos
   Monetização diferenciada

  Excelência          Liberdade de escolha


    Transparência            Idealismo



           Velocidade
Originalidade            Simplicidade
      Estatísticas
                     Targeting
Targeting


                                Que informações
   Quais sites
                               temos sobre ele?
foram visitados?


                                 O que ele
De onde ele é?                   procura?
Targeting

  User                             Classificação
behaviour                       Que informações
                                      de textos
  Quais sites
                               temos sobre ele?
foram visitados?


                                 O que ele
De onde ele é?                   procura?
                                     Inteligência
         Geo
                                       artificial
     localização
Formatos



Não sei deixar nada bonito na web,
Formatos



     Não sei deixar nada bonito na web,

Nem nesssa apresentação (obrigado @fmafra),
Formatos



            Não sei deixar nada bonito na web,

      Nem nesssa apresentação (obrigado @fmafra),

Ainda não consigo desenvolver layouts com mais de 16 cores.
Formatos




como desenvolvedor eu sei
por que como usuário eu sei
Formatos
OK
NÃO
Velocidade




como desenvolvedor eu sei
por que como usuário eu sei
Velocidade

                  Evolução de Impressions
                                                     121MM



                                            93MM


                                72MM

                       55MM

         42MM
34MM




Jul 09   Aug 09        Sep 09   Oct 09      Nov 09   Dec 09
Velocidade




0                100
Velocidade




0                100
Velocidade




0                200
Velocidade
Velocidade
                                                           -)./)!"!

       *+,$"+-

                                          !"#"$%&'$()!                (+#0&1#(#,%)-


         8-$")                                     !"#$%&'(,))".!,%.*/
                   :;<;<
                                  233&4             233&5               233&9            233&7
!"#$%&'("*0


                                  !"#$%&'
                                                         -)#0                    8-$")           :
                                  +,%,
                                  $*#'!&                                                         ;
                                                                                                 <
                                                                -)3($%#")                        ;
       -)3($%#")
                                                                                                 <
                           -)#0                                                                    8-$")
                   =>
                                                                                                      -)#0
                                          !"#$%&'()'*+#!%$(!,!-&            %#%6)&4      %#%6)&7



http://www.boo-box.com/blog/br/2009/nova-infraestrutura-de-servidores-web-do-sistema-boo-box/
Velocidade
Velocidade




Não processar os requests...
Velocidade
Velocidade




CACHE
Evolução do sistema
 de cache boo-box
Início
            Servidor                        API


Tags/Shop


                       Prepara Requisição



                        Pega Produtos
                                                  DEMORA
                        Log
Produtos
Problemas




Tempo
Limite de Requests
Indisponibilidade da API
Primeira Estratégia
 de cache adotada
 CouchDB e Beanstalked
Fluxo do request
            Servidor            Fila          Cache       API


Tags/Shop
                Adiciona p/
                atualização



                              Pega Produtos      +++
                                                 Rápido
                        Log
Produtos
Fluxo de atualização do cache
Fila                    Cache   API                   Daemon




       Pega Shop/Tags


                                         Prepara
                                         Requisição


                                      Pega Produtos


                                  Salva Produtos


        (loop)
Resultado




Tempo
Limite de Requests
Indisponibilidade da API
Resultado




Tempo
Limite de Requests
Indisponibilidade da API
Problemas




Expiração do cache
Escrita em disco
Atualização de versão
Manutenção
Solução atual
Redis e Beanstalked
Redis



Como memcache          Diferente do memcache
Key-values store       Operações avançadas com as keys
Dados na memória       Escalabilidade
Cache implementado     Persistência
Redis



Como memcache                  Diferente do memcache
Key-values store               Operações avançadas com as keys
Dados na memória               Escalabilidade
Cache implementado             Persistência




                     Em números:
                     110.000 SETs/sec
                     81.000 GETs/sec
Fluxo do request
            Servidor            Fila           Cache   API


Shop/Tags
                Adiciona p/
                atualização



                              Tem Produtos (sim)


                              Pega Produtos



                       Log
Produtos
Fluxo do request
            Servidor            Fila           Cache   API


Shop/Tags
                Adiciona p/
    M           atualização
    E
    M
    C
                              Tem Produtos (sim)
    A
    C
    H                         Pega Produtos
    E


                       Log
Produtos
Fluxo do request
            Servidor              Fila              Cache   API


Shop/Tags
                Adiciona p/
    M           atualização
    E
    M                           Tem Produtos (não)
    C
    A
    C                                    Pega Produtos
    H
    E
                        Salva


                       Log
Produtos
Fluxo do request
            Servidor            Fila             Cache           API


Shop/Tags
                Requisita
    M           atualização
    E
    M                         Tem Produtos (não)
    C
    A
    C                                  Pega Produtos (demorou)
    H
    E
                  Pega Produtos Similares


                        Log
Produtos
Fluxo de atualização do cache
Daemon                 Fila                   Cache   API


     Pega Shop/Tags


                              Velho?




                              Pega produtos




               Salva

     (loop)
Resultados
Recursos otimizados

                  couchDB



     300



     200
GB




     100



       0
Recursos otimizados

                   Redis



     300



     200
MB




     100



       0
Recursos otimizados




300 GB -> 300 MB
Sem intervenção!
Recursos otimizados

                   couchDB



      400


      300
CPU




      200


      100


        0
Recursos otimizados

                    Redis



      400


      300
CPU




      200


      100


        0
Recursos otimizados




Usando 3%
 da CPU
Recursos otimizados

 Quer mais?
Redução de 2 servidores...
Reduçao do response time:
Felipe Luis de Souza Vieira
@felipetio
felipe@boo-box.com
http://felipetio.net

More Related Content

Similar to Usando Redis para otimizar o sistema boo-box

LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
Carlos Santos
 

Similar to Usando Redis para otimizar o sistema boo-box (20)

Nova web - DNAD 2012
Nova web - DNAD 2012Nova web - DNAD 2012
Nova web - DNAD 2012
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
Criando Símbolos Otimizados para Projetos no InduSoft Web Studio
Criando Símbolos Otimizados para Projetos no InduSoft Web StudioCriando Símbolos Otimizados para Projetos no InduSoft Web Studio
Criando Símbolos Otimizados para Projetos no InduSoft Web Studio
 
Seu primeiro website
Seu primeiro websiteSeu primeiro website
Seu primeiro website
 
Html 5
Html 5Html 5
Html 5
 
Python mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internetPython mudando o modo de desenvolver para a internet
Python mudando o modo de desenvolver para a internet
 
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web  - Marcos Daniel PetryPython mudando o modo de desenvolver para a web  - Marcos Daniel Petry
Python mudando o modo de desenvolver para a web - Marcos Daniel Petry
 
Da argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguroDa argila ao forte: como desenvolver uma loja com PagSeguro
Da argila ao forte: como desenvolver uma loja com PagSeguro
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
Owasp web app_flaws
Owasp web app_flawsOwasp web app_flaws
Owasp web app_flaws
 
O processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra SoaresO processo de criação de um web site | By Alessandra Soares
O processo de criação de um web site | By Alessandra Soares
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
Impulsionando startups com api publica
Impulsionando startups com api publicaImpulsionando startups com api publica
Impulsionando startups com api publica
 
Meet up teste api htt-party cucumber
Meet up   teste api htt-party cucumberMeet up   teste api htt-party cucumber
Meet up teste api htt-party cucumber
 
Tony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics ArtifactsTony\'s Top 10 Computer Forensics Artifacts
Tony\'s Top 10 Computer Forensics Artifacts
 
Explorando a API do Google Analytics
Explorando a API do Google AnalyticsExplorando a API do Google Analytics
Explorando a API do Google Analytics
 
Front-end ENGINEER
Front-end ENGINEERFront-end ENGINEER
Front-end ENGINEER
 
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHPLabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
LabMM4 (T10 - 12/13) - Tecnologias server-side - PHP
 
EDTED SP - HTML 5 e CSS 3 - Junho de 2011
EDTED SP - HTML 5 e CSS 3 - Junho de 2011EDTED SP - HTML 5 e CSS 3 - Junho de 2011
EDTED SP - HTML 5 e CSS 3 - Junho de 2011
 

More from Fernando Mafra (9)

Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commerces
 
Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commerces
 
Apresentação boo-box para e-commerces
Apresentação boo-box para e-commercesApresentação boo-box para e-commerces
Apresentação boo-box para e-commerces
 
Apresentação Agências
Apresentação AgênciasApresentação Agências
Apresentação Agências
 
Apresentação Agências
Apresentação AgênciasApresentação Agências
Apresentação Agências
 
Agencias 01
Agencias 01Agencias 01
Agencias 01
 
Agencias 01
Agencias 01Agencias 01
Agencias 01
 
tutorial boo-boxfy
tutorial boo-boxfytutorial boo-boxfy
tutorial boo-boxfy
 
Vitrine Boo-Box com SearchMoney no Yahoo!Search
Vitrine Boo-Box com SearchMoney no Yahoo!SearchVitrine Boo-Box com SearchMoney no Yahoo!Search
Vitrine Boo-Box com SearchMoney no Yahoo!Search
 

Recently uploaded

matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
LeloIurk1
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
azulassessoria9
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
rosenilrucks
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
WagnerCamposCEA
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
azulassessoria9
 

Recently uploaded (20)

Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 

Usando Redis para otimizar o sistema boo-box

Editor's Notes

  1. Quem conhece a boo-box? Quem ultiliza boo-box, adsense, hotwords? E suma, trabalhamos a fim de transformar a forma como a publicidade online &amp;#xE9; feita, oferecendo solu&amp;#xE7;&amp;#xF5;es inovadoras de contextualiza&amp;#xE7;&amp;#xE3;o e formatos que permitam aos publishers e anunciantes aproveitarem e complementarem o conte&amp;#xFA;do, seja com ofertas de produtos e at&amp;#xE9; mesmo campanhas.
  2. Veicular produtos e campanhas parece um trabalho simples mas torna-se muito arduo quando se tem milh&amp;#xF5;es de visualiza&amp;#xE7;&amp;#xF5;es diarias e milhares de publisher que n&amp;#xE3;o exitariam em trocar a boo-box por outro servi&amp;#xE7;o se nossas &amp;#x201C;vitrines&amp;#x201D; n&amp;#xE3;o tiver qualidade...
  3. Mas afinal... O que &amp;#xE9; qualidade? Para ser a refer&amp;#xEA;ncia em veicula&amp;#xE7;&amp;#xE3;o de publicidade em m&amp;#xED;dias sociais, todos os que trabalham na boo se preocupam com diversos valores!
  4. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  5. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  6. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  7. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  8. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  9. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  10. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  11. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  12. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  13. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  14. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  15. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  16. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  17. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  18. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  19. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  20. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  21. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  22. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  23. Entre eles podemos citar: Targeting; Formatos e Velocidade. Pois esses itens recebem um cuidado especial dos &amp;#x201C;ninjas&amp;#x201D; da boo.
  24. Desenvolvedor web a 3 anos, formando em inform&amp;#xE1;tica no interior, entusiasta de software livre, pugilista amador 3 vezes por semana e atualmente um programador do time da boo, o que faz de mim um ninja!
  25. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  26. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  27. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  28. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  29. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  30. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  31. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  32. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  33. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  34. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  35. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  36. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  37. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  38. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  39. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  40. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  41. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  42. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  43. Voltando ao ponto... Vamos nos apegar aos itens destacados pois eles interferem diretamente na vizualiza&amp;#xE7;&amp;#xE3;o das ofertas de produtos.
  44. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  45. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  46. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  47. Apenas a contextualiza&amp;#xE7;&amp;#xE3;o pode transformar a publicidade em parte do conte&amp;#xFA;do onde ela foi renderizada. A boo tem realizado muitos estudos nesta &amp;#xE1;rea a fim de aumentar a qualidade dos produtos e campanhas apresentadas. Contudo, a contextualiza&amp;#xE7;&amp;#xE3;o pode e deve estar voltada para o usu&amp;#xE1;rio que est&amp;#xE1; navegando... Para responder essas perguntas muitos estudos t&amp;#xEA;m sido realizados e muitos projetos est&amp;#xE3;o em andamento.
  48. Vamos aos fatos.... Como desenvolverdor server side eu sei que...
  49. Vamos aos fatos.... Como desenvolverdor server side eu sei que...
  50. Vamos aos fatos.... Como desenvolverdor server side eu sei que...
  51. Quando navego na internet eu busco pelo conte&amp;#xFA;do bem apresentado, bonito!
  52. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  53. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  54. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  55. O fato &amp;#xE9; que um produto bem contextualizado pode n&amp;#xE3;o valer nada se n&amp;#xE3;o for bem apresentado e entende-se por bem apresentado produtos que atraem (e n&amp;#xE3;o roubem) a aten&amp;#xE7;&amp;#xE3;o dos usu&amp;#xE1;rios. Para isso precisamos de muita criatividade, trabalhar com tecnologia de ponta, inovando sempre e pegando carona (ou at&amp;#xE9; mesmo criando) tecnologias emergentes.
  56. Apresentar de maneira inovadora produtos que fazem parte do conte&amp;#xFA;do do usu&amp;#xE1;rio parece uma receita boa para o sucesso... Mas isso basta?
  57. N&amp;#xC3;O!
  58. Vivemos em um ritmo acelerado! Quando navego na internet n&amp;#xE3;o tenho muitas vezes paci&amp;#xEA;ncia em esperar o conte&amp;#xFA;do que estou buscando. E isso faz valer o que j&amp;#xE1; foi dito aqui:
  59. E se temos urgencia em navegar, se queremos o que buscamos quase sempre instant&amp;#xE2;neamente. Qual ser&amp;#xE1; a nossa paci&amp;#xEA;ncia para aguardar uma publicidade carregar?
  60. Toda vez que a rede da boo-box aumenta temos que garantir que todos os produtos sejam exibidos a uma velociade instant&amp;#xE2;nea, caso contrario todo o trabalho ficaria comprometido.
  61. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  62. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  63. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  64. &amp;#xC9; so pensar que toda vez que um site com um grande n&amp;#xFA;mero de page views &amp;#xE9; adicionado nas nossa rede temos que suportar uma quantidade igual ou maior a este numero. Toda vez que um site tem uma viraliza&amp;#xE7;&amp;#xE3;o, nos temos viraliza&amp;#xE7;&amp;#xE3;o... N&amp;#xE3;o d&amp;#xE1; para ser diferente n&amp;#xE3;o da para pedir arrego! E o que a boo tem feito para prevenir e algumas vezes remediar estes problemas?
  65. Codigo limpo e otimizado... Geralmente c&amp;#xF3;digo limpo &amp;#xE9; c&amp;#xF3;digo otimizado!
  66. Infraestrutura parruda... Curioso veja mais no blog da boo-box: http://www.boo-box.com/blog/br/2009/nova-infraestrutura-de-servidores-web-do-sistema-boo-box/
  67. Horas extras principalmente nas viraliza&amp;#xE7;&amp;#xF5;es!
  68. Nao didi o que ele falou
  69. Ma como?? Me explica essa porra Batima!
  70. cache! Memcache, Redis, Couchdb, Tokyo, Mysql, Postgres Quem conhece e j&amp;#xE1; trabalhou com alguma tecnologia?
  71. No inicio da boo-box contextualiza&amp;#xE7;&amp;#xE3;o e novos formatos foram capaz de levar a empresa para um patamar inc&amp;#x155;ivel a preocupa&amp;#xE7;&amp;#xE3;o com a velocidade ainda n&amp;#xE3;o era um problema, por conta disso podiamos acessar diretamente as apis em busca dos produtos dos usu&amp;#xE1;rios
  72. Isso n&amp;#xE3;o era certo... Os problemas vieram junto com o primeiro sinal de crescimento...
  73. O que &amp;#xE9; couchDB? O que &amp;#xE9; beanstalked?
  74. &amp;#x2022; Tempo: O tempo do couchdb era extremamente mais r&amp;#xE1;pido que buscar um produto em um e-commerce! &amp;#x2022; Limite de requests: Com o processo assincrono, podiamos controlar melhor o n&amp;#xED;vel de acesso as api descartando, por exemplo, produtos que j&amp;#xE1; estavam cacheados. &amp;#x2022; Indisponibilidade da api: Como quem fazia a comunica&amp;#xE7;&amp;#xE3;o com a api n&amp;#xE3;o estava ligado com os request esse tipo de problema passou a n&amp;#xE3;o existir mais. Os produtos cacheados permaneciam na base e n&amp;#xE3;o eram expirados.
  75. Ap&amp;#xF3;s mais de um ano de sucesso com o couchdb alguns problemas come&amp;#xE7;aram a surgir, alguns devido a estrat&amp;#xE9;gia adotada que passou a n&amp;#xE3;o ser interessante em todos os casos outros pelo viraliza&amp;#xE7;&amp;#xE3;o da rede da boo-box que tornou o couchdb um gargalo: Os produtos por n&amp;#xE3;o serem expirados aumentavam dia apos dia fazendo-se necess&amp;#xE1;rio a interve&amp;#xE7;&amp;#xE3;o para limpar a base. O crescimento apenas agravou este fato fazendo com que essa interven&amp;#xE7;&amp;#xE3;o tivesse que acontecer semanalmente toda vez que essa opera&amp;#xE7;&amp;#xE3;o era feita a contextualiza&amp;#xE7;&amp;#xE3;o dos produtos ficava comprometida apresentando produtos randomicos at&amp;#xE9; que a base estivesse um pouco populada Como o numero de request/segundo aumentava diariamente o couchdb passou a ter problemas de escrita em disco. A cada requisi&amp;#xE7;&amp;#xE3;o o arquivo da base era aberto e tivemos que aumentar o numero de vezes que o so poderia abrir um arquivo. Infelizmente nem isso solucionou o problema... Um agravante n&amp;#xE3;o estavamos usando a ultima vers&amp;#xE3;o do couchdb. A atualiza&amp;#xE7;&amp;#xE3;o poderia resolver o problema mas n&amp;#xE3;o o fez. Apo&amp;#x15B; refatorar o c&amp;#xF3;digo para vers&amp;#xE3;o mais recente tivemos que fazer rollback e com a vers&amp;#xE3;o antiga passamos a ter muito problemas e pouco suporte, o couch &amp;#xE9; uma tecnologia alfa ent&amp;#xE3;o ficamos na m&amp;#xE3;o estudando o couchdb para resolver os problemas. Por fim, ap&amp;#xF3;s uma migra&amp;#xE7;&amp;#xE3;o de datacenters tivemos um agravante pois s nossos novos server tinham problemas de grava&amp;#xE7;&amp;#xE3;o de disco que afetou diretamente o tempo dos produtos levando-os para um patamar inaceit&amp;#xE1;vel...
  76. Ele pode ser definido como um avan&amp;#xE7;ado &amp;#x201C;key-values store&amp;#x201D; com algumas funcionalidades interessantes como suporte para listas, capacidade de ordena&amp;#xE7;&amp;#xF5;es, busca por keywords similares, e o fato dos dados serem persistidos no hd de maneira assincrona sem afetar a performace de um banco que roda 100% na mem&amp;#xF3;ria ram. O cache na mem&amp;#xF3;ria RAM &amp;#xE9; ideal para armazenar arquivos pequenos que ser&amp;#xE3;o entregues instantaneamente para os clientes. O Redis, assim como o memcache, se encaixa nessa categoria. Ok voc&amp;#xEA; quer n&amp;#xFA;meros? O redis tem as funcionalidades de cache implementadas uma expira&amp;#xE7;&amp;#xE3;o inteligente e autom&amp;#xE1;tica