Post on 14-Apr-2017
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Alex Coqueiro
Public Sector Solutions Architect
Abril, 2016
Como Reducir Costos en
Amazon Web Services
¿Qué esperar de la sesión?
Vamos a compartir consejos de otras
experiencias de los clientes, que sólo pagan
por lo que necesitan
Su empresa puede ahorrar mucho con
estos consejos!
Familias de instancias: Ejemplo
Instancia vCPU Mem
(GiB)
Precio Mensual
(3-yr heavy RI )
Caso de Uso
c3.2xlarge 8 15 $121.22 Mejor precio de computo por
performance
m3.2xlarge 8 30 $161.15 Balanceado
r3.2xlarge 8 61 $189.66 Mejor precio por GiB RAM
r3.xlarge 4 30.5 $94.83 Mejor precio por GiB RAM
Amazon CloudWatch
Basic
7 métricas para Amazon EC2:
• CPU utilization
• Data transfer
• Disk usage
Frecuencia de 5 minutos
Métricas para Amazon EBS,
Amazon DynamoDB, Amazon
RDS, etc.
Detailed
Frecuencia de 1 minuto
Agregación por tipo de instancia y
AMI
Apagar las instancias que no se usan
• Instancias Dev/Test (No-Producción)
• Use simplemente start/stop, o
• Termine / reinicie
• Las instancias son desechables
Automatización, Automatización, Automatización
• AWS SDKs
• AWS CLI
• AWS CloudFormation
• AWS OpsWorks
• AWS ElasticBeans Talk
• Netflix Janitor Monkey
• Cloudlytics EC2 Scheduler
• Auto Scaling
AWS CloudFormation EjemploLaunch Configuration
"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 …
]]}}
}
}
AWS CloudFormation EjemploAuto Scaling Group Definition
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"AvailabilityZones" : [
"us-east-1a","us-east-1b","us-east-1c",
],
"LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
"MinSize" : “3",
"MaxSize" : “6",
"DesiredCapacity" : “3",
"LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ]
}
}
00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00
23:00
Ejemplo de uso (Utilización)
00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00
23:00
Ejemplo de uso (Utilización)
41 Instance Hours
m3.large @ $0.154/hr
= $6.314/day
00:00 01:00 02:00 03:00 04:00 05:00 06:00 07:00 08:00 09:00 10:00 11:00 12:00 13:00 14:00 15:00 16:00 17:00 18:00 19:00 20:00 21:00 22:00
23:00
Ejemplo de uso (Utilización)
70 Instance Hours
t2.small @ $0.028/hr
= $1.96/day
Amazon EC2 Container Service (Amazon ECS)
• Docker containers
• Flexible
• Diseñado para su uso con otros servicios AWS
• Extensible
• Performance a escala
• Seguro
10%
15%
7%
12%
20%
9%
Consolidación con Amazon ECS
App 1 App 2
App 3 App 4
App 5 App 6
6
12 345
Amazon ECS
Cluster
Deshacerse de ”Idle Time” con AWS Lambda
• Automatic scaling
• Provisionamiento Automatico
• No hay necesidad de gestionar infraestructura
• Sólo tiene que traer su código
• $0.20 per millón de requests, 1M gratis
• 100 ms payment granularity
• Nunca pague por inactividad
Menos de 40% de utilización?
Considere el uso de AWS Lambda!
https://serverlesscode.com/post/andrew-templeton-interview-lambda-in-production/
Bajo su costo de
$ 1.150
a
$ 80
0
2
4
6
8
10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
/Spot
Use RIs (Instancias Reservadas)
Las Instancias Reservadas (RI) le permiten reservar capacidad por uno o tres
años, mediante el pago de una cuota inicial baja y recibiendo un descuento
significativo en el costo por hora de sus instancias
Servicios AWS cubiertos
• Amazon EC2
• Amazon RDS
• Amazon DynamoDB
• Amazon Redshift
• Amazon ElastiCache
Spot
On Demand
RI
Use Instancias Spot
• Precio
‒ Descuento de hasta 92%
• Elasticidad
‒ Consuma capacidad que no
podría obtener normalmente
• Compromiso
‒ Por lo menos una hora
• Tradeoff
‒ Potencial de interrupción
Escoger el precio de subasta correcto será una función de la tolerancia a
interrupciones (% probabilidad de terminación).
Casos de Uso de Spot Instance
• Stateless web/app server fleets
• Amazon Elastic MapReduce
• Continuous integration (CI)
• High performance computing (HPC)
• Grid computing
• Media rendering/transcoding
aws.amazon.com/ec2/spot
Aproveche los tipos de Almacenamiento
AWS Cloud
Amazon
Glacier
Gateway Appliance/
AWS Storage Gateway
Amazon
S3
Block File
On-premises Data Center
Archive Backup Disaster
Recovery
Amazon
EBS
• Amazon S3 Reduced Redundancy
‒ Durabilidad: 99.99% vs. 99.999999999%
‒ Descuento: hasta 20%
‒ Adecuada para datos que pueden ser
reproducidos
• Amazon Glacier
‒ Durabilidad: la misma de S3
‒ Tiempo de restauración: 3 – 5 horas
‒ Adecuada para archivos, backups de
larga retención y datos antiguos
‒ Descuento: hasta 77% sobre Standard
Storage
Offload Su Arquitectura
• Cuanto más se puede hacer Offloading, menos la
infraestructura que necesita para mantener, escalar y
pagar
• Tres formas fáciles de offload:
• Introducir caching
• Uso de Amazon CloudFront
• Explorar servicios existentes con Amazon web services
MongoDB Queries
Shut down 8 maquinas
Ejemplo de cache con banco de datos
DynamoDB Reads
Salvado 3k reads per second
(>20k reads per second en total)
Multiple Regions x CloudFront
EUAZAZ
USAZAZ
APAZAZ
Some kind of syncing between
the regions
ELB ELB ELB
Expanda su arquitectura
+
Standard
• 4 x Medium Instances
$201
• AWS Data Transfer 1 TB
$92
• Total = $293
Optimizado
• 1 x Medium Instance
$50
• CloudFront Data 1 TB
$87
• CloudFront Requests (10M)
$7.5
• Total = $144.5
51%
6X
Más barato
Más rápido
Expanda su arquitectura: Application Services
Elastic LoadBalancing
Amazon Relational Database Service
(RDS)
Amazon Simple Queue Service
(SQS)
Amazon Simple Email Service
(SES)
Amazon Elastic
MapReduce
Amazon
ElastiCache
Amazon Simple
Notification Service
(SNS)
Sencillo, más confiable, costo mas bajo
1. Escoja el Tipo de Instancia adecuado
2. Apagar las instancias que no se usan
3. Automatización
4. Uso de Instancias Reservadas
5. Uso de Instancias Spot
6. Aproveche los tipos de Almacenamiento
7. Offload de su arquitectura
+ Costs Monitoring