Un voyage dans le cloud - Optimisation des Coûts

Post on 25-Jan-2015

166 views 2 download

description

Depuis l’extinction des systèmes la nuit à l’utilisation de stratégies d’enchères sur le marché "spot", il y a de nombreuses manières de gérer vos coûts avec AWS. Cette session de la serie "Un voyage dans le cloud" vous fera visiter des stratégies d’optimisation pour vous faire économiser de l’argent sur le cloud AWS.

Transcript of Un voyage dans le cloud - Optimisation des Coûts

twitter.com/aws_actus ( Actualités en français)

Un voyage dans le Cloud:

Optimisation des Coûts

Pierre Gilot Architecte Solutions

Bienvenue !

Paris, juin 2013

Cas d’usage habituels & accélérateurs vers le Cloud AWS Retours d’expérience de nos clients

Meilleures pratiques pour démarrer vos projets

Un voyage dans le Cloud

Une étape importante du Voyage dans le Cloud Mettre en œuvre des architectures sensibles aux coûts

Des gains réels et mesurables grâce à l’élasticité Faire plus avec moins

Optimisation des coûts

Les fondamentaux de l’optimisation Optimisation des coûts en 5 étapes Et après…

Agenda

Les fondamentaux de l’optimisation des coûts

Pourquoi Optimiser ?

Pourquoi Optimiser ?

Service Serveurs et Stockages

sont des services, il devrait être naturel de

les éteindre

Efficacité L’éfficacité permet

d’en faire plus avec le même budget

Pourquoi Optimiser ?

Service Serveurs et Stockages

sont des services, il est naturel de les éteindre

Architecture La sensibilisation sur les

coûts mène aux architectures du 21° siècle

Efficacité Vous permet d’en faire plus avec le

même budget

Pourquoi Optimiser ?

Service Serveurs et Stockages

sont des services, il est naturel de les éteindre

Eteignez les lumières!

Lorsque vous arrêtez vos ressources EC2, elles ne vous sont pas facturées

Soyez Élastiques

Fournissez la puissance adaptée afin de supporter vos charges de travail

Optimisez en permanence

Maitrisez et augmentez vos économies avec des architectures sensibles aux coûts

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

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

Ch

arge

Se

rve

ur

Horaires

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

Capacité nécessaire traditionnellement

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

Capacité nécessaire traditionnellement

1 Serveur pendant 8 heures

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

Capacité nécessaire traditionnellement

1 Serveur pendant 8 heures

1 Serveur pendant 8 heures

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

Capacité nécessaire traditionnellement

1 Serveur pendant 8 heures

1 Serveur pendant 8 heures

1 Serveur pendant 8 heures

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

Capacité nécessaire traditionnellement

1 Serveur pendant 8 heures

1 Serveur pendant 8 heures

1 Serveur pendant 8 heures

1 Serveur pendant 8 heures

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

Ch

arge

Se

rve

ur

Horaires

Capacité pour 1 serveur

Capacité nécessaire traditionnellement

1/3 d’économie

2:00

Capacité élastique

8:00

Capacité élastique

12:00

Capacité élastique

16:00

Capacité élastique

22:00

Capacité élastique

Time: +00h

<10 coeurs

Capacité Elastique

Time: +24h

>1500 coeurs

Capacité Elastique

Time: +72h

<10 coeurs

Capacité Elastique

Time: +120h

>600 coeurs

Capacité Elastique

Manuellement

Appels d’API ou CLI pour lancer/terminer des instances Besoin unique de spécifier le changement de capacité (+/-)

Planification

Augmenter/Diminuer la capacité en fonction

de la date et de l’heure

Evénements

Evolution en fonction des changements des conditions.

Réactions basées sur des alertes en temps réel et le suivi

défini par l’utilisateur

Auto-Répartition

Les Instances sont automatiquement

lancées/terminées pour assurer la répartition entre

zones de disponibilité

Stratégies d’Auto-scaling

Manuellement

Planification

