São Paulo
Otimização de Custos na AWS
Hugo Rozestraten
AWS Solutions Architect
Rodrigo Fernandes
Especialista de Cloud – ZAP Imóveis
O que terá desta Sessão
• Uma fatura menor da AWS
• Manter alta performance minimizando custo
• Arquitetura mais escalável, robusta e dinâmica
• Mais tempo para inovação
• Fáceis de implementar
• Caso Prático ZAP Imóveis
Benefícios da Computação em Nuvem
• Pague pelo uso, sem investimento inicial
• Menor custo de ongoing
• Capacidade flexível
• Velocidade, agilidade e inovação
• Foco no seu negócio
• Presença global em minutos
Benefícios da Computação em Nuvem
• Pague pelo uso, sem investimento inicial
• Menor custo de ongoing
• Capacidade flexível
• Velocidade, agilidade e inovação
• Foco no seu negócio
• Presença global em minutos
Não faça nada
Filosofia de preços da AWS
Ecosistema
Global
Novas Features
Novos Serviços
Maior uso
AWS
Mais
infraestrutura
Menor custo de
infraestrutura
Redução
Preços
Mais
ClientesInovação na
Infraestrutura
45 reduções de
preço desde 2006
Economia
de escala
Não faça quase nada
AWS Trusted Advisor
https://aws.amazon.com/premiumsupport/trustedadvisor/
Free with Business or Enterprise Support
Otimize sua Arquitetura
Processo Básico
… em sete passos!
Arquitetando para Baixo Custo
1. Desligue instâncias inativas
1. Desligue instâncias inativas
• Instâncias de DEV, TEST, TRAINING nos finais de semana e a noite
• Use a opção simples de Start / Stop
• Destrua tudo e construa todos juntos
• Instâncias são descartáveis
• Automatize, automatize, automatize!!!
– AWS CloudFormation
– Scripts para Finais de semana e período noturno
– Utilize “Tags” nos recursos
Exemplo Cliente Dev/Test
Segunda Sexta Final das férias
35% saved
2. Utilize Auto Scaling
Auto Scaling
AWS CloudFormation: Configuração
"LaunchConfig": {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Metadata" : {
"AWS::CloudFormation::Init" : {
"config" : {
… packages, sources, files, services …
}
}
},
"Properties": {
"ImageId" : "ami-149f7863",
"InstanceType" : "m1.small",
"SecurityGroups" : [ {"Ref" : "WebServerSecurityGroup"} ],
"KeyName" : "MySSHKey",
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash -vn",
… your user data script …
]]}}
}
}
Alinha seus Recursos com suas Demanda
http://aws.amazon.com/autoscaling/
3. Instâncias Reservadas
Instâncias Reservadas são Flexíveis
• Podem ser movidas de AZs
• Podem ser migradas de EC2-Classic para plataforma EC2-
VPC
• O Tamanho pode ser modificado dentro da mesma família
http://aws.amazon.com/ec2/purchasing-options/reserved-
instances/
O modelo simplificado de Instâncias Reservadas
• Escolha o tipo de Instância Reservada e três formas de pagamento:
– All Upfront
– Partial Upfront
– No Upfront
http://aws.amazon.com/ec2/purchasing-options/reserved-
instances/
4. Use Spot Instances
Regras da Spot Instance
• Preço baseado em oferta / demanda
• Você estabelece o preço máximo $/hora
• Sua instância é iniciada se o preço está abaixo do seu máximo
• Sua instância é terminada se o preço está maior
• Mas, você tem um plano de tolerância a falhas, não tem ?
• Nós te daremos orientação para arquitetar aplicações para o uso de Spot Instances
Exemplo Spot Instance
$0.028 (11.7%) $0.026 (10.8%)
$3.28
(1367%)
On-Demand:
$0.24
Casos de Uso Spot Instance
• Analíticos
• Processamento Batch
• Big Data - Amazon Elastic MapReduce
• Web crawlers
• Testes
• Tratamento de Imagem e mídia
• High Performance Computing (HPC)
• Modelo financeiro e análises – análise de modelos matemáticos
Resumo Spot Instances
• Preço dinâmico limitado ao valor máximo que estabeleceu
• Oportunidade de economizar de 80 a 90% de custo
• Desenhe sua aplicação pois existem riscos!
• Preços diferentes por AZ
• Utilize o Auto Scaling!
• Um grupo com Spot Instance
• Um grupo com On-Demand
• Tenha o melhor dos dois mundos
5. Use as classes do Amazon S3
• Classe de Redundância Reduzida
– 99.99% durabilidade vs. 99.999999999%
– Até 20% de economia
– Tudo aquilo que conseguir reproduzir
– Use SNS para notificar qualquer perda
• Classe Amazon Glacier
– Mesmos 99.999999999% de durabilidade do S3
– 3 a 5 hours tempo de restore
– Até 64% economia
– Archiving, backups de longo prazo, dados antigos
• Regras de Lifecycle do S3
– Arquiva objetos no Glacier apos x dias
– Deleta objetos após y dias Delete
6. Otimize a capacidade do Amazon DynamoDB
• Unidades de Capacidade de Escrita/Leitura, determina o custo do
DynamoDB
• Otimizando as Unidades de capacidade, você economiza dinheiro
• Mas:
– Você precisa provisionar capacidade suficiente para sua
demanda
– Conhecer e se preparar para os picos
– Realizar um monitoramento e ajuste
Otimização DynamoDB
• Utilize Cache para economizar unidades de capacidade
– Cache de RAM nos application servers
– Conheça o Amazon ElastiCache
• Pense em estratégias para otimização
– Utilize múltiplas tabelas para suportar padrões de acesso diferentes
– Entenda os padrões de acesso para cada série de dados
– Comprima valores de atributos muito grandes
• Utilize o serviço Amazon SQS como buffer para escritas acima da capacidade prevista
Amazon SQS como Buffer de Requisições
Exemplo de Otimização DynamoDB
Caching/Optimization:
80% saved
Cache
flush
Dynamic
DynamoDB:
20% saved
Growth +
new features
7. Alivie a carga da sua Arquitetura - Offload
• Quanto mais você retirar, menos infraestrutura vai precisar manter, escalar e pagar
• Três maneiras simples de realizar o Offload:
– Use CDN - Amazon CloudFront
– Utilize Cache – Amazon ElastiCache
– Se beneficie de outros Amazon Web Services
Offload para Amazon S3 & CloudFront
Alivie a carga nos Bancos de Dados com Caching
Tire benefício dos outros Serviços
• Amazon RDS, Amazon DynamoDB or Amazon ElastiCache for Redis, Amazon Redshift
– Ao invés de rodar seu próprio banco de dados
• Amazon CloudSearch
– Ao invés de rodar seu próprio mecanismo de busca
• Amazon Elastic Transcoder
• Amazon Elastic MapReduce
• Amazon Cognito, Amazon SQS, Amazon SNS, Amazon Simple Workflow Service, Amazon SES,
Amazon Kinesis, and more …
Simples, mais confiáveis, menor custo
“Encontramos na AWS a parceria ideal para oferecer o
que procurávamos em termos de escalabilidade, alta
disponibilidade e ferramentas de apoio à computação
em nuvem.”
 O ZAP tem sede em São Paulo, conta
