SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
We Recommend




10/25/2011
Construindo um avião
             na nuvem em pleno vôo




10/25/2011
A Chaordic
                      Desafios
   Próximos minutos   Evoluções
                      Futuro
                      Conclusões




10/25/2011
A Chaordic


             Desde 2009 desenvolve solução de
             personalização;
             Nascida a partir do Netflix prize;




             Sediada em Florianópolis;

             Escritório em São Paulo;




10/25/2011
Quem somos ...




10/25/2011
... no dia a dia




10/25/2011
Nossos produtos - OnSite




10/25/2011
Nossos produtos - Mail




10/25/2011
Visão Geral Lógica




10/25/2011
RecSys + Big Data
              Operar nos TOP ecommerces do país
              Alta Disponibilidade
              Escalabilidade
              Desempenho
Desafios      100% do conteúdo provido é dinâmico




 10/25/2011
~5 TB de BD;

              Mais de 1 Bi requisições/mês na API;

              67 mil RPM - Última Black Friday;
  Alguns
              4 milhões de produtos;
Números
              34 milhões de recomendações
              geradas/dia;

              27 milhões de usuários;

              250GB de JS comprimidos servidos/dia;

 10/25/2011
Requisições x Mês - 2011




10/25/2011
Arquitetura Primórdio




10/25/2011
Pangeia ~2,5 anos atrás;
               Em negociações com a Saraiva;
               Tomcat6, MySQL5.1 = 1 instância c1.xlarge;
               Sem Alta Disponibilidade, Escalabilidade;
               Suporte a SSL, Desempenho aceitável;
               Snapshots diários como forma de backup;
Primórdio




  10/25/2011
Primórdio




                    14GB BD;
         Evolução   15 milhões acessos/mês;
            Núm.    1,8 mil RPM;
                    1 instância;
        Primórdio




10/25/2011
Evolução - Arquitetura 1a Etapa




10/25/2011
Começo da separação ~2 anos atrás;
               No ar com a Saraiva;
               Tomcat6 + EhCache = Aumento Desempenho;
               MySQL dedicado e Data Files no disco efêmero;
               Monitoração com Monit e notificação via Pingdom;
 Evolução      Snapshots + Data Files no S3 diários para bkp;
1a Etapa




  10/25/2011
Tuning JVM;
               Ambiente não suporta grandes paralisações;
               Alterado GC para UseConcMarkSweepGC;
               Menos tempo em GC, menos FullGC;
 Evolução      Maior desempenho da JVM;
1a Etapa




  10/25/2011
Evolução - 1a Etapa




                    23GB BD;
         Evolução   28 milhões acessos/mês;
            Núm.    3 mil RPM;
                    2 instâncias;
        1a Etapa




10/25/2011
Evolução - Arquitetura 2a Etapa




10/25/2011
~1,5 anos atrás;
              NewRelic como solução de APM;
              Novos clientes = Multi-tenant;
              MySQL c/ RAID0 4 EBS, maior volume IO;

 Evolução     MySQL replicado Master/Slave;
2a Etapa
              Revisão do plano de continuidade do
              negócio devido a falha na Amazon Páscoa
              2011;




 10/25/2011
Evolução - 2a Etapa




              35 GB BD;
              36 milhões acessos/mês;
              8 mil RPM;
              4 instâncias;




10/25/2011
Evolução - Arquitetura 3a Etapa




10/25/2011
~1 ano atrás;
              Nova.com = Extra + PontoFrio + Casas Bahia;
              CDN própria + DynDNS = Static HA;
              ELB, Nginx + Tomcat6 + HAProxy;
              MySQL Memória, CacheDist com Memcache;
 Evolução     Scale Up + Scale Out para Black Friday e Natal;
3a Etapa




 10/25/2011
Aumento da contenção de escrita no banco;
              HiLo para geração de IDs;
              Utilização de INSERT DELAYED no MyISAM;
 Evolução
              Tabelas carregadas para memória, evita EBS;
3a Etapa      HAProxy de MySQL para fail over do banco;




 10/25/2011
Evolução - 3a Etapa




              118 GB BD;
              630 milhões acessos/mês;
              24 mil RPM;
              10 instâncias;




10/25/2011
Evolução - Arquitetura 4a Etapa




10/25/2011
~ 6 meses atrás;

               Troca tomcat por jetty = 3x mais requisições;

               Auto Scale e Spot Instances = Tio Patinhas;
 Evolução      Migração MySQL para Cassandra = NoSQL;
