R7 no AWS - Qcon SP 2011

Post on 12-Jan-2015

4.319 views 1 download

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

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

Roberto Gaiserrgaiser@sp.r7.com

@rgaiserQCon SP - Setembro/2011

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

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

Sobre o R7Page Views Unique Visitors

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

Notícias Entretenimento

8ª 9ªIbopeNet//RatingsJulho/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

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

• NoSQL, assíncrono, filas etc.

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)

• Ubuntu

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

EC2Compute UnitMemória (GB)

EC2

0

2

4

6

8

Small High-CPU Medium Large

Compute UnitMemória (GB)

EC2

0

2

4

6

8

Small High-CPU Medium Large

Compute UnitMemória (GB)

32 bits 32 bits 64 bits

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 exceções

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

• Implicações legais

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

• Construir aplicações preparadas para este tipo de ambiente

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 relatórios

“Cloud Computing”

“Cloud Computing”

Perguntas?

Perguntas?