SlideShare a Scribd company logo
1 of 40
Download to read offline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Rubens Devito Filho | Arquiteto de Soluções
Amazon EC2: Economize Utilizando
Instâncias Spot
Agenda
• Conceito de instâncias Spot
• Tipos de requisições de instâncias Spot
• Spot
• Spot Blocks
• Spot Fleet
• Escalando com instâncias Spot
• Quando usar Spot x Spot Blocks x Spot Fleet
O que é Amazon EC2 Spot
$1
• São instâncias EC2 que você pode aplicar uma oferta de preço. Como
instâncias Spot estão geralmente disponíveis a preços baixos, você pode
reduzir significamente os custos com Amazon EC2.
As Regras são Simples
Mercados onde o preço muda
baseado na oferta e procura
Você nunca pagará mais do que o
valor da sua oferta. Quando o preço
de mercado exceder o valor da sua
oferta, você recebe 2 minutos para
concluir suas tarefas
$0.27 $0.29$0.50
1b 1c1a
8XL
$0.30 $0.16$0.214XL
$0.07 $0.08$0.082XL
$0.05 $0.04$0.04XL
$0.01 $0.04$0.01L
C3
$1.76
On
Demand
$0.88
$0.44
$.22
$0.11
Cada família de instância
Cada tamanho de instância
Cada Zona de Disponibilidade
Em cada região
É um Spot Market separado
Quais são os mercados de Spot
Spot Bid Advisor
https://aws.amazon.com/ec2/spot/bid-advisor/
Exemplo
Vamos às contas
• m3.2xlarge em São Paulo = $0.761/hr
• $0.0853/hr = ~11%
• ~11% < t2.medium ($0.108/hr)
• Por 3 meses ou mais
• Ao invés de $1671.18 seu custo será de $184.24
• Redução de quase $1500!
Spot CLI
#Lança instâncias Spot
aws ec2 request-spot-instances --spot-price "0.0200" --instance-count 2 --
region us-west-2 --launch-specification file:///Users/user/Folder/spot.json
spot.json
{
"ImageId": "ami-f0091d91",
"KeyName": "EC2",
"SecurityGroupIds": [ "sg-c0c188a5" ],
"InstanceType": "m3.medium",
"Placement": {
"AvailabilityZone": "us-west-2c”
},
"SubnetId": "subnet-0694685f”
}
Determine o tipo e a validade da sua oferta
• Única ou persistente
• Se a oferta for persistente, uma nova requisição será
feita automaticamente após a instância ser terminada
• Possibilidade de configurar o prazo da sua oferta
Spot CLI
#Lança instâncias Spot
aws ec2 request-spot-instances --spot-price "0.0200" --instance-count 2 --
region us-west-2 –-type ”persistent” --launch-specification
file:///Users/user/Folder/spot.json
Use instâncias Spot para escalar
1. Crie um Auto Scaling só de Spot
2. Crie outro Auto Scaling com On-Demand
3. Ambos no mesmo Elastic Load Balancing
4. Configure métricas mais agressivas no Auto Scaling de
Spot e seja mais conservador no Auto Scaling de On-
Demand
5. Instâncias Spot serão lançadas primeiro e desligadas
por último
6. Instâncias On-Demand serão lançadas por último e
desligadas primeiro
Aplicação Web com Spot
Dados de
Sessão
Zona de Disponibilidade A
Zona de Disponibilidade B
ASG Spot
Elastic Load
Balancing
ASG On-
Demand
Use instâncias Spot para escalar
1. Crie um Auto Scaling só de Spot
a) Via Console, crie um Launch Configuration que faça a
requisição de Spot
b) Crie o Auto Scaling Group com esse Launch Configuration
Auto Scaling Spot CLI
#Cria Launch Configuration com Spot
aws autoscaling create-launch-configuration --launch-configuration-name LC_Spot --
image-id ami-d0f506b0 –-key-name EC2 --instance-type m3.medium --spot-price 0.0140 –-
region us-west-2
#Cria Auto Scaling com Spot
aws autoscaling create-auto-scaling-group --region us-west-2 --auto-scaling-group-name
ASG_Spot --launch-configuration-name LC_Spot --availability-zones "us-west-2a" "us-
west-2b" "us-west-2c" --max-size 4 --min-size 1 --desired-capacity 2 --vpc-zone-
identifier subnet-bbd906cc,subnet-569e2733,subnet-0694685f
Use instâncias Spot para escalar
2. Crie um Auto Scaling de On-Demand
a. Via Console, crie um Launch Configuration sem requisitar
Spot
b. Via CLI, utilize os mesmos comandos removendo apenas o
parâmetro --spot-price
c. Crie o Auto Scaling Group da mesma maneira que o Spot
Use instâncias Spot para escalar
3. Ambos no mesmo Elastic Load Balancing
a. Via Console, vá no Auto Scaling e edite o campo Load
Balancers
b. Via CLI, adicione o parâmetro --load-balancer-names
c. Faça isso para os dois Auto Scaling Groups
Auto Scaling Spot CLI
#Cria Auto Scaling anexado à um Load Balancer
aws autoscaling create-auto-scaling-group --region us-west-2 --auto-scaling-group-name
ASG_Spot --launch-configuration-name LC_Spot --availability-zones "us-west-2a" "us-
west-2b" "us-west-2c" --max-size 4 --min-size 1 --desired-capacity 2 --vpc-zone-
identifier subnet-bbd906cc,subnet-569e2733,subnet-0694685f --load-balancer-names MyELB
Use instâncias Spot para escalar
4. Configure métricas mais agressivas no Auto Scaling de
Spot e seja mais conservador no Auto Scaling de On-
Demand. Exemplo:
a) Se CPU >= 40% lance Spot
b) Se CPU >= 70% lance On-Demand
c) Se CPU <= 40% remova On-Demand
d) Se CPU <= 20% remova Spot
5. Instâncias Spot serão lançadas primeiro e desligadas
por último
6. Instâncias On-Demand serão lançadas por último e
desligadas primeiro
Fique atento com o alerta de 2 minutos
$ if curl -s http://169.254.169.254/latest/meta-
data/spot/termination-time | 
grep -q .*T.*Z; then instance_id=$(curl -s
http://169.254.169.254/latest/meta-data/instance-id); 
aws elb deregister-instances-from-load-balancer 
--load-balancer-name my-load-balancer 
--instances $instance_id; 
/env/bin/flushsessiontoDBonterminationscript.sh; fi
1) Verifica o alerta de 2
minutos
2) Se SIM, remove a
instâncias do ELB
3) Caso contrário, não faça
nada
4) Aguarda por 5 segundos
Spot Block
Amazon EC2 Spot Block
$1
Rode sem
interrupções por até
6 horas
Reduza até 50% do
preço On-Demand
Spot Block CLI
Spot Block CLI
#Lança instâncias Spot
aws ec2 request-spot-instances --spot-price "0.0200" --instance-count 1 –-
block-duration-minutes 120 --region us-west-2 --launch-specification
file:///Users/user/Folder/spot.json
Spot Fleet
Amazon EC2 Spot Fleet
• Lance centenas de instâncias Spot com uma única chamada
RequestSpotFleet
• Lowest Price
• Encontre o melhor preço que funcione para você
• Diversified
• Diversifique sua frota. Amplie sua disponibilidade
• Custom Weighting
• Crie sua própria unidade de capacidade baseado nas necessidades da
sua aplicação
Flexibilidade do Spot Fleet
2. Entre famílias EC2
3. Entre AZs
1. Dentro da família EC2
Spot Fleet CLI
#Lança instâncias Spot
aws ec2 request-spot-fleet –-spot-fleet-request-config
file:///Users/user/Folder/spot_fleet.json
spot_fleet.json
{
"SpotPrice": "0.04",
"TargetCapacity": 3,
"IamFleetRole": "arn:aws:iam::109434434086:role/aws-ec2-spot-fleet-role",
"LaunchSpecifications": [
{
"ImageId": "ami-f0091d91",
"KeyName": "EC2",
"SecurityGroups": [
{
"GroupId": "sg-c0c188a5”
}
],
"InstanceType": "c3.large",
"Placement": {
"AvailabilityZone": "us-west-2c"
},
"SubnetId": "subnet-0694685f",
"IamInstanceProfile": {
"Arn": "arn:aws:iam::109434434086:role/aws-ec2-spot-fleet-role”
}
},
{
"ImageId": "ami-f0091d91",
"KeyName": "EC2",
"SecurityGroups": [
{
"GroupId": "sg-c0c188a5"
}
],
"InstanceType": "m3.medium",
"Placement": {
"AvailabilityZone": "us-west-2b”
},
"SubnetId": "subnet-569e2733",
"IamInstanceProfile": {
"Arn": "arn:aws:iam::109434434086:role/aws-ec2-spot-fleet-role”
}
}
]
}
Spot Fleet
Dependendo da quantidade e variação do seu Spot Fleet,
utilizar o CLI pode ser complicado.
Dica:
Aplicação Web sem Estado (Stateless)
Elastic Load
Balancing
Stateless
Web Servers
(Spot)
Stateless
Web Servers
(Spot)
Dados de
Sessão
Spot fleet
Zona de Disponibilidade A
Stateless
Web Servers
(Spot)
Stateless
Web Servers
(Spot)
Zona de Disponibilidade B
Cenário
Spot Fleet mantém a Capacidade Desejada
Escale seu Spot Fleet
Elastic Load
Balancing
Stateless
Web Servers
(Spot)
Stateless
Web Servers
(Spot)
Zona de Disponibilidade A
Zona de Disponibilidade B
Stateless
Web Servers
(Spot)
Stateless
Web Servers
(Spot)
alarm
Escale seu Spot Fleet
Requisitos para usar Spot
• Não persista nada na instância Spot
• Para sessões, Amazon ElastiCache ou Amazon DynamoDB
• Para logs, Amazon S3
• …
• Use para aplicações escaláveis e automatizadas
• Evite para aplicações monolíticas caso ela seja crítica
Qual tipo de Spot devo usar?
• Spot
• Escalar (integrado com Auto Scaling)
• Processamento em batch com tempo indeterminado
• Task Nodes do EMR
• Ambientes de DEV e Homologação, instância de CI
• Workers em geral
• Spot Blocks
• Qualquer job que tem limite de até 6 horas para ser executado
• Processamento em batch
• HDFS de um cluster EMR
• Spot Fleet
• Aplicações Web estáveis usando Diversified em diferentes AZs
• Task Nodes do EMR
• Cluster de containers
Qual tipo de Spot devo usar?
• Na dúvida, use Spot Fleet
Obrigado!

