View
202
Download
1
Embed Size (px)
São Paulo
Otimização de Custos na AWS
Hugo RozestratenAWS Solutions Architect
Rodrigo FernandesEspecialista 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 2006Economia
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 -v\n",
… 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 custoscom 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