com 375 funcionários e possui 25
escritórios regionais distribuídos pelo
Brasil. Nossos principais polos de
tecnologia estão localizados em São
Paulo e Porto Alegre
 Oferecemos as ferramentas de
buscas com os mais adequados filtros
de pesquisa através de website ou por
meio de um moderno aplicativo para
celulares e tablets das plataformas
Android e iOS, com mais de 10,5
milhões de visitas/mês.
“A AWS também
permitiu nos adaptarmos
aos nossos picos de
audiência com
rapidez e
flexibilidade, além
de redução de custos
com Infraestrutura”
- Eduardo Perez, CTO
Nosso Desafio
 Otimização de Uso / Custo
 Volatilidade Cambial
 Automatização
 Escalabilidade
Ações Executadas
Definição de tipo de instâncias
Migração de IaaS para PaaS (SES, ELB, SWF)
Autoscaling agendado e instâncias Spot
Desligamento automatizado de ambientes de Dev & QA
Aquisição de instâncias reservadas
Uso de caching (Elastic Cache e 3rd party CDN)
AWS Trusted Advisor
Ambiente
Relação de Redução X Serviço
Definição do tamanho das instâncias EC2
Migração de IaaS para PaaS
Autoscaling agendado e instâncias Spot
Desligamento automatizado de ambientes de Dev & QA
Aquisição de instâncias reservadas com termo de 1 ano
Cache de conteúdo com Elastic Cache e 3rd party CDN
Melhores práticas do AWS Trusted Advisor
% de Redução de
Custo
x
Custo individual
de cada serviço
2%
28%
21%
8%
22%
5%
1%
Monitoramento de Custo e Análises
Amazon EC2
https://awstcocalculator.com/
AWS Simple Monthly Calculator
http://calculator.s3.amazonaws.com/index.html
AWS Billing Console
AWS Cost Explorer
AWS Billing Alerts
Resumo
1. Desligue as instâncias não utilizadas
2. Use Auto Scaling
3. Use Reserved Instances
4. Use Spot Instances
5. Utilize classes de storage do Amazon S3
6. Otimize as unidades de capacidade do Amazon DynamoDB
7. Alivie a carga da sua architecture
Lembre-se de praticar repetidademente!
Arquiteta
ConstróiMonitora
Otimizacao de custo summit 2015