More Related Content

What's hot

Introduçao à Internet das Coisas com AWS IoT
Introduçao à Internet das Coisas com AWS IoT Introduçao à Internet das Coisas com AWS IoT
Introduçao à Internet das Coisas com AWS IoT Amazon Web Services LATAM
 
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbridaBuilding blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbridaAmazon Web Services LATAM
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSAmazon Web Services LATAM
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaAmazon Web Services LATAM
 
Armazenamento para uma estratégia híbrida
 Armazenamento para uma estratégia híbrida Armazenamento para uma estratégia híbrida
Armazenamento para uma estratégia híbridaAmazon Web Services LATAM
 
Explorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon AuroraExplorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon AuroraAmazon Web Services LATAM
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosAmazon Web Services LATAM
 
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem Amazon Web Services LATAM
 

What's hot (20)

Introduçao à Internet das Coisas com AWS IoT
Introduçao à Internet das Coisas com AWS IoT Introduçao à Internet das Coisas com AWS IoT
Introduçao à Internet das Coisas com AWS IoT
 
Fazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira práticaFazendo seu DR na AWS de maneira prática
Fazendo seu DR na AWS de maneira prática
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Amazon EC2 avançado
Amazon EC2 avançadoAmazon EC2 avançado
Amazon EC2 avançado
 
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbridaBuilding blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
Building blocks #3 - Expandindo seu data center com uma infraestrutura híbrida
 
