Redução e otimização de custos são algumas dos principais benefícios de ter sua aplicação rodando na nuvem. Nesta apresentação, exploramos várias estratégias de controle e otimização de custos, e mostramos como o ZAP Imóveis, maior portal de imóveis do Brasil, faz para gerenciar sua arquitetura na AWS.
2. Otimização de Custos na 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çã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
5. 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
7. 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
14. 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
21. 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/
22. 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/
24. 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
26. 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
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 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
29. 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
30. 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
32. Exemplo de Otimização DynamoDB
Caching/Optimization:
80% saved
Cache
flush
Dynamic
DynamoDB:
20% saved
Growth +
new features
33. 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
36. 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
37. “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
39. 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
41. 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%
48. 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