Evénements Auto-Répartition

Stratégies d’Auto-scaling

Evolution manuelle de capacité manuelle

préemptive

e.g. ajouter 10 instances avant l’événement marketing

Augmentations et réductions régulières du nombre

d’instances

e.g. doubler la capacité tous les vendredi soirs

Evolution dynamique basée sur des mesures personnalisées

e.g. moyenne CPU, Latence ELB, taille de file de messages SQS

Maintien de la capacité entre les zones de disponibilité

e.g. Les instances restent disponibles même en cas d’événement sur une

zone de disponibilité

0

1

2

3

4

5

6

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930

No

mb

re d

’in

stan

ces

Jour du mois

0

1

2

3

4

5

6

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930

No

mb

re d

’in

stan

ces

Jour du mois

Pic mensuel prévisible

0

1

2

3

4

5

6

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930

No

mb

re d

’in

stan

ces

Jour du mois

Capacité nécessaire traditionnellement

0

1

2

3

4

5

6

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930

No

mb

re d

’in

stan

ces

Jour du mois

Capacité nécessaire traditionnnellement

Capacité Elastique

0

1

2

3

4

5

6

0 1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930

No

mb

re d

’in

stan

ces

Jour du mois

Capacité nécessaire traditionnellement

Capacité Elastique

75 % d’économie

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Types d’instances

Démarrez

Choisissez l’instance qui correspond le mieux à

vos besoins

Faites correspondre CPU et mémoire

Types d’instances

Démarrez

Choisissez l’instance qui correspond le mieux à

vos besoins

Faites correspondre CPU et mémoire

Types d’instances

Ajustez

Changez la taille des vos instances en fonction des résultats de monitoring

Profitez de Trusted Advisor pour valider

Démarrez

Choisissez l’instance qui correspond le mieux à

vos besoins

Faites correspondre CPU et mémoire

Types d’instances

Ajustez

Changez la taille des vos instances en fonction des résultats de monitoring

Profitez de Trusted Advisor pour valider

Déployez

Lancez vos instances sur plusieurs zones de

disponibilité

Le petites instances permettent une

meilleure granularité

Instance Amazon

CloudWatch Alarm

Mémoire

CPU Stockage

… Compteurs

personnalisés …

Intervalles de 1min

PUT

Suivez votre consommation

Choisissez vos Compteurs Optimisez en fonction des métriques

Choisissez vos Compteurs Optimisez en fonction des métriques

Coût par unité de traitement et par instance (taille)

Charge type A

Optimale sur 4 inst. m1.xlarge

Charge type B

Optimale sur 10 inst. m1.medium

Charge type C

Optimale sur 2 inst. m3.xxlarge

Choisissez vos Compteurs Optimisez en fonction des métriques

Coût par unité de traitement et par instance (taille)

100 jobs concurrents sur 10 inst. m1.large à $0.26 / hr = $ 0.026 / job

300 jobs concurrent sur 10 inst. m3.xlarge à $0.55 / hr = $ 0.018 / job

vs

Estimation de coûts basée sur le pricing en région eu-west-1 au 7 juin 2013. Sujet à changements

Compte Maître

aws.invoices@mycompany.com

Compte Maître

aws.invoices@mycompany.com

Entité B admin@divisionB.com

User2 Dev2 Admin2

IAM

Information de facturation consolidée

Compte Maître

aws.invoices@mycompany.com

Entité B admin@divisionB.com

User2 Dev2 Admin2

IAM

Information de facturation consolidée Tags: (clef-valeur)

e.g Own=Div Proj=R

Tags: Own=Div Proj=P

Tags: Own=Div Proj=Q

Tags: Own=Div Proj=R

Compte Maître

aws.invoices@mycompany.com

Entité B admin@divisionB.com

User2 Dev2 Admin2

IAM

Tags: Own=Div Proj=P

Tags: Own=Div Proj=Q

Tags: Own=Div Proj=R

Entité A admin@opcoa.com