Infraestrutura como código
Infraestrutura como códigoInfraestrutura como código
Infraestrutura como código
 
Construindo um Data Lake na AWS
Construindo um Data Lake na AWSConstruindo um Data Lake na AWS
Construindo um Data Lake na AWS
 
Rodando SAP na AWS
Rodando SAP na AWSRodando SAP na AWS
Rodando SAP na AWS
 
Criando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtualCriando e conectando seu datacenter virtual
Criando e conectando seu datacenter virtual
 
Melhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWSMelhores práticas de workloads Microsoft na AWS
Melhores práticas de workloads Microsoft na AWS
 
Primeiros Passos na AWS
Primeiros Passos na AWSPrimeiros Passos na AWS
Primeiros Passos na AWS
 
Começando com Amazon Redshift
Começando com Amazon RedshiftComeçando com Amazon Redshift
Começando com Amazon Redshift
 
TCO e otimização de custos na AWS
TCO e otimização de custos na AWSTCO e otimização de custos na AWS
TCO e otimização de custos na AWS
 
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS LambdaConstruindo APIs com Amazon API Gateway e AWS Lambda
Construindo APIs com Amazon API Gateway e AWS Lambda
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Armazenamento para uma estratégia híbrida
 Armazenamento para uma estratégia híbrida Armazenamento para uma estratégia híbrida
