R7 no AWS - Qcon SP 2011

143
Fazendo mais com menos Como o R7 entrega conteúdo a partir do AWS Roberto Gaiser [email protected] @rgaiser QCon SP - Setembro/2011

description

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

Transcript of R7 no AWS - Qcon SP 2011

Page 1: R7 no AWS - Qcon SP 2011

Fazendo mais com menosComo o R7 entrega conteúdo a partir do AWS

Roberto [email protected]

@rgaiserQCon SP - Setembro/2011

Page 2: R7 no AWS - Qcon SP 2011

Sobre o R7

Page 3: R7 no AWS - Qcon SP 2011

Sobre o R7

• 2 anos de vida

Page 4: R7 no AWS - Qcon SP 2011

Sobre o R7

• 2 anos de vida

• Culturas diferentes

Page 5: R7 no AWS - Qcon SP 2011

Sobre o R7

• 2 anos de vida

• Culturas diferentes

• Eficiência

Page 6: R7 no AWS - Qcon SP 2011

Sobre o R7

• 2 anos de vida

• Culturas diferentes

• Eficiência

• Soluções não convencionais

Page 7: R7 no AWS - Qcon SP 2011

Sobre o R7

Page 8: R7 no AWS - Qcon SP 2011

Sobre o R7Page Views Unique Visitors

539 Milhões 14,4 MilhõesIbopeNet//RatingsJulho/2011

Page 9: R7 no AWS - Qcon SP 2011

Sobre o R7Page Views Unique Visitors

539 Milhões 14,4 MilhõesIbopeNet//RatingsJulho/2011

Notícias Entretenimento

8ª 9ªIbopeNet//RatingsJulho/2011

Page 10: R7 no AWS - Qcon SP 2011

Sobre o R7Page Views Unique Visitors

539 Milhões 14,4 MilhõesIbopeNet//RatingsJulho/2011

Notícias Entretenimento

8ª 9ªIbopeNet//RatingsJulho/2011

R7 Segundo lugar Internet Brasil

51,12% 5,13% 4,9%IbopeNet//RatingsJulho/2011

Page 11: R7 no AWS - Qcon SP 2011

Estrutura tradicional

Page 12: R7 no AWS - Qcon SP 2011

Estrutura tradicional

Page 13: R7 no AWS - Qcon SP 2011

Estrutura tradicional

• Servidores

Page 14: R7 no AWS - Qcon SP 2011

Estrutura tradicional

• Servidores

• Storage

Page 15: R7 no AWS - Qcon SP 2011

Estrutura tradicional

• Servidores

• Storage

•Rede

Page 16: R7 no AWS - Qcon SP 2011

Estrutura tradicional

• Servidores

• Storage

•Rede

•Link

Page 17: R7 no AWS - Qcon SP 2011

Problema

Page 18: R7 no AWS - Qcon SP 2011

Problema“Efeito TV”

Page 19: R7 no AWS - Qcon SP 2011

Problema“Efeito TV”

Page 20: R7 no AWS - Qcon SP 2011

Como sobrevivemos?

Page 21: R7 no AWS - Qcon SP 2011

Como sobrevivemos?

• Utilizando o AWS como CDN

Page 22: R7 no AWS - Qcon SP 2011

Como sobrevivemos?

• Utilizando o AWS como CDN

• Varnish

Page 23: R7 no AWS - Qcon SP 2011

Como sobrevivemos?

• Utilizando o AWS como CDN

• Varnish

• Cópia do conteúdo para casos de desastre

Page 24: R7 no AWS - Qcon SP 2011

Como sobrevivemos?

• Utilizando o AWS como CDN

• Varnish

• Cópia do conteúdo para casos de desastre

• Aplicações otimizadas

Page 25: R7 no AWS - Qcon SP 2011

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.

Page 26: R7 no AWS - Qcon SP 2011

Motivação

Page 27: R7 no AWS - Qcon SP 2011

Motivação

• Otimizar custo fixo

Page 28: R7 no AWS - Qcon SP 2011

Motivação

• Otimizar custo fixo

Page 29: R7 no AWS - Qcon SP 2011

Motivação

• Otimizar custo fixo

• “Efeito TV”

Page 30: R7 no AWS - Qcon SP 2011

Motivação

• Otimizar custo fixo

• “Efeito TV”

• Resiliência a ataques

Page 31: R7 no AWS - Qcon SP 2011

Motivação

• Otimizar custo fixo

• “Efeito TV”

• Resiliência a ataques

• Site backup

Page 32: R7 no AWS - Qcon SP 2011

Primeira vez

Page 33: R7 no AWS - Qcon SP 2011

Primeira vez

• ELB

Page 34: R7 no AWS - Qcon SP 2011

Primeira vez

• ELB

• Large instance

Page 35: R7 no AWS - Qcon SP 2011