User1 Dev1 Admin1

IAM

Tags: Own=OpCo Proj=A

Tags: Own=OpCo Proj=B

Tags: Own=OpCo Proj=C

Entité C admin@busUnitC.com

User3 Dev3 Admin3

IAM

Tags: Own=BusC Proj=X

Tags: Own=BusC Proj=Y

Tags: Own=BusC Proj=Z

Information de facturation consolidée

Compte Maître

aws.invoices@mycompany.com

Entité B admin@divisionB.com

User2 Dev2 Admin2

IAM

Tags: Own=Div Proj=P

Tags: Own=Div Proj=Q

Tags: Own=Div Proj=R

Entité A admin@opcoa.com

User1 Dev1 Admin1

IAM

Tags: Own=OpCo Proj=A

Tags: Own=OpCo Proj=B

Tags: Own=OpCo Proj=C

Entité C admin@busUnitC.com

User3 Dev3 Admin3

IAM

Tags: Own=BusC Proj=X

Tags: Own=BusC Proj=Y

Tags: Own=BusC Proj=Z

Information de facturation consolidée

Accès à la programmation de la facturation

S3 CSV

Compte Maître

aws.invoices@mycompany.com

Entité B admin@divisionB.com

User2 Dev2 Admin2

IAM

Tags: Own=Div Proj=P

Tags: Own=Div Proj=Q

Tags: Own=Div Proj=R

Entité A admin@opcoa.com

User1 Dev1 Admin1

IAM

Tags: Own=OpCo Proj=A

Tags: Own=OpCo Proj=B

Tags: Own=OpCo Proj=C

Entité C admin@busUnitC.com

User3 Dev3 Admin3

IAM

Tags: Own=BusC Proj=X

Tags: Own=BusC Proj=Y

Tags: Own=BusC Proj=Z

Information de facturation consolidée

Accès à la programmation de la facturation

S3 CSV

Business

Basic

Developer

Enterprise

Offering

24x7x365 ✓

Forum Access ✓

Documentation ✓

Access to support Phone, Chat,

Email

Named Contacts 5

Fastest Response Time 1 Hour

Architecture Support Use Case

Guidance

Best Practice ✓

Diagnostics Tools ✓

Direct Routing ✓

3rd Party Software ✓

Trusted Advisor ✓

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instance Réservées

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instance Réservées

1 ou 3 ans

Paiement Initial Faible, réductions significatives du tarif horaire

Faible Coût / Prédictibilité

Permet de s’assurer de

la disponibilité de capacité

Cas d’Usage:

Applications à charge constante ou à saisonnalité prévisible

Applications nécessitant de la capacité

réservée, dont Plan de Reprise d’Activité

Instances Reservées

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instance Réservées

1 ou 3 ans

Paiement Initial Faible, réductions significatives du tarif horaire

Faible Coût / Prédictibilité

Permet de s’assurer de

la disponibilité de capacité

Cas d’Usage:

Applications à charge constante ou à saisonnalité prévisible

Applications nécessitant de la capacité

réservée, dont Plan de Reprise d’Activité

Instances Reservées

Utilisation > 80% Baise des coûts jusqu’à 58%

Cas d’usage: Bases de Données, HPC, Infrastructure Disponible

Heavy utilization RI

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instance Réservées

1 ou 3 ans

Paiement Initial Faible, réductions significatives du tarif horaire

Faible Coût / Prédictibilité

Permet de s’assurer de

la disponibilité de capacité

Cas d’Usage:

Applications à charge constante ou à saisonnalité prévisible

Applications nécessitant de la capacité

réservée, dont Plan de Reprise d’Activité

Instances Reservées

Utilisation > 80% Baise des coûts jusqu’à 58%

Bases de Données, HPC, Infrastructure Disponible

Heavy utilization RI

Utilisation ~ 41-79% Baisse des coûts jusqu’à 49%

Applications Web,multiples tâches de calculs intensifs, applications s’éxécutant la plupart du