Armazenamento para uma estratégia híbrida
 
Seu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big DataSeu primeiro aplicativo de Big Data
Seu primeiro aplicativo de Big Data
 
Explorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon AuroraExplorando o poder do banco de dados com Amazon Aurora
Explorando o poder do banco de dados com Amazon Aurora
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
AWS Virtual Private Cloud (VPC): Isolando seus Recursos na Nuvem
 

Viewers also liked

Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceAmazon Web Services
 
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 Getting Started with Windows Workloads on Amazon EC2 - Toronto Getting Started with Windows Workloads on Amazon EC2 - Toronto
Getting Started with Windows Workloads on Amazon EC2 - TorontoAmazon Web Services
 
Introduction to Block and File storage on AWS
Introduction to Block and File storage on AWSIntroduction to Block and File storage on AWS
Introduction to Block and File storage on AWSAmazon Web Services
 
Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...
Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...
Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...Amazon Web Services
 
Big Data Solutions Day - Calgary
Big Data Solutions Day - CalgaryBig Data Solutions Day - Calgary
Big Data Solutions Day - CalgaryAmazon Web Services
 

Viewers also liked (6)

Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 Getting Started with Windows Workloads on Amazon EC2 - Toronto Getting Started with Windows Workloads on Amazon EC2 - Toronto
Getting Started with Windows Workloads on Amazon EC2 - Toronto
 
Introduction to Block and File storage on AWS
Introduction to Block and File storage on AWSIntroduction to Block and File storage on AWS
Introduction to Block and File storage on AWS
 
Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...
Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...
Best Practices for Managing Security Operations in AWS - AWS July 2016 Webina...
 
Big Data Solutions Day - Calgary
Big Data Solutions Day - CalgaryBig Data Solutions Day - Calgary
Big Data Solutions Day - Calgary
 
Amazon EC2 & VPC HOL
Amazon EC2 & VPC HOLAmazon EC2 & VPC HOL
Amazon EC2 & VPC HOL
 

