otimizacao de custo summit 2015

Post on 25-Jul-2015

204 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related