temps (mais pas en permancence)

Medium utilization RI

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instance Réservées

1 ou 3 ans

Paiement Initial Faible, réductions significatives du tarif horaire

Faible Coût / Prédictibilité

Permet de s’assurer de

la disponibilité de capacité

Cas d’Usage:

Applications à charge constante ou à saisonnalité prévisible

Applications nécessitant de la capacité

réservée, dont Plan de Reprise d’Activité

Instances Reservées

Utilisation > 80% Baise des coûts jusqu’à 58%

Bases de Données, HPC, Infrastructure Disponible

Heavy utilization RI

Utilisation ~ 41-79% Baisse des coûts jusqu’à 49%

Applications Web,multiples tâches de calculs intensifs, applications s’éxécutant la plupart du

temps (mais pas en permancence)

Medium utilization RI

Utilisation ~ 15-40% Baisse des coûts jusqu’à 34%

Reprise d’activité, clôtures mensuelles/hebdo. BigData/Hadoop

Light utilization RI

Choix de l’instance réservée

$-

$2,000

$4,000

$6,000

$8,000

$10,000

$12,000

$14,000

$16,000

$18,000

Heavy

Medium

Light

O-Demand

Choix de l’instance réservée

$-

$2,000

$4,000

$6,000

$8,000

$10,000

$12,000

$14,000

$16,000

$18,000

Heavy

Medium

Light

O-Demand

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

Optimisation des coûts grâce aux RIs

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instances Spot

1 ou 3 ans

Paiement Initial Faible, réductions significatives du tarif horaire

Faible Coût / Prédictibilité

Permet de s’assurer de

la disponibilité de capacité

Cas d’Usage:

Applications à charge constante ou à saisonnalité prévisible

Applications nécessitant de la capacité

réservée, dont Plan de Reprise d’Activité

Instances Reservées

Instances Unix/Linux à partir de $0.02/heure

Paiement à l’usage des ressources serveur

Faible coût et flexibilité

Facturation du consommé sans engagement

initial ou contrat au long cours

Cas d’usage:

Pics d’activité fréquents, charges non-prévisibles;

Dev/Test d’Applications

Instances On-demand

Instances Spot

1 ou 3 ans

Paiement Initial Faible, réductions significatives du tarif horaire

Faible Coût / Prédictibilité

Permet de s’assurer de

la disponibilité de capacité

Cas d’Usage:

Applications à charge constante ou à saisonnalité prévisible

Applications nécessitant de la capacité

réservée, dont Plan de Reprise d’Activité

Instances Reservées

Misez sur la capacité inutilisée EC2

Le prix Spot est basé sur l’offre et la demande. Il est determiné automatiquement

Gestion dynamique des charges volumineuses

/couteuses

Cas d’usage :

Applications don’t l’heure de démarrage/arrêt est flexible

Applications efficaces uniquement si le coût de

production est faible

Instances Spot

100%

Atteindre des économies d’échelle

Time

Capacité Réservée

100%

Atteindre des économies d’échelle

Time

On

Capacité Réservée

100%

On-demand

Time

Atteindre des économies d’échelle

On

Capacité Réservée

100%

On-demand

Time

Atteindre des économies d’échelle

Spot

Si votre mise > prix spot Vous obtenez une instance

Si votre mise < prix spot Votre instance est terminée

Architecture pour instances Spot

Découplez vos composants

Séparez les traitements interactifs du backend

Servez vous de frameworks comme Elastic MapReduce

Concevez pour tenir compte des interruptions

Utilisez SQS, SWF

Placez vos données dans un service durable comme S3, SimpleDB or

DynamoDB

Sauvegardez votre avancement régulièrement

Job Flow

14 Hours

Durée:

Scenario #1

EMR et les instances Spot

#1: Coût sans Spot 4 instances *14 h * $0.50 = $28

Job Flow

14 Heures

Durée:

Scenario #1

EMR et les instances Spot

#1: Coût sans Spot 4 instances *14 h * $0.50 = $28