Similar to Economize até 50% com instâncias Spot da AWS

1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BHWallison Marra
 
AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1Guilherme Elias
 
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - VitoriaAWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - VitoriaHeitor Vital
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedoresJardel Weyrich
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchEduardo de Lucena Falcão
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon Web Services LATAM
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosAmazon Web Services LATAM
 
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Ricardo Ferreira Costa
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAmazon Web Services LATAM
 
Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1Rafael Lima
 
Arquitetura Web no AWS
Arquitetura Web no AWSArquitetura Web no AWS
Arquitetura Web no AWSRafael Nunes
 
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualRafael Reis
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorAmazon Web Services LATAM
 
Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Wallison Marra
 

Similar to Economize até 50% com instâncias Spot da AWS (20)

1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH1º Meetup - Amazon AWS BH
1º Meetup - Amazon AWS BH
 
AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1AWS Auto Scaling #Parte1
AWS Auto Scaling #Parte1
 
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - VitoriaAWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
AWS EC2 Container Service (ECS) In Action - iMasters Developer Week - Vitoria
 
2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores2016/08/19 - Uma visão geral da AWS para desenvolvedores
2016/08/19 - Uma visão geral da AWS para desenvolvedores
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
 
Amazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenhoAmazon EC2 boas praticas e otimizações de desempenho
Amazon EC2 boas praticas e otimizações de desempenho
 
Escalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuáriosEscalando para os primeiros 10 milhões de usuários
Escalando para os primeiros 10 milhões de usuários
 
Otimizacao de custo summit 2015
Otimizacao de custo summit 2015Otimizacao de custo summit 2015
Otimizacao de custo summit 2015
 
Escalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com BeanstalkEscalando sua aplicação Web com Beanstalk
Escalando sua aplicação Web com Beanstalk
 
Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...Serverless Containers - execute instâncias de containers do Azure sob demanda...
Serverless Containers - execute instâncias de containers do Azure sob demanda...
 
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com BeanstalkAWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
AWS Experience Fortaleza: Escalando sua aplicação Web com Beanstalk
 
Django no AWS
Django no AWSDjango no AWS
Django no AWS
 
Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1Cloud Computing & Amazon AWS - Fundamentos - Parte 1
Cloud Computing & Amazon AWS - Fundamentos - Parte 1
 
Auto scaling
Auto scalingAuto scaling
Auto scaling
 
Elastic load balancing melhores praticas
Elastic load balancing melhores praticasElastic load balancing melhores praticas
Elastic load balancing melhores praticas
 
4. cloud ninja rede para faixa preta
4. cloud ninja rede para faixa preta4. cloud ninja rede para faixa preta
4. cloud ninja rede para faixa preta
 
Arquitetura Web no AWS
Arquitetura Web no AWSArquitetura Web no AWS
Arquitetura Web no AWS
 
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente VirtualMedindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
Medindo e Modelando o Desempenho de Aplicações em um Ambiente Virtual
 
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidorWebinar Melhores práticas e lições aprendidas com aplicações sem servidor
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
 
Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015Cloud Computing & Amazon AWS - PUCMINAS 2015
Cloud Computing & Amazon AWS - PUCMINAS 2015
 

More from Amazon Web Services LATAM

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAmazon Web Services LATAM
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.Amazon Web Services LATAM
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAmazon Web Services LATAM
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAmazon Web Services LATAM
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSAmazon Web Services LATAM
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSAmazon Web Services LATAM
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAmazon Web Services LATAM
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAmazon Web Services LATAM
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 

More from Amazon Web Services LATAM (20)

AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvemAWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
 
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e BackupAWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
 
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
 
Automatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWSAutomatice el proceso de entrega con CI/CD en AWS
Automatice el proceso de entrega con CI/CD en AWS
 
Automatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWSAutomatize seu processo de entrega de software com CI/CD na AWS
Automatize seu processo de entrega de software com CI/CD na AWS
 
