2. Bajo demanda
Pague por capacidad
de cómputo por hora
sin compromisos a
largo plazo
Para cargas variables
o para definir
necesidades
Modelos de consumo de AWS EC2
Reservado
Haga un pago único
bajo y reciba un
descuento
significativo al cargo
por hora
Para utilización con
compromiso
Subasta (Spot)
Puje por capacidad
ociosa, cargada a
precio de subasta
que fluctúa de
acuerdo a la pferta y
la demanda
Para cargas no
sensibles al tiempo
3. ¿Qué son las instancias Amazon EC2 Spot?
Son instancias EC2 de sobra por las que usted puede subastar para correr sus
aplicaciones en la nube. Las instancias Spot se encuentran disponibles a precios más
bajos que las bajo demanda, así que usted puede reducir significativamente el costo
de ejecutar sus aplicaciones, crecer la capacidad de las mismas por el mismo
presupuesto y habilitar nuevos tipos de aplicaciones para la nube.
$1
4. Con Spot las reglas son simples
Mercados donde el precio del
cómputo cambia en base a la
oferta y la demanda
Nunca pagará más de lo que
puja. Cuando el mercado excede
su puja, usted tiene dos minutos
para concluir su trabajo
5. ¿Por qué usar Spot? Ejemplos de clientes
39 años de investigación farmaceutica porcesadas, utilizando más de
80,000 cores, en 9 horas por $4,232 USD
- Aproximadamente un pico de 87,000 núcleos de cómputo
- Estimados 39 años de química computacional realizados en 9 horas
- Tres compuestos candidatos identificados existósamente
6. “Al utilizar las instancias Spot de AWS hemos logrado ahorrar 75% al
mes con simplemente cambiar cuatro líneas de código. Hace perfecto
sentido para ahorrar dinero cuando estás ejecutando cargas de
integraciñon contínua o procesos de pipeline” - Matthew Leventi, Lead
Engineer, Lyft
¿Por qué usar Spot? Ejemplos de clientes
7. $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
¡Enséñame los mercados!
Cada familia de instancia
Cada tamaño de instancia
Cada zona de disponibilidad
En cada región
Es un mercado Spot Separado
8. Puja 50%
Puja 75%
Usted paga
el precio de
mercado
Precio de puja Vs precio de mercado
Puja 25%
9. Spot Bid Advisor
1) Facilitamos las subastas
2) Con selección deliberada de
pool y puja, usted
conservará sus instancias el
tiempo que necesite.
3) Y con nuevas características
como Spot Fleet
diversificado, nosotros nos
encrgamos de la carga
pesada…
10. Interfaz fácil de usar que le
permite lanzar instancias de sobra
en segundos
Le ayuda a seleccionar la puja para
instancias EC2 que cumpla con los
requerimientos de su aplicación
Tablero fácil de usar que le permite
modificar y administrar la
capacidad de cómputo de sus
aplicaciones
La consola de EC2 Spot
11. Spot fleet le ayuda
Lance miles de instancias Spot
Con sólo un llamado RequestSpotFleet
Obtenga el mejor precio
Encuentre la capacidad al mejor precio que funcione
para usted.
o
Diversifique sus recursos
Diversifique su flota. Crezca la disponibilidad
Y
Aplique distribución personalizada
Creé su propia unidad de capacidad basada en las
necesidades de su aplicación
13. Diversifique con EC2 Spot fleet
Múltiples instancias EC2 Spot
seleccionadas
Múltiples Zonas de Disponibilidad
seleccionadas
Escoja las intancias con
rendimiento y características
similares ej. c3.large, m3.large,
m4.large, r3.large, c4.large.
14. Sólo con un parámetro
adicional
Se ejecutan
continuamente
hasta por 6 horas
Ahorre hasta el 50%
del precio bajo
demanda
EC2 Spot Blocks
$1
15. ¿Qué hay en 6 horas?
~ 21% menos de 1 hora
~ 35% menos de 2 horas
~ 40% menos de 3 horas
En total al rededor de 50%
todas las instancias viven
menos de 6 horas
19. Para aplicaciones Web, en DynamoDB.
• Los datos se replican entre AZ.
También puede elegir otras bases de datos para mantener el
estado en su arquitectura.
• Amazon RDS en modo Multi-AZ
• Amazon Elasticache
¿Dónde almacenar el estado de la sesión?
20. Capitalizando la advertencia de los 2 minutos
Cuando el precio de mercado
excede el rpecio de puja, la
instancia recibirá una
advertencia dos minutos
antes
Verifique la notificación de los
dos minutos cada 5 segundos
aprovechando un script
invocado al momento de
lanzar la instancia
21. Script de ejemplo
1) Verifique la advertencia
de dos minutos
2) Si EXISTE, remueva la
instancia del ELB
3) SI NO, no haga nada
4) Espere 5 segundos
$ 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
22. Dos grupos de auto scaling
• Bajo demanda + Reservadas
para uso regular
• Agregue un grupo de auto
scaling adicional con Spot
Ambos grupos detrás del mismo
Elastic Load Balancer.
Use el bid advisor par seleccionar
el tiempo correcto de instancia
para su aplicación.
Si están usando grupos de autoscale
23. Arquitectura de aplicación Web con Spot
Elastic Load
Balancing
Stateless
Web Servers
Stateless
Web Servers
On Demand Auto
Scaling group
Session
State Data
Stateless Web
Servers (Spot)
Stateless Web
Servers (Spot)
Spot Auto
Scaling group
Availability Zone A
Availability Zone B
Stateless Web
Servers (Spot)
Stateless Web
Servers (Spot)
Spot Auto
Scaling group
24. Arquitectura de aplicación Web con Spot
Elastic Load
Balancing
Stateless
Web Servers
Stateless
Web Servers
On Demand Auto
Scaling group
Session
State Data
Stateless Web
Servers (Spot)
Stateless Web
Servers (Spot)
Spot Auto
Scaling group
Availability Zone A
Availability Zone B
ASG Bajo
demanda
ASG Spot
27. Nodos Core
Nodo
maestro
Master instance group
Hadoop cluster
Core instance group
HDF
S
HDF
S
Puede agregar
nodos core:
Más CPU
Más Memoria
Más espacio HDFS
HDF
S
28. Nodos para tareas – Oportunidad de Spot
Nodo
maestro
Hadoop cluster
HDF
S
HDF
S
Sin HDFS
Provee recusros de
cómputo:
CPU
Memoria
Core instance group Task instance group
29. Nodos para tareas – Múltiples tipos de instancias
Nodo
maestro
Hadoop cluster
HDF
S
HDF
S
Puede agregar y
quitar nodos para
tareas
c3.8xl, r3.8xl, r3.4xl, etc
La
oportunidad
Core instance group
30. ¿Pero qué acerca de HDFS?
Nodo
maestro
Hadoop cluster
HDF
S
HDF
S
Puede agregar y
quitar nodos para
tareas CORE Tareas
cc2.8xl, r3.8xl, d2.4xl, etc
Spot Blocks? EMR/S3?
31. • Sin necesidad de escalar
HDFS
– Capacidad
– Replicación para durabilidad
• Amazon S3 escala junto con
sus datos
– En IOPs y almacenamiento
– Masivamente parlelo
EMRFS - Amazon
S3 como HDFS
Spot blocks para HDFS
• Si el cluster de HDFS vive
por menos de 6 horas
32. Hadoop en EC2 Spot – aprendizajes
Su trabajo
Ejecute los nodos de tareas por separado con EC2 Spot fleet
Considere Spot blocks para nodos core/HDFS
Lo que EC2 Spot fleet hace por usted
Le ahorra dinero
Administración heterogénea de instancias
Escale en la unidad que le importa
Acelera los resultados (el tiempo es oro)
33. Aplicaciones orientadas a batch pueden aprovechar el procesamiento
bajo demanda usando EC2 Spot para ahorrar hasta el 90%:
Procesamiento batch con Amazon EC2 Spot
Simulación
Montecarlo
Modelado
molecular
Procesamiento
de video
Simulaciones de
alta energía
34. Procesamiento batch con Amazon EC2 Spot
On Demand Auto-
Scaling group
Output S3
bucket
Spot Auto-
Scaling group 2
Availability Zone A
Availability Zone B
Spot Auto-
Scaling group 1
Upload object
into input S3
bucket
Job SQS Queue
Auto Scaling groups will scale up based
on queue depth and scale down based on
CPU utilization CW metrics
Workers will
check for
jobs in the
queue
Workers will update Job status
(start time, SLA end time, etc)
in DynamoDB
Uploads to S3 will
trigger a Lamda
function to put jobs in
SQS and DynamoDB
EFS
EC2 instance
worker fleet
35. AWS Lambda es un servicio de cómputo que ejecuta su código en
respuesta de eventos y automáticamente administra los recursos de
cómputo por usted, volviendo muy fácil el construir aplicaciones que
respondan rápidamente a nueva información.
Amazon Simple Queue Service (SQS) es un servicio de colas de
mensajes rápido, confiable, escalable y completamente administrado
para desacoplar componentes.
Dependiendo de las necesidades de la aplicación, múltiples
colas de SQS se pueden requerir para funciones y prioridades.
Acerca de Lambda y SQS
36. ¿Más automatización?
Use una función Lambda para administrar de manera
dinámica grupos de Auto Scaling en base al mercado Spot.
• La función Lambda puede ivocar de manera periódica el API
de EC2 Spot para evaluar los precios del mercado y
disponibilidad, y responder creando nuevas Launch
Configurations y grupos de manera automática.
• Esta función también puede eliminar cualquier Grupo de Auto
Scaling con Spot y lanzar configuraciones que no tengan
instancias.
AWS Data Pipeline se puede usar para invocar la función
Lambda usando el AWS CLI en intervalos regulares
calendarizando pipelines
37. Arquitectura automatizada en batch con Spot
Worker
Worker
On Demand
Autoscaling group
Output S3
bucket
Worker (spot)
Worker(spot)
Spot Autoscaling
group 2
Availability Zone A
Availability Zone B
Worker(spot)
Worker (spot)
Spot Autoscaling
group 1
Upload object
into input S3
bucket
Job SQS Queue
AutoScaling groups will scale up
based on queue depth and scale
down based on CPU utilization
CW metrics
Workers will
check for
jobs in the
queue
Workers will update Job status
(start time, SLA end time, etc)
in DynamoDB
DataPipeline can invoke a Lambda
function in a scheduled manner
which can manage AutoScaling
groups based on the spot market
Uploads to S3 will
trigger a Lamda
function to put jobs in
DynamoDB and SQS EFS