Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Otimização de Custos na AWS

Otimização de Custos na AWS

Otimização de Custos na AWS no AWS Summit 2015

Julio Faerman

June 30, 2015
Tweet

More Decks by Julio Faerman

Other Decks in Technology

Transcript

  1. 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
  2. Benefícios da Computação em Nuvem •  Pague pelo uso, sem

    investimento inicial •  Menor custo contínuo •  Capacidade flexível •  Velocidade, agilidade e inovação •  Foco no seu negócio •  Presença global em minutos
  3. Benefícios da Computação em Nuvem •  Pague pelo uso, sem

    investimento inicial •  Menor custo contínuo •  Capacidade flexível •  Velocidade, agilidade e inovação •  Foco no seu negócio •  Presença global em minutos
  4. 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 Clientes Inovação na Infraestrutura 45 reduções de preço desde 2006 Economia de escala
  5. 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
  6. 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 … ]]}} } }
  7. 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/
  8. 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/
  9. 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
  10. 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
  11. 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 apropriadamente 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
  12. 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
  13. 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
  14. 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
  15. 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 serviços gerenciados
  16. 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
  17. 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%
  18. 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 arquitetura