Otimizacao de custo summit 2015

  • 1.
  • 2.
    Otimização de Custosna AWS Hugo Rozestraten AWS Solutions Architect Rodrigo Fernandes Especialista de Cloud – ZAP Imóveis
  • 3.
    O que terádesta Sessão • Uma fatura menor da AWS • Manter alta performance minimizando custo • Arquitetura mais escalável, robusta e dinâmica • Mais tempo para inovação • Fáceis de implementar • Caso Prático ZAP Imóveis
  • 4.
    Benefícios da Computaçãoem Nuvem • Pague pelo uso, sem investimento inicial • Menor custo de ongoing • Capacidade flexível • Velocidade, agilidade e inovação • Foco no seu negócio • Presença global em minutos
  • 5.
    Benefícios da Computaçãoem Nuvem • Pague pelo uso, sem investimento inicial • Menor custo de ongoing • Capacidade flexível • Velocidade, agilidade e inovação • Foco no seu negócio • Presença global em minutos
  • 6.
  • 7.
    Filosofia de preçosda AWS Ecosistema Global Novas Features Novos Serviços Maior uso AWS Mais infraestrutura Menor custo de infraestrutura Redução Preços Mais ClientesInovação na Infraestrutura 45 reduções de preço desde 2006 Economia de escala
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    … em setepassos! Arquitetando para Baixo Custo
  • 13.
  • 14.
    1. Desligue instânciasinativas • Instâncias de DEV, TEST, TRAINING nos finais de semana e a noite • Use a opção simples de Start / Stop • Destrua tudo e construa todos juntos • Instâncias são descartáveis • Automatize, automatize, automatize!!! – AWS CloudFormation – Scripts para Finais de semana e período noturno – Utilize “Tags” nos recursos
  • 15.
    Exemplo Cliente Dev/Test SegundaSexta Final das férias 35% saved
  • 16.
  • 17.
  • 18.
    AWS CloudFormation: Configuração "LaunchConfig":{ "Type" : "AWS::AutoScaling::LaunchConfiguration", "Metadata" : { "AWS::CloudFormation::Init" : { "config" : { … packages, sources, files, services … } } }, "Properties": { "ImageId" : "ami-149f7863", "InstanceType" : "m1.small", "SecurityGroups" : [ {"Ref" : "WebServerSecurityGroup"} ], "KeyName" : "MySSHKey", "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [ "#!/bin/bash -vn", … your user data script … ]]}} } }
  • 19.
    Alinha seus Recursoscom suas Demanda http://aws.amazon.com/autoscaling/
  • 20.
  • 21.
    Instâncias Reservadas sãoFlexíveis • Podem ser movidas de AZs • Podem ser migradas de EC2-Classic para plataforma EC2- VPC • O Tamanho pode ser modificado dentro da mesma família http://aws.amazon.com/ec2/purchasing-options/reserved- instances/
  • 22.
    O modelo simplificadode Instâncias Reservadas • Escolha o tipo de Instância Reservada e três formas de pagamento: – All Upfront – Partial Upfront – No Upfront http://aws.amazon.com/ec2/purchasing-options/reserved- instances/
  • 23.
    4. Use SpotInstances
  • 24.
    Regras da SpotInstance • Preço baseado em oferta / demanda • Você estabelece o preço máximo $/hora • Sua instância é iniciada se o preço está abaixo do seu máximo • Sua instância é terminada se o preço está maior • Mas, você tem um plano de tolerância a falhas, não tem ? • Nós te daremos orientação para arquitetar aplicações para o uso de Spot Instances
  • 25.
    Exemplo Spot Instance $0.028(11.7%) $0.026 (10.8%) $3.28 (1367%) On-Demand: $0.24
  • 26.
    Casos de UsoSpot Instance • Analíticos • Processamento Batch • Big Data - Amazon Elastic MapReduce • Web crawlers • Testes • Tratamento de Imagem e mídia • High Performance Computing (HPC) • Modelo financeiro e análises – análise de modelos matemáticos
  • 27.
    Resumo Spot Instances •Preço dinâmico limitado ao valor máximo que estabeleceu • Oportunidade de economizar de 80 a 90% de custo • Desenhe sua aplicação pois existem riscos! • Preços diferentes por AZ • Utilize o Auto Scaling! • Um grupo com Spot Instance • Um grupo com On-Demand • Tenha o melhor dos dois mundos
  • 28.
    5. Use asclasses do Amazon S3 • Classe de Redundância Reduzida – 99.99% durabilidade vs. 99.999999999% – Até 20% de economia – Tudo aquilo que conseguir reproduzir – Use SNS para notificar qualquer perda • Classe Amazon Glacier – Mesmos 99.999999999% de durabilidade do S3 – 3 a 5 hours tempo de restore – Até 64% economia – Archiving, backups de longo prazo, dados antigos • Regras de Lifecycle do S3 – Arquiva objetos no Glacier apos x dias – Deleta objetos após y dias Delete
  • 29.
    6. Otimize acapacidade do Amazon DynamoDB • Unidades de Capacidade de Escrita/Leitura, determina o custo do DynamoDB • Otimizando as Unidades de capacidade, você economiza dinheiro • Mas: – Você precisa provisionar capacidade suficiente para sua demanda – Conhecer e se preparar para os picos – Realizar um monitoramento e ajuste
  • 30.
    Otimização DynamoDB • UtilizeCache para economizar unidades de capacidade – Cache de RAM nos application servers – Conheça o Amazon ElastiCache • Pense em estratégias para otimização – Utilize múltiplas tabelas para suportar padrões de acesso diferentes – Entenda os padrões de acesso para cada série de dados – Comprima valores de atributos muito grandes • Utilize o serviço Amazon SQS como buffer para escritas acima da capacidade prevista
  • 31.
    Amazon SQS comoBuffer de Requisições
  • 32.
    Exemplo de OtimizaçãoDynamoDB Caching/Optimization: 80% saved Cache flush Dynamic DynamoDB: 20% saved Growth + new features
  • 33.
    7. Alivie acarga da sua Arquitetura - Offload • Quanto mais você retirar, menos infraestrutura vai precisar manter, escalar e pagar • Três maneiras simples de realizar o Offload: – Use CDN - Amazon CloudFront – Utilize Cache – Amazon ElastiCache – Se beneficie de outros Amazon Web Services
  • 34.
    Offload para AmazonS3 & CloudFront
  • 35.
    Alivie a carganos Bancos de Dados com Caching
  • 36.
    Tire benefício dosoutros Serviços • Amazon RDS, Amazon DynamoDB or Amazon ElastiCache for Redis, Amazon Redshift – Ao invés de rodar seu próprio banco de dados • Amazon CloudSearch – Ao invés de rodar seu próprio mecanismo de busca • Amazon Elastic Transcoder • Amazon Elastic MapReduce • Amazon Cognito, Amazon SQS, Amazon SNS, Amazon Simple Workflow Service, Amazon SES, Amazon Kinesis, and more … Simples, mais confiáveis, menor custo
  • 37.
    “Encontramos na AWSa parceria ideal para oferecer o que procurávamos em termos de escalabilidade, alta disponibilidade e ferramentas de apoio à computação em nuvem.”  O ZAP tem sede em São Paulo, conta com 375 funcionários e possui 25 escritórios regionais distribuídos pelo Brasil. Nossos principais polos de tecnologia estão localizados em São Paulo e Porto Alegre  Oferecemos as ferramentas de buscas com os mais adequados filtros de pesquisa através de website ou por meio de um moderno aplicativo para celulares e tablets das plataformas Android e iOS, com mais de 10,5 milhões de visitas/mês. “A AWS também permitiu nos adaptarmos aos nossos picos de audiência com rapidez e flexibilidade, além de redução de custos com Infraestrutura” - Eduardo Perez, CTO
  • 38.
    Nosso Desafio  Otimizaçãode Uso / Custo  Volatilidade Cambial  Automatização  Escalabilidade
  • 39.
    Ações Executadas Definição detipo de instâncias Migração de IaaS para PaaS (SES, ELB, SWF) Autoscaling agendado e instâncias Spot Desligamento automatizado de ambientes de Dev & QA Aquisição de instâncias reservadas Uso de caching (Elastic Cache e 3rd party CDN) AWS Trusted Advisor
  • 40.
  • 41.
    Relação de ReduçãoX Serviço Definição do tamanho das instâncias EC2 Migração de IaaS para PaaS Autoscaling agendado e instâncias Spot Desligamento automatizado de ambientes de Dev & QA Aquisição de instâncias reservadas com termo de 1 ano Cache de conteúdo com Elastic Cache e 3rd party CDN Melhores práticas do AWS Trusted Advisor % de Redução de Custo x Custo individual de cada serviço 2% 28% 21% 8% 22% 5% 1%
  • 42.
  • 43.
  • 44.
    AWS Simple MonthlyCalculator http://calculator.s3.amazonaws.com/index.html
  • 45.
  • 46.
  • 47.
  • 48.
    Resumo 1. Desligue asinstâncias não utilizadas 2. Use Auto Scaling 3. Use Reserved Instances 4. Use Spot Instances 5. Utilize classes de storage do Amazon S3 6. Otimize as unidades de capacidade do Amazon DynamoDB 7. Alivie a carga da sua architecture
  • 49.
    Lembre-se de praticarrepetidademente! Arquiteta ConstróiMonitora