4a Etapa
               Puppet + S3 = Instâncias voláteis, menor
               dependência do Health Dashboard AWS;

               Nagios + Ganglia = Monitoração detalhada;

               Pagamento via wire-transfer = Tributos;

  10/25/2011
Evolução - 4a Etapa




              ~4,86 TB BD - 345Gb MySQL;
              1,03 bilhões acessos/mês;
              38 mil RPM;
              ~21 instâncias;




10/25/2011
Finalizar migração MySQL, Cassandra;

             RecSys via Map Reduce;
             Nacionalização da operação = reduz latência,
Futuro       porém aumenta custo em 30%;
             Cassandra, Hadoop e Pig;
             Backup e Fail Over para outro provedor de cloud;




10/25/2011
Sem DataCenter, focamos no core da empresa;
               Cloud: Flexibilidade + Escalabilidade = Economia;

               Porque Amazon AWS?
                ● Possuem API para todos serviços;
Conclusão       ● Frequência em novos produtos e serviços;
                ● Preços diminuem com regularidade;
                ● Fornecedor IaaS: maior liberdade, maior
                  aprendizagem;
                ● Democratização da Cloud real no Brasil;
                ● Qualidade do serviço oferecido;




  10/25/2011
Conclusão - Elasticidade + Felixibilidade




10/25/2011
rossato@chaordicsystems.com




10/25/2011

Weitere ähnliche Inhalte

Andere mochten auch

Visão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloudVisão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloudAmazon Web Services
 
Chaordic - BigData e MapReduce - Robson Motta
Chaordic - BigData e MapReduce - Robson Motta Chaordic - BigData e MapReduce - Robson Motta
Chaordic - BigData e MapReduce - Robson Motta Chaordic
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDatatdc-globalcode
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDatatdc-globalcode
 
Design in Tech Report 2017
Design in Tech Report 2017Design in Tech Report 2017
Design in Tech Report 2017John Maeda
 

Andere mochten auch (6)

Visão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloudVisão estratégica de como migrar para a cloud
Visão estratégica de como migrar para a cloud
 
Chaordic - BigData e MapReduce - Robson Motta
Chaordic - BigData e MapReduce - Robson Motta Chaordic - BigData e MapReduce - Robson Motta
Chaordic - BigData e MapReduce - Robson Motta
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
TDC2016SP - Trilha BigData
TDC2016SP - Trilha BigDataTDC2016SP - Trilha BigData
TDC2016SP - Trilha BigData
 
Epicentro - João Bosco
Epicentro - João BoscoEpicentro - João Bosco
Epicentro - João Bosco
 
Design in Tech Report 2017
Design in Tech Report 2017Design in Tech Report 2017
Design in Tech Report 2017
 

Ähnlich wie Apresentação do estudo de caso AWS do cliente Chaordic Systems

Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuroassertimarilia
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaMySQL Brasil
 
Inove simplificando a infraestrutura com Kafka
Inove simplificando a infraestrutura com KafkaInove simplificando a infraestrutura com Kafka
Inove simplificando a infraestrutura com KafkaTechrom Tecnologia
 
Arquiteturas de referência MySQL
Arquiteturas de referência MySQLArquiteturas de referência MySQL
Arquiteturas de referência MySQLMySQL Brasil
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL Brasil
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Raul Oliveira
 
Programação funcional que funciona
Programação funcional que funcionaProgramação funcional que funciona
Programação funcional que funcionaRodrigo Serradura
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...
TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...
TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...tdc-globalcode
 
Elastic MeetUp Porto Alegre
Elastic MeetUp Porto AlegreElastic MeetUp Porto Alegre
Elastic MeetUp Porto AlegreRafael Gomes
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaGabriel Molter
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à práticaMario Guedes
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2Maurício Linhares
 

Ähnlich wie Apresentação do estudo de caso AWS do cliente Chaordic Systems (20)

Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e FuturoUso estratégico do MySQL para empresas de TI: Novidades e Futuro
Uso estratégico do MySQL para empresas de TI: Novidades e Futuro
 
Serviços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e JavaServiços Escaláveis e de Alta Performance com MySQL e Java
Serviços Escaláveis e de Alta Performance com MySQL e Java
 
Netflix oss
Netflix ossNetflix oss
Netflix oss
 
Inove simplificando a infraestrutura com Kafka
Inove simplificando a infraestrutura com KafkaInove simplificando a infraestrutura com Kafka
Inove simplificando a infraestrutura com Kafka
 
