como reducir costos en aws

57
© 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

Upload: amazon-web-services-latam

Post on 14-Apr-2017

906 views

Category:

Technology


0 download

TRANSCRIPT

© 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?

Negocios con provedores tradicionales…

Sólo pagan por lo que compran

¿Qué esperar de la sesión?

Todos nuestros clientes…

Sólo pagan por lo que utilizan

¿Qué esperar de la sesión?

Algunos de nuestros clientes …

Sólo pagan por lo que necesitan

¿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!

Flipboard Example: Handling objection AWS gets expensive as you grow big…

Arquitecturas de bajo costo

#1: Escoja el Tipo de Instancia adecuado

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

¿Cómo puedo saber si elijo la instancia

correcta?

Use Amazon CloudWatch

para recolectar y evaluar las

métricas

CloudWatch

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

Demo

CloudWatchEC2

#2: Apagar las instancias que no se usan

Potencial de Ahorro

100% sin iniciar instancias

que no son necesarias!!

Ejemplo de Cliente

Lunes Viernes35% saved

Apagar las instancias que no se usan

• Instancias Dev/Test (No-Producción)

• Use simplemente start/stop, o

• Termine / reinicie

• Las instancias son desechables

AWS Trusted Advisor

aws.amazon.com/premiumsupport/trustedadvisor/

#3: Automatización

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

¿Cómo funciona 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

“Pero mis aplicaciones son

demasiado pequeñas para Auto

Scaling!”

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

#4: Uso de Instancias Reservadas

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

Instancias Reservadas

1y RI

Break even

3y RI

Break even

#5: Uso de Instancias Spot

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).

Ejemplo de Spot Instance

On-Demand:

$0.24

$0.028 (11.7%) $0.026 (10,8%)

$3.28

(1.367%)

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

Spot Bid Advisor

#6: Aproveche los tipos de Almacenamiento

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

#7: Offload de su Arquitectura

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

Cache

MongoDB DynamoDB Amazon RDS

MongoDB DynamoDB Amazon RDS

ElastiCache

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)

Amazon SQS Buffering Requests

Offload Tráfico Popular en

Amazon S3 y CloudFront

Multiple Regions x CloudFront

EUAZAZ

USAZAZ

APAZAZ

Some kind of syncing between

the regions

ELB ELB ELB

Multiple Regions x CloudFront

AZAZ

CloudFront

EU APUS

ELB

US

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

Monitoración de Costo

AWS Simple Monthly Calculator

AWS Billing Console

En resumen …

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

Gracias