Cómo empezar con Amazon EKS
Cómo empezar con Amazon EKSCómo empezar con Amazon EKS
Cómo empezar con Amazon EKS
 
Como começar com Amazon EKS
Como começar com Amazon EKSComo começar com Amazon EKS
Como começar com Amazon EKS
 
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWSRansomware: como recuperar os seus dados na nuvem AWS
Ransomware: como recuperar os seus dados na nuvem AWS
 
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWSRansomware: cómo recuperar sus datos en la nube de AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
 
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de MitigaçãoRansomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigação
 
Ransomware: Estratégias de Mitigación
Ransomware: Estratégias de MitigaciónRansomware: Estratégias de Mitigación
Ransomware: Estratégias de Mitigación
 
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWSAprenda a migrar y transferir datos al usar la nube de AWS
Aprenda a migrar y transferir datos al usar la nube de AWS
 
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWSAprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
 
Cómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administradosCómo mover a un almacenamiento de archivos administrados
Cómo mover a un almacenamiento de archivos administrados
 
Simplifique su BI con AWS
Simplifique su BI con AWSSimplifique su BI con AWS
Simplifique su BI con AWS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 

Economize até 50% com instâncias Spot da AWS

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Rubens Devito Filho | Arquiteto de Soluções Amazon EC2: Economize Utilizando Instâncias Spot
  • 2. Agenda • Conceito de instâncias Spot • Tipos de requisições de instâncias Spot • Spot • Spot Blocks • Spot Fleet • Escalando com instâncias Spot • Quando usar Spot x Spot Blocks x Spot Fleet
  • 3. O que é Amazon EC2 Spot $1 • São instâncias EC2 que você pode aplicar uma oferta de preço. Como instâncias Spot estão geralmente disponíveis a preços baixos, você pode reduzir significamente os custos com Amazon EC2.
  • 4. As Regras são Simples Mercados onde o preço muda baseado na oferta e procura Você nunca pagará mais do que o valor da sua oferta. Quando o preço de mercado exceder o valor da sua oferta, você recebe 2 minutos para concluir suas tarefas
  • 5. $0.27 $0.29$0.50 1b 1c1a 8XL $0.30 $0.16$0.214XL $0.07 $0.08$0.082XL $0.05 $0.04$0.04XL $0.01 $0.04$0.01L C3 $1.76 On Demand $0.88 $0.44 $.22 $0.11 Cada família de instância Cada tamanho de instância Cada Zona de Disponibilidade Em cada região É um Spot Market separado Quais são os mercados de Spot
  • 8. Vamos às contas • m3.2xlarge em São Paulo = $0.761/hr • $0.0853/hr = ~11% • ~11% < t2.medium ($0.108/hr) • Por 3 meses ou mais • Ao invés de $1671.18 seu custo será de $184.24 • Redução de quase $1500!
  • 9. Spot CLI #Lança instâncias Spot aws ec2 request-spot-instances --spot-price "0.0200" --instance-count 2 -- region us-west-2 --launch-specification file:///Users/user/Folder/spot.json
  • 10. spot.json { "ImageId": "ami-f0091d91", "KeyName": "EC2", "SecurityGroupIds": [ "sg-c0c188a5" ], "InstanceType": "m3.medium", "Placement": { "AvailabilityZone": "us-west-2c” }, "SubnetId": "subnet-0694685f” }
  • 11. Determine o tipo e a validade da sua oferta • Única ou persistente • Se a oferta for persistente, uma nova requisição será feita automaticamente após a instância ser terminada • Possibilidade de configurar o prazo da sua oferta
  • 12. Spot CLI #Lança instâncias Spot aws ec2 request-spot-instances --spot-price "0.0200" --instance-count 2 -- region us-west-2 –-type ”persistent” --launch-specification file:///Users/user/Folder/spot.json
  • 13. Use instâncias Spot para escalar 1. Crie um Auto Scaling só de Spot 2. Crie outro Auto Scaling com On-Demand 3. Ambos no mesmo Elastic Load Balancing 4. Configure métricas mais agressivas no Auto Scaling de Spot e seja mais conservador no Auto Scaling de On- Demand 5. Instâncias Spot serão lançadas primeiro e desligadas por último 6. Instâncias On-Demand serão lançadas por último e desligadas primeiro
  • 14. Aplicação Web com Spot Dados de Sessão Zona de Disponibilidade A Zona de Disponibilidade B ASG Spot Elastic Load Balancing ASG On- Demand
  • 15. Use instâncias Spot para escalar 1. Crie um Auto Scaling só de Spot a) Via Console, crie um Launch Configuration que faça a requisição de Spot b) Crie o Auto Scaling Group com esse Launch Configuration
  • 16. Auto Scaling Spot CLI #Cria Launch Configuration com Spot aws autoscaling create-launch-configuration --launch-configuration-name LC_Spot -- image-id ami-d0f506b0 –-key-name EC2 --instance-type m3.medium --spot-price 0.0140 –- region us-west-2 #Cria Auto Scaling com Spot aws autoscaling create-auto-scaling-group --region us-west-2 --auto-scaling-group-name ASG_Spot --launch-configuration-name LC_Spot --availability-zones "us-west-2a" "us- west-2b" "us-west-2c" --max-size 4 --min-size 1 --desired-capacity 2 --vpc-zone- identifier subnet-bbd906cc,subnet-569e2733,subnet-0694685f
  • 17. Use instâncias Spot para escalar 2. Crie um Auto Scaling de On-Demand a. Via Console, crie um Launch Configuration sem requisitar Spot b. Via CLI, utilize os mesmos comandos removendo apenas o parâmetro --spot-price c. Crie o Auto Scaling Group da mesma maneira que o Spot
  • 18. Use instâncias Spot para escalar 3. Ambos no mesmo Elastic Load Balancing a. Via Console, vá no Auto Scaling e edite o campo Load Balancers b. Via CLI, adicione o parâmetro --load-balancer-names c. Faça isso para os dois Auto Scaling Groups
  • 19. Auto Scaling Spot CLI #Cria Auto Scaling anexado à um Load Balancer aws autoscaling create-auto-scaling-group --region us-west-2 --auto-scaling-group-name ASG_Spot --launch-configuration-name LC_Spot --availability-zones "us-west-2a" "us- west-2b" "us-west-2c" --max-size 4 --min-size 1 --desired-capacity 2 --vpc-zone- identifier subnet-bbd906cc,subnet-569e2733,subnet-0694685f --load-balancer-names MyELB
  • 20. Use instâncias Spot para escalar 4. Configure métricas mais agressivas no Auto Scaling de Spot e seja mais conservador no Auto Scaling de On- Demand. Exemplo: a) Se CPU >= 40% lance Spot b) Se CPU >= 70% lance On-Demand c) Se CPU <= 40% remova On-Demand d) Se CPU <= 20% remova Spot 5. Instâncias Spot serão lançadas primeiro e desligadas por último 6. Instâncias On-Demand serão lançadas por último e desligadas primeiro
  • 21. Fique atento com o alerta de 2 minutos $ if curl -s http://169.254.169.254/latest/meta- data/spot/termination-time | grep -q .*T.*Z; then instance_id=$(curl -s http://169.254.169.254/latest/meta-data/instance-id); aws elb deregister-instances-from-load-balancer --load-balancer-name my-load-balancer --instances $instance_id; /env/bin/flushsessiontoDBonterminationscript.sh; fi 1) Verifica o alerta de 2 minutos 2) Se SIM, remove a instâncias do ELB 3) Caso contrário, não faça nada 4) Aguarda por 5 segundos
  • 23. Amazon EC2 Spot Block $1 Rode sem interrupções por até 6 horas Reduza até 50% do preço On-Demand
  • 25. Spot Block CLI #Lança instâncias Spot aws ec2 request-spot-instances --spot-price "0.0200" --instance-count 1 –- block-duration-minutes 120 --region us-west-2 --launch-specification file:///Users/user/Folder/spot.json
  • 27. Amazon EC2 Spot Fleet • Lance centenas de instâncias Spot com uma única chamada RequestSpotFleet • Lowest Price • Encontre o melhor preço que funcione para você • Diversified • Diversifique sua frota. Amplie sua disponibilidade • Custom Weighting • Crie sua própria unidade de capacidade baseado nas necessidades da sua aplicação
  • 28. Flexibilidade do Spot Fleet 2. Entre famílias EC2 3. Entre AZs 1. Dentro da família EC2
  • 29. Spot Fleet CLI #Lança instâncias Spot aws ec2 request-spot-fleet –-spot-fleet-request-config file:///Users/user/Folder/spot_fleet.json
  • 30. spot_fleet.json { "SpotPrice": "0.04", "TargetCapacity": 3, "IamFleetRole": "arn:aws:iam::109434434086:role/aws-ec2-spot-fleet-role", "LaunchSpecifications": [ { "ImageId": "ami-f0091d91", "KeyName": "EC2", "SecurityGroups": [ { "GroupId": "sg-c0c188a5” } ], "InstanceType": "c3.large", "Placement": { "AvailabilityZone": "us-west-2c" }, "SubnetId": "subnet-0694685f", "IamInstanceProfile": { "Arn": "arn:aws:iam::109434434086:role/aws-ec2-spot-fleet-role” } }, { "ImageId": "ami-f0091d91", "KeyName": "EC2", "SecurityGroups": [ { "GroupId": "sg-c0c188a5" } ], "InstanceType": "m3.medium", "Placement": { "AvailabilityZone": "us-west-2b” }, "SubnetId": "subnet-569e2733", "IamInstanceProfile": { "Arn": "arn:aws:iam::109434434086:role/aws-ec2-spot-fleet-role” } } ] }
  • 31. Spot Fleet Dependendo da quantidade e variação do seu Spot Fleet, utilizar o CLI pode ser complicado. Dica:
  • 32. Aplicação Web sem Estado (Stateless) Elastic Load Balancing Stateless Web Servers (Spot) Stateless Web Servers (Spot) Dados de Sessão Spot fleet Zona de Disponibilidade A Stateless Web Servers (Spot) Stateless Web Servers (Spot) Zona de Disponibilidade B
  • 34. Spot Fleet mantém a Capacidade Desejada
  • 35. Escale seu Spot Fleet Elastic Load Balancing Stateless Web Servers (Spot) Stateless Web Servers (Spot) Zona de Disponibilidade A Zona de Disponibilidade B Stateless Web Servers (Spot) Stateless Web Servers (Spot) alarm
  • 37. Requisitos para usar Spot • Não persista nada na instância Spot • Para sessões, Amazon ElastiCache ou Amazon DynamoDB • Para logs, Amazon S3 • … • Use para aplicações escaláveis e automatizadas • Evite para aplicações monolíticas caso ela seja crítica
  • 38. Qual tipo de Spot devo usar? • Spot • Escalar (integrado com Auto Scaling) • Processamento em batch com tempo indeterminado • Task Nodes do EMR • Ambientes de DEV e Homologação, instância de CI • Workers em geral • Spot Blocks • Qualquer job que tem limite de até 6 horas para ser executado • Processamento em batch • HDFS de um cluster EMR • Spot Fleet • Aplicações Web estáveis usando Diversified em diferentes AZs • Task Nodes do EMR • Cluster de containers
  • 39. Qual tipo de Spot devo usar? • Na dúvida, use Spot Fleet