Arquiteturas de referência MySQL
Arquiteturas de referência MySQLArquiteturas de referência MySQL
Arquiteturas de referência MySQL
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Iniciando com Amazon DynamoDB
Iniciando com Amazon DynamoDBIniciando com Amazon DynamoDB
Iniciando com Amazon DynamoDB
 
Tdc 2017
Tdc 2017Tdc 2017
Tdc 2017
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
 
Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018Cenário das Plataformas de Dados 2017/2018
Cenário das Plataformas de Dados 2017/2018
 
TDC - Da presença online ao Cloud Computing
TDC - Da presença online ao Cloud ComputingTDC - Da presença online ao Cloud Computing
TDC - Da presença online ao Cloud Computing
 
Programação funcional que funciona
Programação funcional que funcionaProgramação funcional que funciona
Programação funcional que funciona
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...
TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...
TDC2017 | POA Trilha BigData - Implementando uma arquitetura de BI e Big Data...
 
Elastic MeetUp Porto Alegre
Elastic MeetUp Porto AlegreElastic MeetUp Porto Alegre
Elastic MeetUp Porto Alegre
 
Ruby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e PráticaRuby on Rails - Filosofia e Prática
Ruby on Rails - Filosofia e Prática
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
IntroduçãO Ao Desenvolvimento Web 2
IntroduçãO Ao Desenvolvimento Web   2IntroduçãO Ao Desenvolvimento Web   2
IntroduçãO Ao Desenvolvimento Web 2
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
 

Mehr von Jose Papo, MSc

Machine Learning e AI - O que o Google oferece
Machine Learning e AI - O que o Google ofereceMachine Learning e AI - O que o Google oferece
Machine Learning e AI - O que o Google ofereceJose Papo, MSc
 
Por que o Google Cloud Platform é diferente
Por que o Google Cloud Platform é diferentePor que o Google Cloud Platform é diferente
Por que o Google Cloud Platform é diferenteJose Papo, MSc
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlowJose Papo, MSc
 
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...Jose Papo, MSc
 
Introdução ao Firebase
Introdução ao FirebaseIntrodução ao Firebase
Introdução ao FirebaseJose Papo, MSc
 
Ferramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e appsFerramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e appsJose Papo, MSc
 
As 8 características de um gestor e líder no "Estilo Google"
As 8 características de um gestor e líder no "Estilo Google"As 8 características de um gestor e líder no "Estilo Google"
As 8 características de um gestor e líder no "Estilo Google"Jose Papo, MSc
 
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen Jose Papo, MSc
 
Mobile, UX e Micro-momentos
Mobile, UX e Micro-momentosMobile, UX e Micro-momentos
Mobile, UX e Micro-momentosJose Papo, MSc
 
Cloud Computing: De tendencia a realidade
Cloud Computing: De tendencia a realidadeCloud Computing: De tendencia a realidade
Cloud Computing: De tendencia a realidadeJose Papo, MSc
 
Novidades do Google IO 2015
Novidades do Google IO 2015Novidades do Google IO 2015
Novidades do Google IO 2015Jose Papo, MSc
 
Opções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasOpções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasJose Papo, MSc
 
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-ScreenA Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-ScreenJose Papo, MSc
 
Como organizar e definir ritmo em sua startup/empresa "Google Style"
Como organizar e definir ritmo em sua startup/empresa "Google Style"Como organizar e definir ritmo em sua startup/empresa "Google Style"
Como organizar e definir ritmo em sua startup/empresa "Google Style"Jose Papo, MSc
 
Google BigQuery - Introdução
Google BigQuery - IntroduçãoGoogle BigQuery - Introdução
Google BigQuery - IntroduçãoJose Papo, MSc
 
Novidades do Google I/O 2014 - Uma Visão
Novidades do Google I/O 2014 - Uma VisãoNovidades do Google I/O 2014 - Uma Visão
Novidades do Google I/O 2014 - Uma VisãoJose Papo, MSc
 
Introdução ao Google Cloud Platform: Computação em Nuvem do Google
Introdução ao Google Cloud Platform: Computação em Nuvem do GoogleIntrodução ao Google Cloud Platform: Computação em Nuvem do Google
Introdução ao Google Cloud Platform: Computação em Nuvem do GoogleJose Papo, MSc
 
Introdução ao pitch de ouro
Introdução ao pitch de ouroIntrodução ao pitch de ouro
Introdução ao pitch de ouroJose Papo, MSc
 