Duration:

Job Flow

7 Heures

Scenario #2

Job Flow

14 Heures

Durée:

Scenario #1

EMR et les instances Spot

#1: Coût sans Spot 4 instances *14 h * $0.50 = $28

Duration:

Job Flow

7 Heures

Scenario #2

#2: Coût avec Spot 4 instances *7 h * $0.50 = $14 + 5 instances * 7 h * $0.25 = $8.75

Total = $22.75

Job Flow

14 Heures

Durée:

Scenario #1

EMR et les instances Spot

#1: Coût sans Spot 4 instances *14 h * $0.50 = $28

Duration:

Job Flow

7 Heures

Scenario #2

#2: Coût avec Spot 4 instances *7 h * $0.50 = $14 + 5 instances * 7 h * $0.25 = $8.75

Total = $22.75

Gains en Temps : 50% Economies : ~22%

Le marché Spot Stratégies

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

Pou

rcen

tage

de

dis

trib

uti

on

Mises (% du prix On-Demand)

Distribution des mises (sur une période de 3 mois)

Stratégies d’achat Spot

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

Pou

rcen

tage

de

dis

trib

uti

on

Mises (% du prix On-Demand)

Distribution des mises (sur une période de 3 mois)

Stratégies d’achat Spot

Mise proche du prix horaire des

Instances Reservées

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

Pou

rcen

tage

de

dis

trib

uti

on

Mises (% du prix On-Demand)

Distribution des mises (sur une période de 3 mois)

Stratégies d’achat Spot

Mise au dessus du cours historique Spot

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

Pou

rcen

tage

de

dis

trib

uti

on

Mises (% du prix On-Demand)

Distribution des mises (sur une période de 3 mois)

Stratégies d’achat Spot

Mises autour du prix On-

Demand

0%

2%

4%

6%

8%

10%

12%

14%

16%

18%

20%

Pou

rcen

tage

de

dis

trib

uti

on

Mises (% du prix On-Demand)

Distribution des mises (sur une période de 3 mois)

Stratégies d’achat Spot

Mise au dessus du prix On-Demand

Mise proche du prix horaire des Instances Réservées

Vous ne payez que pour une heure complète

Mise proche du prix horaire des Instances Réservées

Vous ne payez que pour une heure complète (si vous êtes interrompu, vous ne payez pas l’heure courante)

Mise au dessus du prix On-Demand

Limitation des risques d’interruptions

Mise au dessus du prix On-Demand

Limitation des risques d’interruptions (vous ne payez que le prix Spot)

Mettez en place des architectures sensibles aux coûts

Passez de Spot à On-Demand en fonction des prix

Les clients Spot

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

$0.028 per hour

Web Servers

Availability Zone

Elastic Load

Balancer DNS

Web Servers

$0.065 per hour

(small instance)

Availability Zone

$0.028 per hour

Web Servers

Availability Zone

EC2 instance

+ software LB

Elastic Load

Balancer DNS

DNS

VS

SQS queue

Consumers Producer

$0.50 per

1,000,000 Requests ($0.0000005 per Request)

Producer

SQS queue

Consumers

Consumers Producer

EC2 instance

+ software queue

$0.50 per

1,000,000 Requests ($0.0000005 per Request)

$0.065 per hour

(small instance)

VS

Logiciels vs Services

Logiciels installés sur EC2

Pour: Très personnalisable

Contre:

Nécessite une instance SPOF

Limité à une AZ Administration++

Services AWS

ELB, SNS, SQS, SES, SWF, DynamoDB etc

Pour: Paiement à l’Usage

Scalabilité Disponibilité

Hautes Performances

Conclusion

Capacité élastique Types d’instances Instances réservées Instances Spot Services additionnels

Optimisation des coûts en 5 étapes

Et maintenant…

aws.amazon.com/economics

aws.amazon.com/calculator

Liens Utiles

Liens Utiles

http://aws.amazon.com/whitepapers

aws.amazon.com