Viaje a través de la nube:
Optimización de costes
Casos de uso e hitos comunes en la cloud de AWS Aprendiendo de los viajes de otros usuarios
Mejores prácticas para “bootstrap” tus proyectos
Viaje a través de la nube
Un paso clave en el viaje Cloud Realizar arquitecturas sensibles al coste
Usar la elasticidad para obtener beneficios reales y medibles Hacer más, con menos
Optimización de costes
Fundamentales en la optimización de costes en AWS Optimización de costes en 5 pasos Siguientes pasos
Agenda
Fundamentales en la optimización de costes
¿Por que optimizar?
¿Por que optimizar?
Utility Computación y
almacenamiento son “utilities” por lo que “la desconexión debería ser
algo natural
¿Por que optimizar?
Utility Computación y
almacenamiento son “utilities” por lo que “la desconexión debería ser
algo natural
Eficiencia La eficiencia permite
hacer más con el mismo presupuesto
¿Por que optimizar?
Utility Computación y
almacenamiento son “utilities” por lo que “la desconexión debería ser
algo natural
Eficiencia La eficiencia permite
hacer más con el mismo presupuesto
Arquitectura La sensibilidad al coste dirige la adopción de
arquitecturas del siglo 21
Apagar las luces
Cuando paras los recursos EC2 dejas de pagar por ellos
Ser elástico
Soportar cargas de trabajo con la cantidad correcta de potencia para
llevar a cabo los trabajos
Optimización continua
Conseguir ahorros recurrentes e incrementarlos siendo conscientes del
coste de las arquitecturas
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
Capacidad de 1 servidor
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
Capacidad de 1 servidor
Capacidad tradicional requerida
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hour of day
Capacidad de 1 servidor
Capacidad tradicional requerida
1 Servidor 8 horas
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
Capacidad de 1 servidor
Capacidad tradicional requerida
1 Servidor 8 horas 1 Servidor 8 horas
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
Capacidad de 1 servidor
Capacidad tradicional requerida
1 Servidor 8 horas 1 Servidor 8 horas
1 Servidor 8 horas
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
Capacidad de 1 servidor
Capacidad tradicional requerida
1 Servidor 8 horas 1 Servidor 8 horas
1 Servidor 8 horas
1 Servidor 8 horas
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Car
ga d
el s
erv
ido
r
Hora del día
Capacidad de 1 servidor
Capacidad tradicional requerida
1/3 Ahorro
2 am
Capacidad elástica
8 am
Capacidad elástica
12 am
Capacidad elástica
4 pm
Capacidad elástica
10 pm
Capacidad elástica
Hora: +00h
<10 cores
Capacidad elástica
Hora: +24h
>1500 cores
Capacidad elástica
Hora: +72h
<10 cores
Capacidad elástica
Hora: +120h
>600 cores
Capacidad elástica
Manuales
Lanzar una llamada a la API o uso del CLI para lanzar-parar instancias. Solo se necesita especificar el cambio (+/-)
Programadas
Escalar hacia arriba o abajo dependiendo de la fecha y la
hora
Por pólitica
Escalar en respuesta al cambio de las condiciones, basado en
la monitorización y alertas configuradas en tiempo real
segun el uso
Auto ajustable
Las instancias son autómaticamente lanzadas o paradas para asegurar que la aplicación está balanceada en
multiples AZs
Póliticas de autoescalado
Póliticas de Auto-Escalado
Escalar basado en póliticas
Escalar hacia arriba/abajo basado en métricas
Pólitica de escalado hacia arriba – Doblar el tamaño del grupo si avg cpu > 80%
Pólitica de escalado hacia abajo – Disminuir el 10% si avg cpu < 30%
Escalado por programa
Aciones programadas para cubrir demandas conocidas de antemano
Programar hasta con 31 dias de adelanto
Actividades de escalado recurrentes programadas
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Nú
me
ro d
e in
stan
cias
Día del mes
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Nú
me
ro d
e in
stan
cias
Día del mes
Proceso mensual de
pico predecible
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Nú
me
ro d
e in
stan
cias
Día del mes
Capacidad tradicional requerida
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Nú
me
ro d
e in
stan
cias
Día del mes
Capacidad elástica
Capacidad tradicional requerida
0
1
2
3
4
5
6
0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930
Nú
me
ro d
e in
stan
cias
Día del mes
75 % de ahorro
Capacidad tradicional requerida
Capacidad elástica
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Tipos de instancias
Comenzar
Selecciona la instancia que mejor se ajusta a tus
requisitos
Ajusta memoria y virtual cores
Tipos de instancias
Ajusta
Ajusta hacia arriba-abajo el tipo de instancia
basado en la monitorizacion de la
misma
Usa “Trusted Advisor” para la evaluación
Tipos de instancias
Comenzar
Selecciona la instancia que mejor se ajusta a tus
requisitos
Ajusta memoria y virtual cores
Distribuye
Ejecuta instancias en multiples zonas de
disponibilidad
A menor tamaño mayor granularidad
Tipos de instancias
Ajusta
Ajusta hacia arriba-abajo el tipo de instancia
basado en la monitorizacion de la
misma
Usa “Trusted Advisor” para la evaluación
Comenzar
Selecciona la instancia que mejor se ajusta a tus
requisitos
Ajusta memoria y virtual cores
Instancia Amazon
CloudWatch Alarma
Free Memory
Free CPU Free HDD
… Métricas de
usuario …
Intervalos 1 min
PUT 2 semanas
Conoce tu uso
Selecciona métricas Optimiza con las métricas
Workload A
Óptimo en 4x m1.xlarge
Workload B
Óptimo en 10x m1.medium
Workload C
Óptimo en 2x m3.xxlarge
Selecciona métricas Optimiza con las métricas
Coste por unidad de trabajo por instancia (tamaño)
Coste por unidad de trabajo por instancia (tamaño)
100 jobs concurrentes en 10 x m1.large @ $0.26 / hr = $ 0.026 / job
300 jobs concurrentes en 10 x m3.xlarge @ $0.58 / hr = $ 0.019 / job
vs
Selecciona métricas Optimiza con las métricas
Piensa en la densidad de carga No te enfoques en solo el precio por hora
de la instancia per se
Selecciona métricas Optimiza con las métricas
Master Account
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Master Account
Información de cuenta consolidada Tags: (key-value)
e.g Own=Div Proj=R
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
Información de cuenta consolidada
Información de cuenta consolidada
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
Acceso a la factura programado
S3 CSV
Información de cuenta consolidada
Operating Co. A [email protected]
User1 Dev1 Admin1
IAM
Tags: Own=OpCo Proj=A
Tags: Own=OpCo Proj=B
Tags: Own=OpCo Proj=C
Division B [email protected]
User2 Dev2 Admin2
IAM
Tags: Own=Div Proj=P
Tags: Own=Div Proj=Q
Tags: Own=Div Proj=R
Business Unit C [email protected]
User3 Dev3 Admin3
IAM
Tags: Own=BusC Proj=X
Tags: Own=BusC Proj=Y
Tags: Own=BusC Proj=Z
Master Account
S3 CSV
Acceso a la factura programado
Información de cuenta consolidada
Business
Basic
Developer
Enterprise
Offering
24x7x365 ✓
Acceso a foros ✓
Documentación ✓
Tipos de acceso al soporte Telefono, chat,
Contactos autorizados 5
SLA Tiempo de respuesta 1 Hora
Soporte de arquitectura Guia de casos de
uso
Best Practices ✓
Herramientas de diagnóstico ✓
Direct Routing ✓
3rd Party Software ✓
Trusted Advisor ✓
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
Instancias reservadas
Para 1- or 3-años
Pago de una pequeña reserva por adelantado, consiguiendo una reduccion en el precio por
hora muy significativa
Bajo coste y predictibilidad
Ayuda a asegurar que la capacidad de potencia esta disponible cuando es necesaria
Casos de uso comunes:
Aplicaciones en estado estable o uso muy
predecible
Aplicaciones que requieran una capacidad de computo reservada inlcuyendo los casos de
recuperacion frente a desastres
Instancias reservadas
Instancias reservadas
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
> 80% Utilización Bajada de costes hasta de un 58%
Casos de uso: Base de datos, HPC a gran escala, infraestructura siempre activa, Baseline
RI de utilización intensa Instancias reservadas
Para 1- or 3-años
Pago de una pequeña reserva por adelantado, consiguiendo una reduccion en el precio por
hora muy significativa
Bajo coste y predictibilidad
Ayuda a asegurar que la capacidad de potencia esta disponible cuando es necesaria
Casos de uso comunes:
Aplicaciones en estado estable o uso muy
predecible
Aplicaciones que requieran una capacidad de computo reservada inlcuyendo los casos de
recuperacion frente a desastres
Instancias reservadas
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
Uso de 41-79% Bajada de costes hasta de un 49%
Casos: Aplicaciones Web, muchos de los procesos de tareas pesados, aquellas
aplicaciones corriendo la mayoría del tiempo.
RI de utilización media
Instancias reservadas
> 80% Utilización Bajada de costes hasta de un 58%
Casos de uso: Base de datos, HPC a gran escala, infraestructura siempre activa, Baseline
RI de utilización intensa
Para 1- or 3-años
Pago de una pequeña reserva por adelantado, consiguiendo una reduccion en el precio por
hora muy significativa
Bajo coste y predictibilidad
Ayuda a asegurar que la capacidad de potencia esta disponible cuando es necesaria
Casos de uso comunes:
Aplicaciones en estado estable o uso muy
predecible
Aplicaciones que requieran una capacidad de computo reservada inlcuyendo los casos de
recuperacion frente a desastres
Instancias reservadas
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
Uso del 15-40% Bajada de costes hasta de un 34%
Casos de uso : Disaster Recovery, Reportes mensuales o semanales, Elastic Map Reduce
RI de utilización ligera
Instancias reservadas
Uso de 41-79% Bajada de costes hasta de un 49%
Casos: Aplicaciones Web, muchos de los procesos de tareas pesados, aquellas
aplicaciones corriendo la mayoría del tiempo.
RI de utilización media
> 80% Utilización Bajada de costes hasta de un 58%
Casos de uso: Base de datos, HPC a gran escala, infraestructura siempre activa, Baseline
RI de utilización intensa
Para 1- or 3-años
Pago de una pequeña reserva por adelantado, consiguiendo una reduccion en el precio por
hora muy significativa
Bajo coste y predictibilidad
Ayuda a asegurar que la capacidad de potencia esta disponible cuando es necesaria
Casos de uso comunes:
Aplicaciones en estado estable o uso muy
predecible
Aplicaciones que requieran una capacidad de computo reservada inlcuyendo los casos de
recuperacion frente a desastres
Instancias reservadas
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
Utilización óptima de las RI
$-
$2,000
$4,000
$6,000
$8,000
$10,000
$12,000
$14,000
$16,000
$18,000
Heavy
Medium
Light
O-Demand
$-
$2,000
$4,000
$6,000
$8,000
$10,000
$12,000
$14,000
$16,000
$18,000
Heavy
Medium
Light
O-Demand
Utilización óptima de las RI
0
2
4
6
8
10
12
14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
On Demand
Light Utilization RI
Medium Utilization RI
Heavy utilization RI
Utilización óptima de las RI
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Instancias Spot
Para 1- or 3-años
Pago de una pequeña reserva por adelantado, consiguiendo una reduccion en el precio por
hora muy significativa
Bajo coste y predictibilidad
Ayuda a asegurar que la capacidad de potencia esta disponible cuando es necesaria
Casos de uso comunes:
Aplicaciones en estado estable o uso muy
predecible
Aplicaciones que requieran una capacidad de computo reservada inlcuyendo los casos de
recuperacion frente a desastres
Instancias reservadas
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
Negociar capacidad no usada de EC2
El precio Spot está basado en demanda-disponibilidad y se determina
automáticamente
Manejo de cargas de trabajo dinámicas, costosas o a gran escala
Casos de uso comunes:
Aplicaciones con tiempos de ejecucion flexibles
Aplicaciones que solo tienen sentido a un coste muy bajo de computación
Instancias Spot
Para 1- or 3-años
Pago de una pequeña reserva por adelantado, consiguiendo una reduccion en el precio por
hora muy significativa
Bajo coste y predictibilidad
Ayuda a asegurar que la capacidad de potencia esta disponible cuando es necesaria
Casos de uso comunes:
Aplicaciones en estado estable o uso muy
predecible
Aplicaciones que requieran una capacidad de computo reservada inlcuyendo los casos de
recuperacion frente a desastres
Instancias reservadas
Instancias Unix/Linux comenzando por $0.02/hora
Pay as you go para potencia de cómputo
Bajo coste y flexibilidad
Pago solo por lo que se usa, sin pagos por adelantado, compromisos o contratos a largo
plazo
Casos de uso comunes:
Aplicaciones con corta vida de uso,para los picos o cargas no predecibles
Desarrollo y testing
Instancias bajo demanda
Instancias Spot
100%
Consiguiendo economías de escala
Tiempo
Capacidad reservada
100%
Tiempo
Consiguiendo economías de escala
On
Capacidad reservada
100%
Bajo demanda
Tiempo
Consiguiendo economías de escala
On
Capacidad reservada
100%
Bajo demanda
Tiempo
Spot
Consiguiendo economías de escala
Si tu precio > precio spot Obtienes la instancia
Si tu precio < precio spot La instancia se desprovisiona
Arquitecturas para instancias Spot
Componentes “Decouple “
Procesos de backend e interactivos separados
Uso de frameworks como Elastic MapReduce
Diseñados para interrupciones
Uso de SQS, SWF
Coloca los datos en un almacen no volatil como S3, SimpleDB o DynamoDB
Guarda el progreso regularmente
Job Flow
14 Horas
Duracion:
Ecenario #1
#1: Coste sin Spot 4 instancias *14 hrs * $0.50 = $28
Arquitecturas para instancias Spot
Duración:
Job Flow
7 Horas
Escenario #2
Arquitecturas para instancias Spot
Job Flow
14 Horas
Duracion:
Ecenario #1
#1: Coste sin Spot 4 instancias *14 hrs * $0.50 = $28
#2: Coste con Spot 4 instancias *7 hrs * $0.50 = $14 + 5 instancias * 7 hrs * $0.25 = $8.75
Total = $22.75
Arquitecturas para instancias Spot
Duración:
Job Flow
7 Horas
Escenario #2
Job Flow
14 Horas
Duracion:
Ecenario #1
#1: Coste sin Spot 4 instancias *14 hrs * $0.50 = $28
#2: Coste con Spot 4 instancias *7 hrs * $0.50 = $14 + 5 instancias * 7 hrs * $0.25 = $8.75
Total = $22.75
Arquitecturas para instancias Spot
Duración:
Job Flow
7 Horas
Escenario #2
Job Flow
14 Horas
Duracion:
Ecenario #1
#1: Coste sin Spot 4 instancias *14 hrs * $0.50 = $28
Ahorro tiempo: 50% Ahorro en coste: ~22%
Spot customers Clientes que usan Spot
$0.028 por hora
Web Servers
Availability Zone
Elastic Load
Balancer DNS
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Web Servers
$0.065 por hora
(Instancia small )
Availability Zone
$0.028 por hora
Web Servers
Availability Zone
EC2 instance
+ software LB
Elastic Load
Balancer DNS
DNS
VS
SQS queue
Consumidor Productor
$0.005 por
10,000 Requests ($0.0000005 por Request)
Productor
SQS queue
Consumidor
Consumidor Productor
Instancia EC2
+ cola de software
$0.005 por
10,000 Requests ($0.0000005 por Request)
$0.065 por hora
(Instancia Small)
VS
Software vs servicios
Software en EC2
Pros: Uso de funcionalidades
Cons:
Requiere una instancia SPOT
Limitada a una única AZ DIY Administración
AWS Services
ELB, SNS, SQS, SES, SWF, DynamoDB etc.
Pros: Pay as you go Escalabilidad
Disponibilidad Alto rendimiento
Resumen
Capacidad elástica Tipos de instancias Instancias reservadas Instancias Spot Servicios gratuitos
5 pasos en la optimización de costes
Siguientes pasos
aws.amazon.com/economics
aws.amazon.com/calculator
Enlaces útiles
Enlaces útiles
http://aws.amazon.com/whitepapers
aws.amazon.com