SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Desafios do auto scale de verdade na
Wine.com.br
O caminho até a remoção do sticky session
@maxwellleonardo
Maxwell Leonardo da Silva
Max
Desenvolvedor desde 1997 :O
Curte automatização de coisas.
Pai em tempo integral.
Se descobrindo como Devop na
Wine :)
Horrível com slides
A maior loja de vinhos da América Latina
e a 3ª maior do mundo
Sofware stack
• Java
• Spring
• Solr
• Maven
• OpenJPA
• DWR
• EHCache
• Drools
• Velocity
• Eclipse RCP
Ok, assim funciona.
● E só. ● Não escala.
● Todo deploy tem downtime.
● Tomcat + Assets = :(
● Sticky session++
Melhora nos assets.
● Deploys de assets sem
downtime.
● Apache > Tomcat pra servir
assets.
● Ainda não escala.
● Todo deploy de app tem
downtime.
● Continua super Sticky
session++
Melhora nos assets.
● Deploys de assets sem
downtime.
● Nginx > Apache pra servir
assets.
● Non Blocking IO no NGINX.
● Ainda não escala. :(
● Todo deploy de app tem
downtime.
● Continua super Sticky
session++
Melhorando o deploy
Marketing… Ahhhh o marketing
Fato: O site iria cair.
● Pouco tempo
● Atacar os gargalos
● Diminuir o impacto na aplicação
Balanceamento de
carga.
● Deploys de assets sem
downtime.
● Nginx > Apache pra servir
assets.
● Non Blocking IO no NGINX.
● Nem todo deploy precisa de
downtime.
● Melhoria significativa na
disponibilidade.
● "Escala".
● Continua super Sticky
session++. :(
● Quando um nó cai, clientes
logados precisam relogar.
Cache.
● Diminui requests na aplicação.
● Melhora significativa na
performance dos hotsites.
● Continua super Sticky
session++. :(
● Quando um nó cai, clientes
logados precisam relogar.
● Precisa fazer flush do cache a
cada novo deploy de DWR.
Internet
Database Database
Shared
Sessions
RenderImage
Cache
● Sem Sticky Sessions.
● Blue/Green Deploy.
● Quase 100% de uptime.
● Limite de hardware.
● Custo.
● O Deploy de Assests ainda
não é Green/Blue.
● Sem Sticky Sessions.
● 100% Blue/Green Deploy.
● Virtualmente 100% de uptime.
● Custo pelo menos 50% menor
● :/
Perguntas e possivelmente, respostas.
So Long, and Thanks for All the Fish.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (17)

Side Effects: Uma Saga até o React
Side Effects: Uma Saga até o ReactSide Effects: Uma Saga até o React
Side Effects: Uma Saga até o React
 
Jacutinga
JacutingaJacutinga
Jacutinga
 
Trabalhando de forma profissional com silex
Trabalhando de forma profissional com silexTrabalhando de forma profissional com silex
Trabalhando de forma profissional com silex
 
Deixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDeixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidas
 
Palestra - Meetup WordPress Brasília 2014 - WordPress vs Hacker
Palestra  - Meetup WordPress Brasília 2014 - WordPress vs HackerPalestra  - Meetup WordPress Brasília 2014 - WordPress vs Hacker
Palestra - Meetup WordPress Brasília 2014 - WordPress vs Hacker
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva 3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
 
Plone Yak Shaving and Bikeshedding
Plone Yak Shaving and BikesheddingPlone Yak Shaving and Bikeshedding
Plone Yak Shaving and Bikeshedding
 
Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms Boas Práticas com Xamarin Forms 
Boas Práticas com Xamarin Forms 
 
Técnicas de frontend para aplicações django - PythonBrasil[9]
Técnicas de frontend para aplicações django  - PythonBrasil[9]Técnicas de frontend para aplicações django  - PythonBrasil[9]
Técnicas de frontend para aplicações django - PythonBrasil[9]
 
Intro - Ruby e Ruby on Rails
Intro - Ruby e Ruby on RailsIntro - Ruby e Ruby on Rails
Intro - Ruby e Ruby on Rails
 
Otimizando scrum com kanban
Otimizando scrum com kanbanOtimizando scrum com kanban
Otimizando scrum com kanban
 
Lógica de Programação - Introdução
Lógica de Programação - IntroduçãoLógica de Programação - Introdução
Lógica de Programação - Introdução
 
Arquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudarArquitetura em camadas em python e quanto isso pode ajudar
Arquitetura em camadas em python e quanto isso pode ajudar
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
Scrum com Kanban: construindo pontes e não paredes
Scrum com Kanban: construindo pontes e não paredesScrum com Kanban: construindo pontes e não paredes
Scrum com Kanban: construindo pontes e não paredes
 
Qa ops mtc 2020 - mayara fernandes
Qa ops   mtc 2020 - mayara fernandesQa ops   mtc 2020 - mayara fernandes
Qa ops mtc 2020 - mayara fernandes
 
Flaky tests: O flakiness que há em você!
Flaky tests: O flakiness que há em você!Flaky tests: O flakiness que há em você!
Flaky tests: O flakiness que há em você!
 

Destacado

Writing thesis using MS Word 2007
Writing thesis using MS Word 2007Writing thesis using MS Word 2007
Writing thesis using MS Word 2007
Khairul Anwar Sedek
 
Categorization of Snow Profile Data into Predefined Class Templates
Categorization of Snow Profile Data into Predefined Class TemplatesCategorization of Snow Profile Data into Predefined Class Templates
Categorization of Snow Profile Data into Predefined Class Templates
Christian Schaiter
 

Destacado (20)

DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
DevCommerce Conference 2016: React para aplicações web e mobile como platafor...
 
7Masters - Devops - Devops, Você Entendeu Direito?
7Masters - Devops - Devops, Você Entendeu Direito?7Masters - Devops - Devops, Você Entendeu Direito?
7Masters - Devops - Devops, Você Entendeu Direito?
 
DevCommerce Conference 2016: Concorrência em aplicações que exigem baixa latê...
DevCommerce Conference 2016: Concorrência em aplicações que exigem baixa latê...DevCommerce Conference 2016: Concorrência em aplicações que exigem baixa latê...
DevCommerce Conference 2016: Concorrência em aplicações que exigem baixa latê...
 
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
DevCommerce Conference 2016 - Workshop: Planejamento de infra do e-commerce p...
 
DevCommerce Conference 2016: Evolução do legado
DevCommerce Conference 2016: Evolução do legadoDevCommerce Conference 2016: Evolução do legado
DevCommerce Conference 2016: Evolução do legado
 
DevCommerce Conference 2016 - Workshop: Como o Google funciona, estrutura de ...
DevCommerce Conference 2016 - Workshop: Como o Google funciona, estrutura de ...DevCommerce Conference 2016 - Workshop: Como o Google funciona, estrutura de ...
DevCommerce Conference 2016 - Workshop: Como o Google funciona, estrutura de ...
 
DevCommerce Conference 2016: Busca e Data Lake Analytics
DevCommerce Conference 2016: Busca e Data Lake AnalyticsDevCommerce Conference 2016: Busca e Data Lake Analytics
DevCommerce Conference 2016: Busca e Data Lake Analytics
 
DevCommerce Conference 2016: Big data com Elastic Search
DevCommerce Conference 2016: Big data com Elastic SearchDevCommerce Conference 2016: Big data com Elastic Search
DevCommerce Conference 2016: Big data com Elastic Search
 
7Masters - Devops - Do legado ao ci cd em 7 minutos
7Masters - Devops - Do legado ao ci cd em 7 minutos7Masters - Devops - Do legado ao ci cd em 7 minutos
7Masters - Devops - Do legado ao ci cd em 7 minutos
 
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integraçõesPHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
PHP Experience 2016 - [Workshop] APIs bem desenhadas como base para integrações
 
How to build a manuscript sandwich
How to build a manuscript sandwichHow to build a manuscript sandwich
How to build a manuscript sandwich
 
Different page numbers inserted in one document
Different page numbers inserted in one documentDifferent page numbers inserted in one document
Different page numbers inserted in one document
 
Writing thesis using MS Word 2007
Writing thesis using MS Word 2007Writing thesis using MS Word 2007
Writing thesis using MS Word 2007
 
7masters - DevOps - Aplicações e Infra Estrutura Escaláveis na AWS
7masters - DevOps - Aplicações e Infra Estrutura Escaláveis na AWS 7masters - DevOps - Aplicações e Infra Estrutura Escaláveis na AWS
7masters - DevOps - Aplicações e Infra Estrutura Escaláveis na AWS
 
Input – process output
Input – process   outputInput – process   output
Input – process output
 
Inter Task Communication On Volatile Nodes
Inter Task Communication On Volatile NodesInter Task Communication On Volatile Nodes
Inter Task Communication On Volatile Nodes
 
Deregulating indonesian economic
Deregulating indonesian economicDeregulating indonesian economic
Deregulating indonesian economic
 
Categorization of Snow Profile Data into Predefined Class Templates
Categorization of Snow Profile Data into Predefined Class TemplatesCategorization of Snow Profile Data into Predefined Class Templates
Categorization of Snow Profile Data into Predefined Class Templates
 
1101: The First Steps
1101: The First Steps1101: The First Steps
1101: The First Steps
 
Clinical anatomy of facial nerve and facial nerve palsy
Clinical anatomy of facial nerve and facial nerve palsy Clinical anatomy of facial nerve and facial nerve palsy
Clinical anatomy of facial nerve and facial nerve palsy
 

Similar a DevCommerce Conference 2016: Desafios do auto scale de verdade na Wine.com.br – O caminho até a remoção do sticky session

Similar a DevCommerce Conference 2016: Desafios do auto scale de verdade na Wine.com.br – O caminho até a remoção do sticky session (20)

JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
 
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataformaWine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
Wine.com.br - De zero a 300 milhões de faturamento na mesma plataforma
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 
Uma Olhada no Netbeans 6
Uma Olhada no Netbeans 6Uma Olhada no Netbeans 6
Uma Olhada no Netbeans 6
 
DevOps Primeiros Passos
DevOps Primeiros PassosDevOps Primeiros Passos
DevOps Primeiros Passos
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
[Uff] Continuous Delivery: Entrega Contínua de Software de Valor
 
Guia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidadeGuia do mochileiro para escalabilidade
Guia do mochileiro para escalabilidade
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
PHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta PerformancePHP Jedi - Boas Práticas e Alta Performance
PHP Jedi - Boas Práticas e Alta Performance
 
Building Scalable Applications
Building Scalable ApplicationsBuilding Scalable Applications
Building Scalable Applications
 
Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)Congresso TI 2015: Introducao ao Phonegap (Cordova)
Congresso TI 2015: Introducao ao Phonegap (Cordova)
 
Ebook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPressEbook - Processo de Otimização de Sites WordPress
Ebook - Processo de Otimização de Sites WordPress
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
Instalacao eclipse-servidor-tomcat
Instalacao eclipse-servidor-tomcatInstalacao eclipse-servidor-tomcat
Instalacao eclipse-servidor-tomcat
 
Menos reunião e mais post-it: Kanban na prática
Menos reunião e mais post-it: Kanban na práticaMenos reunião e mais post-it: Kanban na prática
Menos reunião e mais post-it: Kanban na prática
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Docker: uma visão geral
Docker: uma visão geralDocker: uma visão geral
Docker: uma visão geral
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 
TDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & AzureTDC2011: Java EE 6 & Azure
TDC2011: Java EE 6 & Azure
 

Más de iMasters

Más de iMasters (20)

O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani MonteiroO que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
O que você precisa saber para modelar bancos de dados NoSQL - Dani Monteiro
 
Postgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio TellesPostgres: wanted, beloved or dreaded? - Fabio Telles
Postgres: wanted, beloved or dreaded? - Fabio Telles
 
Por que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen MoraesPor que minha query esta lenta? - Suellen Moraes
Por que minha query esta lenta? - Suellen Moraes
 
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
Relato das trincheiras: o dia a dia de uma consultoria de banco de dados - Ig...
 
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalvesORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
ORMs heróis ou vilões dentro da arquitetura de dados? - Otávio gonçalves
 
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
SQL e NoSQL trabalhando juntos: uma comparação para obter o melhor de ambos -...
 
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra MartinsArquitetando seus dados na prática para a LGPD - Alessandra Martins
Arquitetando seus dados na prática para a LGPD - Alessandra Martins
 
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
O papel do DBA no mundo de ciência de dados e machine learning - Mauro Pichil...
 
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana ChahoudDesenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
Desenvolvimento Mobile Híbrido, Nativo ou Web: Quando usá-los - Juliana Chahoud
 
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 Use MDD e faça as máquinas trabalharem para você - Andreza Leite Use MDD e faça as máquinas trabalharem para você - Andreza Leite
Use MDD e faça as máquinas trabalharem para você - Andreza Leite
 
Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Backend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana ArnosBackend performático além do "coloca mais máquina lá" - Diana Arnos
Backend performático além do "coloca mais máquina lá" - Diana Arnos
 
Dicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato GroffeDicas para uma maior performance em APIs REST - Renato Groffe
Dicas para uma maior performance em APIs REST - Renato Groffe
 
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
7 dicas de desempenho que equivalem por 21 - Danielle Monteiro
 
Quem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio MaujorQuem se importa com acessibilidade Web? - Mauricio Maujor
Quem se importa com acessibilidade Web? - Mauricio Maujor
 
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da SilvaService Mesh com Istio e Kubernetes - Wellington Figueira da Silva
Service Mesh com Istio e Kubernetes - Wellington Figueira da Silva
 
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto PascuttiErros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
Erros: Como eles vivem, se alimentam e se reproduzem? - Augusto Pascutti
 
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...Elasticidade e engenharia de banco de dados para alta performance  - Rubens G...
Elasticidade e engenharia de banco de dados para alta performance - Rubens G...
 
Construindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina KarklisConstruindo aplicações mais confiantes - Carolina Karklis
Construindo aplicações mais confiantes - Carolina Karklis
 
Monitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe RegalgoMonitoramento de Aplicações - Felipe Regalgo
Monitoramento de Aplicações - Felipe Regalgo
 

Último

atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geral
AntonioVieira539017
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
lenapinto
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
sh5kpmr7w7
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
RogrioGonalves41
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 

Último (20)

atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
QUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geralQUIZ ensino fundamental 8º ano revisão geral
QUIZ ensino fundamental 8º ano revisão geral
 
Expansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XVExpansão Marítima- Descobrimentos Portugueses século XV
Expansão Marítima- Descobrimentos Portugueses século XV
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Slide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemáticaSlide - SAEB. língua portuguesa e matemática
Slide - SAEB. língua portuguesa e matemática
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
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
 
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
Tema de redação - As dificuldades para barrar o casamento infantil no Brasil ...
 
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
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptxPoesiamodernismo fase dois. 1930 prosa e poesiapptx
Poesiamodernismo fase dois. 1930 prosa e poesiapptx
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 

DevCommerce Conference 2016: Desafios do auto scale de verdade na Wine.com.br – O caminho até a remoção do sticky session

  • 1. Desafios do auto scale de verdade na Wine.com.br O caminho até a remoção do sticky session
  • 2. @maxwellleonardo Maxwell Leonardo da Silva Max Desenvolvedor desde 1997 :O Curte automatização de coisas. Pai em tempo integral. Se descobrindo como Devop na Wine :) Horrível com slides
  • 3. A maior loja de vinhos da América Latina e a 3ª maior do mundo
  • 4. Sofware stack • Java • Spring • Solr • Maven • OpenJPA • DWR • EHCache • Drools • Velocity • Eclipse RCP
  • 5.
  • 6.
  • 7. Ok, assim funciona. ● E só. ● Não escala. ● Todo deploy tem downtime. ● Tomcat + Assets = :( ● Sticky session++
  • 8.
  • 10. ● Deploys de assets sem downtime. ● Apache > Tomcat pra servir assets. ● Ainda não escala. ● Todo deploy de app tem downtime. ● Continua super Sticky session++
  • 12. ● Deploys de assets sem downtime. ● Nginx > Apache pra servir assets. ● Non Blocking IO no NGINX. ● Ainda não escala. :( ● Todo deploy de app tem downtime. ● Continua super Sticky session++
  • 13.
  • 15. Marketing… Ahhhh o marketing
  • 16.
  • 17. Fato: O site iria cair. ● Pouco tempo ● Atacar os gargalos ● Diminuir o impacto na aplicação
  • 19. ● Deploys de assets sem downtime. ● Nginx > Apache pra servir assets. ● Non Blocking IO no NGINX. ● Nem todo deploy precisa de downtime. ● Melhoria significativa na disponibilidade. ● "Escala". ● Continua super Sticky session++. :( ● Quando um nó cai, clientes logados precisam relogar.
  • 20.
  • 21.
  • 22.
  • 24. ● Diminui requests na aplicação. ● Melhora significativa na performance dos hotsites. ● Continua super Sticky session++. :( ● Quando um nó cai, clientes logados precisam relogar. ● Precisa fazer flush do cache a cada novo deploy de DWR.
  • 26. ● Sem Sticky Sessions. ● Blue/Green Deploy. ● Quase 100% de uptime. ● Limite de hardware. ● Custo. ● O Deploy de Assests ainda não é Green/Blue.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. ● Sem Sticky Sessions. ● 100% Blue/Green Deploy. ● Virtualmente 100% de uptime. ● Custo pelo menos 50% menor ● :/
  • 33. So Long, and Thanks for All the Fish.