Monetizacao e Hipoteses orientadas a objetivos
Monetizacao e Hipoteses orientadas a objetivosMonetizacao e Hipoteses orientadas a objetivos
Monetizacao e Hipoteses orientadas a objetivosJose Papo, MSc
 
A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...
A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...
A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...Jose Papo, MSc
 

Mehr von Jose Papo, MSc (20)

Machine Learning e AI - O que o Google oferece
Machine Learning e AI - O que o Google ofereceMachine Learning e AI - O que o Google oferece
Machine Learning e AI - O que o Google oferece
 
Por que o Google Cloud Platform é diferente
Por que o Google Cloud Platform é diferentePor que o Google Cloud Platform é diferente
Por que o Google Cloud Platform é diferente
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlow
 
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
 
Introdução ao Firebase
Introdução ao FirebaseIntrodução ao Firebase
Introdução ao Firebase
 
Ferramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e appsFerramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e apps
 
As 8 características de um gestor e líder no "Estilo Google"
As 8 características de um gestor e líder no "Estilo Google"As 8 características de um gestor e líder no "Estilo Google"
As 8 características de um gestor e líder no "Estilo Google"
 
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
 
Mobile, UX e Micro-momentos
Mobile, UX e Micro-momentosMobile, UX e Micro-momentos
Mobile, UX e Micro-momentos
 
Cloud Computing: De tendencia a realidade
Cloud Computing: De tendencia a realidadeCloud Computing: De tendencia a realidade
Cloud Computing: De tendencia a realidade
 
Novidades do Google IO 2015
Novidades do Google IO 2015Novidades do Google IO 2015
Novidades do Google IO 2015
 
Opções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasOpções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e Arquiteturas
 
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-ScreenA Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
A Nova Era Hiper Conectada: Mobile-First, Cloud-First e Multi-Screen
 
Como organizar e definir ritmo em sua startup/empresa "Google Style"
Como organizar e definir ritmo em sua startup/empresa "Google Style"Como organizar e definir ritmo em sua startup/empresa "Google Style"
Como organizar e definir ritmo em sua startup/empresa "Google Style"
 
Google BigQuery - Introdução
Google BigQuery - IntroduçãoGoogle BigQuery - Introdução
Google BigQuery - Introdução
 
Novidades do Google I/O 2014 - Uma Visão
Novidades do Google I/O 2014 - Uma VisãoNovidades do Google I/O 2014 - Uma Visão
Novidades do Google I/O 2014 - Uma Visão
 
Introdução ao Google Cloud Platform: Computação em Nuvem do Google
Introdução ao Google Cloud Platform: Computação em Nuvem do GoogleIntrodução ao Google Cloud Platform: Computação em Nuvem do Google
Introdução ao Google Cloud Platform: Computação em Nuvem do Google
 
Introdução ao pitch de ouro
Introdução ao pitch de ouroIntrodução ao pitch de ouro
Introdução ao pitch de ouro
 
Monetizacao e Hipoteses orientadas a objetivos
Monetizacao e Hipoteses orientadas a objetivosMonetizacao e Hipoteses orientadas a objetivos
Monetizacao e Hipoteses orientadas a objetivos
 
A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...
A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...
A Nova Era Industrial: Internet das Coisas e como escalar uma startup de hard...
 