Primeira vez

• ELB

• Large instance

• Varnish

Page 36: R7 no AWS - Qcon SP 2011

Primeira vez

• ELB

• Large instance

• Varnish

• Medição do tempo de carregamento

Page 37: R7 no AWS - Qcon SP 2011

Primeira vez

• ELB

• Large instance

• Varnish

• Medição do tempo de carregamento

• Sem aviso prévio

Page 38: R7 no AWS - Qcon SP 2011

Primeira vez

• ELB

• Large instance

• Varnish

• Medição do tempo de carregamento

• Sem aviso prévio

Page 39: R7 no AWS - Qcon SP 2011

Funcionou, e agora?

Page 40: R7 no AWS - Qcon SP 2011

Funcionou, e agora?

• ELB + Auto Scaling (Cloudwatch alarm)

Page 41: R7 no AWS - Qcon SP 2011

Funcionou, e agora?

• ELB + Auto Scaling (Cloudwatch alarm)

• Problemas do ELB

Page 42: R7 no AWS - Qcon SP 2011

Funcionou, e agora?

• ELB + Auto Scaling (Cloudwatch alarm)

• Problemas do ELB

• Global load balancing (DNS)

Page 43: R7 no AWS - Qcon SP 2011

Funcionou, e agora?

• ELB + Auto Scaling (Cloudwatch alarm)

• Problemas do ELB

• Global load balancing (DNS)

• Automação (CHEF)

Page 44: R7 no AWS - Qcon SP 2011

Funcionou, e agora?

• ELB + Auto Scaling (Cloudwatch alarm)

• Problemas do ELB

• Global load balancing (DNS)

• Automação (CHEF)

• Ubuntu

Page 45: R7 no AWS - Qcon SP 2011

Tudo vem de lá?

Page 46: R7 no AWS - Qcon SP 2011

Tudo vem de lá?

• Conteúdo estático e dinâmico

Page 47: R7 no AWS - Qcon SP 2011

Tudo vem de lá?

• Conteúdo estático e dinâmico

• Vídeos da Akamai

Page 48: R7 no AWS - Qcon SP 2011

Tudo vem de lá?

• Conteúdo estático e dinâmico

• Vídeos da Akamai

• Performance do RDS X Custo

Page 49: R7 no AWS - Qcon SP 2011

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

Page 50: R7 no AWS - Qcon SP 2011

EC2

Page 51: R7 no AWS - Qcon SP 2011

EC2

• Escolher o tipo adequado para a aplicação

Page 52: R7 no AWS - Qcon SP 2011

EC2

• Escolher o tipo adequado para a aplicação

• CPU x Memória

Page 53: R7 no AWS - Qcon SP 2011

EC2

• Escolher o tipo adequado para a aplicação

• CPU x Memória

• EBS x Instance Store

Page 54: R7 no AWS - Qcon SP 2011

EC2

• Escolher o tipo adequado para a aplicação

• CPU x Memória

• EBS x Instance Store

• Tráfego x CPU

Page 55: R7 no AWS - Qcon SP 2011

EC2

• Escolher o tipo adequado para a aplicação

• CPU x Memória

• EBS x Instance Store

• Tráfego x CPU

• Reserved Instance

Page 56: R7 no AWS - Qcon SP 2011

EC2

Page 57: R7 no AWS - Qcon SP 2011

EC2Compute UnitMemória (GB)

Page 58: R7 no AWS - Qcon SP 2011

EC2

0

2

4

6

8

Small High-CPU Medium Large

Compute UnitMemória (GB)

Page 59: R7 no AWS - Qcon SP 2011

EC2

0

2

4

6

8

Small High-CPU Medium Large

Compute UnitMemória (GB)

32 bits 32 bits 64 bits

Page 60: R7 no AWS - Qcon SP 2011

EBS

Page 61: R7 no AWS - Qcon SP 2011

EBS

• EBS-backed instance

Page 62: R7 no AWS - Qcon SP 2011

EBS

• EBS-backed instance

• Dados

Page 63: R7 no AWS - Qcon SP 2011

EBS

• EBS-backed instance

• Dados

• Performance

Page 64: R7 no AWS - Qcon SP 2011

EBS

• EBS-backed instance

• Dados

• Performance

• Vantagens

Page 65: R7 no AWS - Qcon SP 2011

EBS

• EBS-backed instance

• Dados

• Performance

• Vantagens

• Problemas

Page 66: R7 no AWS - Qcon SP 2011

AMI

Page 67: R7 no AWS - Qcon SP 2011

AMI

• Pronta ou com automação?

Page 68: R7 no AWS - Qcon SP 2011

AMI

• Pronta ou com automação?

• CHEF

Page 69: R7 no AWS - Qcon SP 2011

AMI

• Pronta ou com automação?

