SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Semelhante a Apresentacao do estudo de caso AWS do cliente Chaordic Systems

Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
Lorran Pegoretti
 
Iniciando com Amazon DynamoDB
Iniciando com Amazon DynamoDBIniciando com Amazon DynamoDB
Iniciando com Amazon DynamoDB
Amazon Web Services LATAM
 
Tdc 2017
Tdc 2017Tdc 2017
Tdc 2017
Carlos Grahl
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
Gleicon Moraes
 
MySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de ProdutoMySQL para Desenvolvedores de Produto
MySQL para Desenvolvedores de Produto
MySQL 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/2018
Raul Oliveira
 
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
Roosevelt Nascimento Junior
 
Programação funcional que funciona
Programação funcional que funcionaProgramação funcional que funciona
Programação funcional que funciona
Rodrigo 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 Poliglota
Glaucio 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 Alegre
Rafael 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ática
Gabriel Molter
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
Mario 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
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
Alexsandro Pereira
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
MySQL Brasil
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
Felipe Klerk Signorini
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
André Paulovich
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
MySQL Brasil
 
Plataforma Zope Plone na PGR
Plataforma Zope Plone na PGRPlataforma Zope Plone na PGR
Plataforma Zope Plone na PGR
Lucas Brasilino
 

Semelhante a Apresentacao do estudo de caso AWS do cliente Chaordic Systems (20)

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
 
Desenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQLDesenvolvendo serviços escaláveis e de alta performance com MySQL
Desenvolvendo serviços escaláveis e de alta performance com MySQL
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
MySQL Cluster - visão geral
MySQL Cluster - visão geralMySQL Cluster - visão geral
MySQL Cluster - visão geral
 
Plataforma Zope Plone na PGR
Plataforma Zope Plone na PGRPlataforma Zope Plone na PGR
Plataforma Zope Plone na PGR
 

Mais de Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
Amazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
Amazon Web Services LATAM
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
Amazon Web Services LATAM
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
Amazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
Amazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
Amazon Web Services LATAM
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
Amazon Web Services LATAM
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
Amazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
Amazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Amazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
Amazon Web Services LATAM
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
Amazon Web Services LATAM
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
Amazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
Amazon Web Services LATAM
 

Mais de Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Apresentacao 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