Fazendo mais com menos Como o R7 entrega conteúdo a partir do AWS                                      Roberto Gaiser     ...
Sobre o R7
Sobre o R7• 2 anos de vida
Sobre o R7• 2 anos de vida• Culturas diferentes
Sobre o R7• 2 anos de vida• Culturas diferentes• Eficiência
Sobre o R7• 2 anos de vida• Culturas diferentes• Eficiência• Soluções não convencionais
Sobre o R7
Sobre o R7Page Views    Unique Visitors                                Ibope539 Milhões    14,4 Milhões     Net//Ratings  ...
Sobre o R7Page Views    Unique Visitors                                Ibope539 Milhões    14,4 Milhões     Net//Ratings  ...
Sobre o R7   Page Views         Unique Visitors                                           Ibope   539 Milhões            1...
Estrutura tradicional
Estrutura tradicional
Estrutura tradicional• Servidores
Estrutura tradicional• Servidores• Storage
Estrutura tradicional• Servidores• Storage•   Rede
Estrutura tradicional• Servidores• Storage•   Rede•   Link
Problema
Problema“Efeito TV”
Problema“Efeito TV”
Como sobrevivemos?
Como sobrevivemos?• Utilizando o AWS como CDN
Como sobrevivemos?• Utilizando o AWS como CDN• Varnish
Como sobrevivemos?• Utilizando o AWS como CDN• Varnish• Cópia do conteúdo para casos de desastre
Como sobrevivemos?• Utilizando o AWS como CDN• Varnish• Cópia do conteúdo para casos de desastre• Aplicações otimizadas
Como sobrevivemos?• Utilizando o AWS como CDN• Varnish• Cópia do conteúdo para casos de desastre• Aplicações otimizadas• N...
Motivação
Motivação• Otimizar custo fixo
Motivação• Otimizar custo fixo
Motivação• Otimizar custo fixo• “Efeito TV”
Motivação• Otimizar custo fixo• “Efeito TV”• Resiliência a ataques
Motivação• Otimizar custo fixo• “Efeito TV”• Resiliência a ataques• Site backup
Primeira vez
Primeira vez• ELB
Primeira vez• ELB• Large instance
Primeira vez• ELB• Large instance• Varnish
Primeira vez• ELB• Large instance• Varnish• Medição do tempo de carregamento
Primeira vez• ELB• Large instance• Varnish• Medição do tempo de carregamento• Sem aviso prévio
Primeira vez• ELB• Large instance• Varnish• Medição do tempo de carregamento• Sem aviso prévio
Funcionou, e agora?
Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)
Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB
Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB• Global load balancing (DNS)
Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB• Global load balancing (DNS)• Automação (CHEF)
Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB• Global load balancing (DNS)• Automação (CHEF...
Tudo vem de lá?
Tudo vem de lá?• Conteúdo estático e dinâmico
Tudo vem de lá?• Conteúdo estático e dinâmico• Vídeos da Akamai
Tudo vem de lá?• Conteúdo estático e dinâmico• Vídeos da Akamai• Performance do RDS X Custo
Tudo vem de lá?• Conteúdo estático e dinâmico• Vídeos da Akamai• Performance do RDS X Custo• Aplicações não preparadas
EC2
EC2• Escolher o tipo adequado para a aplicação
EC2• Escolher o tipo adequado para a aplicação• CPU x Memória
EC2• Escolher o tipo adequado para a aplicação• CPU x Memória• EBS x Instance Store
EC2• Escolher o tipo adequado para a aplicação• CPU x Memória• EBS x Instance Store• Tráfego x CPU
EC2• Escolher o tipo adequado para a aplicação• CPU x Memória• EBS x Instance Store• Tráfego x CPU• Reserved Instance
EC2
EC2      Compute Unit      Memória (GB)
EC2                              Compute Unit                              Memória (GB)86420    Small   High-CPU Medium   ...
EC2                                Compute Unit                                Memória (GB)86420     Small    High-CPU Med...
EBS
EBS• EBS-backed instance
EBS• EBS-backed instance• Dados
EBS• EBS-backed instance• Dados• Performance
EBS• EBS-backed instance• Dados• Performance• Vantagens
EBS• EBS-backed instance• Dados• Performance• Vantagens• Problemas
AMI
AMI• Pronta ou com automação?
AMI• Pronta ou com automação?• CHEF
AMI• Pronta ou com automação?• CHEF• Ubuntu (http://uec-images.ubuntu.com/   )
AMI• Pronta ou com automação?• CHEF• Ubuntu (http://uec-images.ubuntu.com/   )• 32bits e 64bits
AMI• Pronta ou com automação?• CHEF• Ubuntu ( http://uec-images.ubuntu.com/   )• 32bits e 64bits• Pacotes prontos, salvo e...
S3
S3• Custo
S3• Custo• Simples
S3• Custo• Simples• Videos e Thumbnails
S3• Custo• Simples• Videos e Thumbnails• Permissões
ELB
ELB• CNAME
ELB• CNAME• TTL e suas implicações
ELB• CNAME• TTL e suas implicações• SSL
ELB• CNAME• TTL e suas implicações• SSL• Múltiplas zonas
Cloudfront
Cloudfront• Controle do cache
Cloudfront• Controle do cache• Varnish e Nginx
Cloudfront• Controle do cache• Varnish e Nginx• Imagens a partir do S3 (Thumbnails)
Cloudfront• Controle do cache• Varnish e Nginx• Imagens a partir do S3 (Thumbnails)• CDN Global
Cloudwatch
Cloudwatch• Unidades nem sempre “amigáveis”
Cloudwatch• Unidades nem sempre “amigáveis”• Métricas customizadas
Cloudwatch• Unidades nem sempre “amigáveis”• Métricas customizadas• Alarmes
Cloudwatch• Unidades nem sempre “amigáveis”• Métricas customizadas• Alarmes• Auto Scaling
Monitoração
Monitoração• Zabbix
Monitoração• Zabbix• Cloudwatch
Monitoração• Zabbix• Cloudwatch• Dinâmico
Monitoração• Zabbix• Cloudwatch• Dinâmico• Otimizar custo e desempenho
Monitoração• Zabbix• Cloudwatch• Dinâmico• Otimizar custo e desempenho• Capacity planning
Automação
Automação• Puppet x Cfengine x CHEF
Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2
Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2• OHAI
Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2• OHAI• Cloudformation
Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2• OHAI• Cloudformation• Disaster recovery
Cloudformation
Cloudformation• JSON
Cloudformation• JSON• Versionamento
Cloudformation• JSON• Versionamento• Consegue controlar todos os serviços
Cloudformation• JSON• Versionamento• Consegue controlar todos os serviços• Testes e recuperação de falhas
Segurança
Segurança• ACL de entrada, saída sempre é liberado
Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas
Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas• Impossibilidade de alterar o grupo
Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas• Impossibilidade de alterar o grupo
Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas• Impossibilidade de alterar o grupo• Im...
Controle de acesso
Controle de acesso• IAM
Controle de acesso• IAM• API Key/Secret
Controle de acesso• IAM• API Key/Secret• Por aplicação/usuário
Controle de acesso• IAM• API Key/Secret• Por aplicação/usuário• Granularidade varia entre os serviços
Problemas?
Problemas?• Eles existem
Problemas?• Eles existem• RTT
Problemas?• Eles existem• RTT• Conectividade das  operadoras
Problemas?• Eles existem• RTT• Conectividade das  operadoras• Controle de acesso (IAM)
Problemas?• Eles existem• RTT• Conectividade das  operadoras• Controle de acesso (IAM)
Problemas?• Eles existem• RTT• Conectividade das  operadoras• Controle de acesso (IAM)• Problemas do AWS
Futuro
Futuro
Futuro• O medo foi vencido
Futuro• O medo foi vencido• Global load balancer  possibilita outros provedores
Futuro• O medo foi vencido• Global load balancer  possibilita outros provedores• Busca de soluções  competitivas
Futuro• O medo foi vencido• Global load balancer  possibilita outros provedores• Busca de soluções  competitivas• Construi...
Outros usos
Outros usos
Outros usos• Possibilidade de criar a mesma  estrutura de produção
Outros usos• Possibilidade de criar a mesma  estrutura de produção• Homologação
Outros usos• Possibilidade de criar a mesma  estrutura de produção• Homologação• Testes
Outros usos• Possibilidade de criar a mesma  estrutura de produção• Homologação• Testes• S3 e EBS como backup
Outros usos• Possibilidade de criar a mesma  estrutura de produção• Homologação• Testes• S3 e EBS como backup• Hadoop para...
“Cloud Computing”
“Cloud Computing”
Perguntas?
Perguntas?
Upcoming SlideShare
Loading in...5
×

R7 no AWS - Qcon SP 2011

4,042

Published on

Palestra: Fazendo mais com menos, da infraestrutura tradicional para a Amazon. Como o R7 entrega conteúdo a partir do AWS.

Published in: Technology

R7 no AWS - Qcon SP 2011

  1. 1. Fazendo mais com menos Como o R7 entrega conteúdo a partir do AWS Roberto Gaiser rgaiser@sp.r7.com @rgaiser QCon SP - Setembro/2011
  2. 2. Sobre o R7
  3. 3. Sobre o R7• 2 anos de vida
  4. 4. Sobre o R7• 2 anos de vida• Culturas diferentes
  5. 5. Sobre o R7• 2 anos de vida• Culturas diferentes• Eficiência
  6. 6. Sobre o R7• 2 anos de vida• Culturas diferentes• Eficiência• Soluções não convencionais
  7. 7. Sobre o R7
  8. 8. Sobre o R7Page Views Unique Visitors Ibope539 Milhões 14,4 Milhões Net//Ratings Julho/2011
  9. 9. Sobre o R7Page Views Unique Visitors Ibope539 Milhões 14,4 Milhões Net//Ratings Julho/2011 Notícias Entretenimento Ibope 8ª 9ª Net//Ratings Julho/2011
  10. 10. Sobre o R7 Page Views Unique Visitors Ibope 539 Milhões 14,4 Milhões Net//Ratings Julho/2011 Notícias Entretenimento Ibope 8ª 9ª Net//Ratings Julho/2011 R7 Segundo lugar Internet Brasil Ibope51,12% 5,13% 4,9% Net//Ratings Julho/2011
  11. 11. Estrutura tradicional
  12. 12. Estrutura tradicional
  13. 13. Estrutura tradicional• Servidores
  14. 14. Estrutura tradicional• Servidores• Storage
  15. 15. Estrutura tradicional• Servidores• Storage• Rede
  16. 16. Estrutura tradicional• Servidores• Storage• Rede• Link
  17. 17. Problema
  18. 18. Problema“Efeito TV”
  19. 19. Problema“Efeito TV”
  20. 20. Como sobrevivemos?
  21. 21. Como sobrevivemos?• Utilizando o AWS como CDN
  22. 22. Como sobrevivemos?• Utilizando o AWS como CDN• Varnish
  23. 23. Como sobrevivemos?• Utilizando o AWS como CDN• Varnish• Cópia do conteúdo para casos de desastre
  24. 24. Como sobrevivemos?• Utilizando o AWS como CDN• Varnish• Cópia do conteúdo para casos de desastre• Aplicações otimizadas
  25. 25. Como sobrevivemos?• Utilizando o AWS como CDN• Varnish• Cópia do conteúdo para casos de desastre• Aplicações otimizadas• NoSQL, assíncrono, filas etc.
  26. 26. Motivação
  27. 27. Motivação• Otimizar custo fixo
  28. 28. Motivação• Otimizar custo fixo
  29. 29. Motivação• Otimizar custo fixo• “Efeito TV”
  30. 30. Motivação• Otimizar custo fixo• “Efeito TV”• Resiliência a ataques
  31. 31. Motivação• Otimizar custo fixo• “Efeito TV”• Resiliência a ataques• Site backup
  32. 32. Primeira vez
  33. 33. Primeira vez• ELB
  34. 34. Primeira vez• ELB• Large instance
  35. 35. Primeira vez• ELB• Large instance• Varnish
  36. 36. Primeira vez• ELB• Large instance• Varnish• Medição do tempo de carregamento
  37. 37. Primeira vez• ELB• Large instance• Varnish• Medição do tempo de carregamento• Sem aviso prévio
  38. 38. Primeira vez• ELB• Large instance• Varnish• Medição do tempo de carregamento• Sem aviso prévio
  39. 39. Funcionou, e agora?
  40. 40. Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)
  41. 41. Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB
  42. 42. Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB• Global load balancing (DNS)
  43. 43. Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB• Global load balancing (DNS)• Automação (CHEF)
  44. 44. Funcionou, e agora?• ELB + Auto Scaling (Cloudwatch alarm)• Problemas do ELB• Global load balancing (DNS)• Automação (CHEF)• Ubuntu
  45. 45. Tudo vem de lá?
  46. 46. Tudo vem de lá?• Conteúdo estático e dinâmico
  47. 47. Tudo vem de lá?• Conteúdo estático e dinâmico• Vídeos da Akamai
  48. 48. Tudo vem de lá?• Conteúdo estático e dinâmico• Vídeos da Akamai• Performance do RDS X Custo
  49. 49. Tudo vem de lá?• Conteúdo estático e dinâmico• Vídeos da Akamai• Performance do RDS X Custo• Aplicações não preparadas
  50. 50. EC2
  51. 51. EC2• Escolher o tipo adequado para a aplicação
  52. 52. EC2• Escolher o tipo adequado para a aplicação• CPU x Memória
  53. 53. EC2• Escolher o tipo adequado para a aplicação• CPU x Memória• EBS x Instance Store
  54. 54. EC2• Escolher o tipo adequado para a aplicação• CPU x Memória• EBS x Instance Store• Tráfego x CPU
  55. 55. EC2• Escolher o tipo adequado para a aplicação• CPU x Memória• EBS x Instance Store• Tráfego x CPU• Reserved Instance
  56. 56. EC2
  57. 57. EC2 Compute Unit Memória (GB)
  58. 58. EC2 Compute Unit Memória (GB)86420 Small High-CPU Medium Large
  59. 59. EC2 Compute Unit Memória (GB)86420 Small High-CPU Medium Large 32 bits 32 bits 64 bits
  60. 60. EBS
  61. 61. EBS• EBS-backed instance
  62. 62. EBS• EBS-backed instance• Dados
  63. 63. EBS• EBS-backed instance• Dados• Performance
  64. 64. EBS• EBS-backed instance• Dados• Performance• Vantagens
  65. 65. EBS• EBS-backed instance• Dados• Performance• Vantagens• Problemas
  66. 66. AMI
  67. 67. AMI• Pronta ou com automação?
  68. 68. AMI• Pronta ou com automação?• CHEF
  69. 69. AMI• Pronta ou com automação?• CHEF• Ubuntu (http://uec-images.ubuntu.com/ )
  70. 70. AMI• Pronta ou com automação?• CHEF• Ubuntu (http://uec-images.ubuntu.com/ )• 32bits e 64bits
  71. 71. AMI• Pronta ou com automação?• CHEF• Ubuntu ( http://uec-images.ubuntu.com/ )• 32bits e 64bits• Pacotes prontos, salvo exceções
  72. 72. S3
  73. 73. S3• Custo
  74. 74. S3• Custo• Simples
  75. 75. S3• Custo• Simples• Videos e Thumbnails
  76. 76. S3• Custo• Simples• Videos e Thumbnails• Permissões
  77. 77. ELB
  78. 78. ELB• CNAME
  79. 79. ELB• CNAME• TTL e suas implicações
  80. 80. ELB• CNAME• TTL e suas implicações• SSL
  81. 81. ELB• CNAME• TTL e suas implicações• SSL• Múltiplas zonas
  82. 82. Cloudfront
  83. 83. Cloudfront• Controle do cache
  84. 84. Cloudfront• Controle do cache• Varnish e Nginx
  85. 85. Cloudfront• Controle do cache• Varnish e Nginx• Imagens a partir do S3 (Thumbnails)
  86. 86. Cloudfront• Controle do cache• Varnish e Nginx• Imagens a partir do S3 (Thumbnails)• CDN Global
  87. 87. Cloudwatch
  88. 88. Cloudwatch• Unidades nem sempre “amigáveis”
  89. 89. Cloudwatch• Unidades nem sempre “amigáveis”• Métricas customizadas
  90. 90. Cloudwatch• Unidades nem sempre “amigáveis”• Métricas customizadas• Alarmes
  91. 91. Cloudwatch• Unidades nem sempre “amigáveis”• Métricas customizadas• Alarmes• Auto Scaling
  92. 92. Monitoração
  93. 93. Monitoração• Zabbix
  94. 94. Monitoração• Zabbix• Cloudwatch
  95. 95. Monitoração• Zabbix• Cloudwatch• Dinâmico
  96. 96. Monitoração• Zabbix• Cloudwatch• Dinâmico• Otimizar custo e desempenho
  97. 97. Monitoração• Zabbix• Cloudwatch• Dinâmico• Otimizar custo e desempenho• Capacity planning
  98. 98. Automação
  99. 99. Automação• Puppet x Cfengine x CHEF
  100. 100. Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2
  101. 101. Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2• OHAI
  102. 102. Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2• OHAI• Cloudformation
  103. 103. Automação• Puppet x Cfengine x CHEF• CHEF já estava pronto para o EC2• OHAI• Cloudformation• Disaster recovery
  104. 104. Cloudformation
  105. 105. Cloudformation• JSON
  106. 106. Cloudformation• JSON• Versionamento
  107. 107. Cloudformation• JSON• Versionamento• Consegue controlar todos os serviços
  108. 108. Cloudformation• JSON• Versionamento• Consegue controlar todos os serviços• Testes e recuperação de falhas
  109. 109. Segurança
  110. 110. Segurança• ACL de entrada, saída sempre é liberado
  111. 111. Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas
  112. 112. Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas• Impossibilidade de alterar o grupo
  113. 113. Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas• Impossibilidade de alterar o grupo
  114. 114. Segurança• ACL de entrada, saída sempre é liberado• Grupos entre diferentes contas• Impossibilidade de alterar o grupo• Implicações legais
  115. 115. Controle de acesso
  116. 116. Controle de acesso• IAM
  117. 117. Controle de acesso• IAM• API Key/Secret
  118. 118. Controle de acesso• IAM• API Key/Secret• Por aplicação/usuário
  119. 119. Controle de acesso• IAM• API Key/Secret• Por aplicação/usuário• Granularidade varia entre os serviços
  120. 120. Problemas?
  121. 121. Problemas?• Eles existem
  122. 122. Problemas?• Eles existem• RTT
  123. 123. Problemas?• Eles existem• RTT• Conectividade das operadoras
  124. 124. Problemas?• Eles existem• RTT• Conectividade das operadoras• Controle de acesso (IAM)
  125. 125. Problemas?• Eles existem• RTT• Conectividade das operadoras• Controle de acesso (IAM)
  126. 126. Problemas?• Eles existem• RTT• Conectividade das operadoras• Controle de acesso (IAM)• Problemas do AWS
  127. 127. Futuro
  128. 128. Futuro
  129. 129. Futuro• O medo foi vencido
  130. 130. Futuro• O medo foi vencido• Global load balancer possibilita outros provedores
  131. 131. Futuro• O medo foi vencido• Global load balancer possibilita outros provedores• Busca de soluções competitivas
  132. 132. Futuro• O medo foi vencido• Global load balancer possibilita outros provedores• Busca de soluções competitivas• Construir aplicações preparadas para este tipo de ambiente
  133. 133. Outros usos
  134. 134. Outros usos
  135. 135. Outros usos• Possibilidade de criar a mesma estrutura de produção
  136. 136. Outros usos• Possibilidade de criar a mesma estrutura de produção• Homologação
  137. 137. Outros usos• Possibilidade de criar a mesma estrutura de produção• Homologação• Testes
  138. 138. Outros usos• Possibilidade de criar a mesma estrutura de produção• Homologação• Testes• S3 e EBS como backup
  139. 139. Outros usos• Possibilidade de criar a mesma estrutura de produção• Homologação• Testes• S3 e EBS como backup• Hadoop para relatórios
  140. 140. “Cloud Computing”
  141. 141. “Cloud Computing”
  142. 142. Perguntas?
  143. 143. Perguntas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×