• CHEF

• Ubuntu (http://uec-images.ubuntu.com/)

Page 70: R7 no AWS - Qcon SP 2011

AMI

• Pronta ou com automação?

• CHEF

• Ubuntu (http://uec-images.ubuntu.com/)

• 32bits e 64bits

Page 71: R7 no AWS - Qcon SP 2011

AMI

• Pronta ou com automação?

• CHEF

• Ubuntu (http://uec-images.ubuntu.com/)

• 32bits e 64bits

• Pacotes prontos, salvo exceções

Page 72: R7 no AWS - Qcon SP 2011

S3

Page 73: R7 no AWS - Qcon SP 2011

S3

• Custo

Page 74: R7 no AWS - Qcon SP 2011

S3

• Custo

• Simples

Page 75: R7 no AWS - Qcon SP 2011

S3

• Custo

• Simples

• Videos e Thumbnails

Page 76: R7 no AWS - Qcon SP 2011

S3

• Custo

• Simples

• Videos e Thumbnails

• Permissões

Page 77: R7 no AWS - Qcon SP 2011

ELB

Page 78: R7 no AWS - Qcon SP 2011

ELB

• CNAME

Page 79: R7 no AWS - Qcon SP 2011

ELB

• CNAME

• TTL e suas implicações

Page 80: R7 no AWS - Qcon SP 2011

ELB

• CNAME

• TTL e suas implicações

• SSL

Page 81: R7 no AWS - Qcon SP 2011

ELB

• CNAME

• TTL e suas implicações

• SSL

• Múltiplas zonas

Page 82: R7 no AWS - Qcon SP 2011

Cloudfront

Page 83: R7 no AWS - Qcon SP 2011

Cloudfront

• Controle do cache

Page 84: R7 no AWS - Qcon SP 2011

Cloudfront

• Controle do cache

• Varnish e Nginx

Page 85: R7 no AWS - Qcon SP 2011

Cloudfront

• Controle do cache

• Varnish e Nginx

• Imagens a partir do S3 (Thumbnails)

Page 86: R7 no AWS - Qcon SP 2011

Cloudfront

• Controle do cache

• Varnish e Nginx

• Imagens a partir do S3 (Thumbnails)

• CDN Global

Page 87: R7 no AWS - Qcon SP 2011

Cloudwatch

Page 88: R7 no AWS - Qcon SP 2011

Cloudwatch

• Unidades nem sempre “amigáveis”

Page 89: R7 no AWS - Qcon SP 2011

Cloudwatch

• Unidades nem sempre “amigáveis”

• Métricas customizadas

Page 90: R7 no AWS - Qcon SP 2011

Cloudwatch

• Unidades nem sempre “amigáveis”

• Métricas customizadas

• Alarmes

Page 91: R7 no AWS - Qcon SP 2011

Cloudwatch

• Unidades nem sempre “amigáveis”

• Métricas customizadas

• Alarmes

• Auto Scaling

Page 92: R7 no AWS - Qcon SP 2011

Monitoração

Page 93: R7 no AWS - Qcon SP 2011

Monitoração

• Zabbix

Page 94: R7 no AWS - Qcon SP 2011

Monitoração

• Zabbix

• Cloudwatch

Page 95: R7 no AWS - Qcon SP 2011

Monitoração

• Zabbix

• Cloudwatch

• Dinâmico

Page 96: R7 no AWS - Qcon SP 2011

Monitoração

• Zabbix

• Cloudwatch

• Dinâmico

• Otimizar custo e desempenho

Page 97: R7 no AWS - Qcon SP 2011

Monitoração

• Zabbix

• Cloudwatch

• Dinâmico

• Otimizar custo e desempenho

•Capacity planning

Page 98: R7 no AWS - Qcon SP 2011

Automação

Page 99: R7 no AWS - Qcon SP 2011

Automação

• Puppet x Cfengine x CHEF

Page 100: R7 no AWS - Qcon SP 2011

Automação

• Puppet x Cfengine x CHEF

• CHEF já estava pronto para o EC2

Page 101: R7 no AWS - Qcon SP 2011

Automação

• Puppet x Cfengine x CHEF

• CHEF já estava pronto para o EC2

• OHAI

Page 102: R7 no AWS - Qcon SP 2011

Automação

• Puppet x Cfengine x CHEF

• CHEF já estava pronto para o EC2

• OHAI

• Cloudformation

Page 103: R7 no AWS - Qcon SP 2011

Automação

• Puppet x Cfengine x CHEF

• CHEF já estava pronto para o EC2

• OHAI

• Cloudformation

• Disaster recovery

Page 104: R7 no AWS - Qcon SP 2011

Cloudformation

Page 105: R7 no AWS - Qcon SP 2011

Cloudformation

• JSON

Page 106: R7 no AWS - Qcon SP 2011

Cloudformation

• JSON

• Versionamento

Page 107: R7 no AWS - Qcon SP 2011

Cloudformation

• JSON

• Versionamento

• Consegue controlar todos os serviços

Page 108: R7 no AWS - Qcon SP 2011

Cloudformation

• JSON

• Versionamento

• Consegue controlar todos os serviços

• Testes e recuperação de falhas

Page 109: R7 no AWS - Qcon SP 2011

Segurança

Page 110: R7 no AWS - Qcon SP 2011

Segurança

• ACL de entrada, saída sempre é liberado

Page 111: R7 no AWS - Qcon SP 2011

Segurança

• ACL de entrada, saída sempre é liberado

• Grupos entre diferentes contas

Page 112: R7 no AWS - Qcon SP 2011

Segurança

• ACL de entrada, saída sempre é liberado

• Grupos entre diferentes contas

• Impossibilidade de alterar o grupo

Page 113: R7 no AWS - Qcon SP 2011

Segurança

• ACL de entrada, saída sempre é liberado

• Grupos entre diferentes contas

• Impossibilidade de alterar o grupo

Page 114: R7 no AWS - Qcon SP 2011

Segurança

• ACL de entrada, saída sempre é liberado

• Grupos entre diferentes contas

• Impossibilidade de alterar o grupo

• Implicações legais

Page 115: R7 no AWS - Qcon SP 2011

Controle de acesso

Page 116: R7 no AWS - Qcon SP 2011

Controle de acesso

• IAM

Page 117: R7 no AWS - Qcon SP 2011

Controle de acesso

• IAM

• API Key/Secret

Page 118: R7 no AWS - Qcon SP 2011

Controle de acesso

• IAM

• API Key/Secret

• Por aplicação/usuário

Page 119: R7 no AWS - Qcon SP 2011

Controle de acesso

• IAM

• API Key/Secret

• Por aplicação/usuário

• Granularidade varia entre os serviços

Page 120: R7 no AWS - Qcon SP 2011

Problemas?

Page 121: R7 no AWS - Qcon SP 2011

Problemas?

• Eles existem

Page 122: R7 no AWS - Qcon SP 2011

Problemas?

• Eles existem

• RTT

Page 123: R7 no AWS - Qcon SP 2011

Problemas?

• Eles existem

• RTT

• Conectividade das operadoras

Page 124: R7 no AWS - Qcon SP 2011

Problemas?

• Eles existem

• RTT

• Conectividade das operadoras

• Controle de acesso (IAM)

Page 125: R7 no AWS - Qcon SP 2011

Problemas?

• Eles existem

• RTT

• Conectividade das operadoras

• Controle de acesso (IAM)

Page 126: R7 no AWS - Qcon SP 2011

Problemas?

• Eles existem

• RTT

• Conectividade das operadoras

• Controle de acesso (IAM)

• Problemas do AWS

Page 127: R7 no AWS - Qcon SP 2011

Futuro

Page 128: R7 no AWS - Qcon SP 2011

Futuro

Page 129: R7 no AWS - Qcon SP 2011

Futuro

•O medo foi vencido

Page 130: R7 no AWS - Qcon SP 2011

Futuro

•O medo foi vencido

• Global load balancer possibilita outros provedores

Page 131: R7 no AWS - Qcon SP 2011

Futuro

•O medo foi vencido

• Global load balancer possibilita outros provedores

• Busca de soluções competitivas

Page 132: R7 no AWS - Qcon SP 2011

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

Page 133: R7 no AWS - Qcon SP 2011

Outros usos

Page 134: R7 no AWS - Qcon SP 2011

Outros usos

Page 135: R7 no AWS - Qcon SP 2011

Outros usos

• Possibilidade de criar a mesma estrutura de produção

Page 136: R7 no AWS - Qcon SP 2011

Outros usos

• Possibilidade de criar a mesma estrutura de produção

• Homologação

Page 137: R7 no AWS - Qcon SP 2011

Outros usos

• Possibilidade de criar a mesma estrutura de produção

• Homologação

• Testes

Page 138: R7 no AWS - Qcon SP 2011

Outros usos

• Possibilidade de criar a mesma estrutura de produção

• Homologação

• Testes

• S3 e EBS como backup

Page 139: R7 no AWS - Qcon SP 2011

Outros usos

• Possibilidade de criar a mesma estrutura de produção

• Homologação

• Testes

• S3 e EBS como backup

• Hadoop para relatórios

Page 140: R7 no AWS - Qcon SP 2011

“Cloud Computing”

Page 141: R7 no AWS - Qcon SP 2011

“Cloud Computing”

Page 142: R7 no AWS - Qcon SP 2011

Perguntas?

Page 143: R7 no AWS - Qcon SP 2011

Perguntas?