Apresentação do estudo de caso AWS do cliente Chaordic Systems

  • 2. Construindo um avião na nuvem em pleno vôo 10/25/2011
  • 3. A Chaordic Desafios Próximos minutos Evoluções Futuro Conclusões 10/25/2011
  • 4. A Chaordic Desde 2009 desenvolve solução de personalização; Nascida a partir do Netflix prize; Sediada em Florianópolis; Escritório em São Paulo; 10/25/2011
  • 6. ... no dia a dia 10/25/2011
  • 7. Nossos produtos - OnSite 10/25/2011
  • 8. Nossos produtos - Mail 10/25/2011
  • 10. RecSys + Big Data Operar nos TOP ecommerces do país Alta Disponibilidade Escalabilidade Desempenho Desafios 100% do conteúdo provido é dinâmico 10/25/2011
  • 11. ~5 TB de BD; Mais de 1 Bi requisições/mês na API; 67 mil RPM - Última Black Friday; Alguns 4 milhões de produtos; Números 34 milhões de recomendações geradas/dia; 27 milhões de usuários; 250GB de JS comprimidos servidos/dia; 10/25/2011
  • 12. Requisições x Mês - 2011 10/25/2011
  • 14. Pangeia ~2,5 anos atrás; Em negociações com a Saraiva; Tomcat6, MySQL5.1 = 1 instância c1.xlarge; Sem Alta Disponibilidade, Escalabilidade; Suporte a SSL, Desempenho aceitável; Snapshots diários como forma de backup; Primórdio 10/25/2011
  • 15. Primórdio 14GB BD; Evolução 15 milhões acessos/mês; Núm. 1,8 mil RPM; 1 instância; Primórdio 10/25/2011
  • 16. Evolução - Arquitetura 1a Etapa 10/25/2011
  • 17. Começo da separação ~2 anos atrás; No ar com a Saraiva; Tomcat6 + EhCache = Aumento Desempenho; MySQL dedicado e Data Files no disco efêmero; Monitoração com Monit e notificação via Pingdom; Evolução Snapshots + Data Files no S3 diários para bkp; 1a Etapa 10/25/2011
  • 18. Tuning JVM; Ambiente não suporta grandes paralisações; Alterado GC para UseConcMarkSweepGC; Menos tempo em GC, menos FullGC; Evolução Maior desempenho da JVM; 1a Etapa 10/25/2011
  • 19. Evolução - 1a Etapa 23GB BD; Evolução 28 milhões acessos/mês; Núm. 3 mil RPM; 2 instâncias; 1a Etapa 10/25/2011
  • 20. Evolução - Arquitetura 2a Etapa 10/25/2011
  • 21. ~1,5 anos atrás; NewRelic como solução de APM; Novos clientes = Multi-tenant; MySQL c/ RAID0 4 EBS, maior volume IO; Evolução MySQL replicado Master/Slave; 2a Etapa Revisão do plano de continuidade do negócio devido a falha na Amazon Páscoa 2011; 10/25/2011
  • 22. Evolução - 2a Etapa 35 GB BD; 36 milhões acessos/mês; 8 mil RPM; 4 instâncias; 10/25/2011
  • 23. Evolução - Arquitetura 3a Etapa 10/25/2011
  • 24. ~1 ano atrás; Nova.com = Extra + PontoFrio + Casas Bahia; CDN própria + DynDNS = Static HA; ELB, Nginx + Tomcat6 + HAProxy; MySQL Memória, CacheDist com Memcache; Evolução Scale Up + Scale Out para Black Friday e Natal; 3a Etapa 10/25/2011
  • 25. Aumento da contenção de escrita no banco; HiLo para geração de IDs; Utilização de INSERT DELAYED no MyISAM; Evolução Tabelas carregadas para memória, evita EBS; 3a Etapa HAProxy de MySQL para fail over do banco; 10/25/2011
  • 26. Evolução - 3a Etapa 118 GB BD; 630 milhões acessos/mês; 24 mil RPM; 10 instâncias; 10/25/2011
  • 27. Evolução - Arquitetura 4a Etapa 10/25/2011
  • 28. ~ 6 meses atrás; Troca tomcat por jetty = 3x mais requisições; Auto Scale e Spot Instances = Tio Patinhas; Evolução Migração MySQL para Cassandra = NoSQL; 4a Etapa Puppet + S3 = Instâncias voláteis, menor dependência do Health Dashboard AWS; Nagios + Ganglia = Monitoração detalhada; Pagamento via wire-transfer = Tributos; 10/25/2011
  • 29. Evolução - 4a Etapa ~4,86 TB BD - 345Gb MySQL; 1,03 bilhões acessos/mês; 38 mil RPM; ~21 instâncias; 10/25/2011
  • 30. Finalizar migração MySQL, Cassandra; RecSys via Map Reduce; Nacionalização da operação = reduz latência, Futuro porém aumenta custo em 30%; Cassandra, Hadoop e Pig; Backup e Fail Over para outro provedor de cloud; 10/25/2011
  • 31. Sem DataCenter, focamos no core da empresa; Cloud: Flexibilidade + Escalabilidade = Economia; Porque Amazon AWS? ● Possuem API para todos serviços; Conclusão ● Frequência em novos produtos e serviços; ● Preços diminuem com regularidade; ● Fornecedor IaaS: maior liberdade, maior aprendizagem; ● Democratização da Cloud real no Brasil; ● Qualidade do serviço oferecido; 10/25/2011
  • 32. Conclusão - Elasticidade + Felixibilidade 10/25/2011