De nombreux clients choisissent AWS parce qu'ils ont besoin d'une plate-forme hautement fiable, évolutive et compétitive sur laquelle exécuter leurs applications. Le fait qu’avec AWS vous ne payez que ce que vous consommez et vous bénéficiez de fréquentes baisses de prix, ne sont que la première étape vers une optimisation globale des coûts. Dans cette session, vous apprendrez à utiliser quelques outils de monitoring simples permettant d’assurer le suivi et la gestion de l’utilisation de vos ressources AWS. Vous découvrirez également un ensemble de fonctions innovantes permettant d’opérer à moindre coût : Trusted Advisor, rapports d'utilisation, alertes de facturation, détection des ressources inactives, Auto Scaling pour Amazon EC2, instances Spot et réservées.
Track 3 - Atelier 1 - Optimisation des coûts avec AWS
1. Xavier Prélat
Optimisez vos applications et votre usage
AWS pour réduire les coûts.
Business Development
Thibaud Cainne
CTO, Allociné
Invité
2. Agenda
• Objectif
– Présenter les différentes manières d’optimiser le coût de votre application AWS
• Idée générale : Adapter l’usage du cloud à son produit et à son “business model”
– Utilisez selon vos besoins (et ne payez que pour ce que vous utilisez)
– Assurez le suivi de votre application et des ressources
– Opérez des mises à l’échelle opportunistes
• Cas client : Thibaud Cainne pour Allociné.
4. Mise à l’échelle à la demande
Ressources contraintes sur site
Gaspis
Insatisfaction
Clients
Demande réelle
Demande prévue
Capacité
Durée
Ressources élastiques dans le cloud
Demande réelle
Ressource mise à l’échelle/demande
Capacité
Durée
VS.
5. Utilisez les ressources selon vos besoins : opportunités de
réduction des coûts AWS
• Dimensionnez avec justesse vos ressources cloud
– Utilisez selon vos besoins (type d’instances, options de stockage, etc..)
– Améliorez la performance : réduire le ‘churn’, la sous utilisation, goulot d’étranglement
– Diminuez vos coûts : ne payez pas la performance dont vous n’avez pas besoin
• Adaptez votre modèle de paiement à votre business model
– Valorisez-vous la flexibilité ou la prédictibilité ?
– Exploitez l’ensemble des possibles
• Mesurez et gérez votre application et vos ressources dans le cloud
– Assurez le suivi de vos applications afin d’identifier des opportunités de réduction de
coût.
6. Dimensionnez vos ressources cloud avec justesse:
Amazon EC2
• Un type d’instance pour
chaque usage
• Identifiez vos besoins
mémoire et CPU
– Adaptez l’application
à la ressource
– Adaptez la ressource
à votre application
• N’utilisez une instance
plus large que lorsque
vous en avez vraiment
besoin
7. Optimisez aussi le stockage: Amazon S3 & Glacier
• Amazon S3 et Glacier sont :
– Sécurisés
– Flexibles
– Bon marché
– Scalables: plus de 1300 milliards d’objets à ce jour
– Durables: 99.999999999% (11 “9”s)
Amazon
Glacier
8. Choisir entre Amazon S3 et Glacier
• Amazon Simple Storage Service (S3)
– Conçu pour délivrer du contenu statique : accès fréquent, très haut volume et faible
latence.
– Bon marché : démarre à $5.5¢ par GB/mois (ou 3.7¢ en redondance réduite)
• Amazon Glacier
– Conçu pour le stockage à froid long terme : accès non fréquent, durée de récupération
comprise entre 3h et 5h
– Très bon marché : $1¢ par GB/mois
• Astuces:
– Optimiser l’accès: limiter la taille du payload, le nombre d’accès
– Identifier les patterns d’accès / croissance d’usage non prévus : ex archives logs
configurés
– Définir des politiques de durée de vie : dates d’expiration des objets, archivage
automatique S3 > Glacier.
Illumina, leader dans la fourniture d’outils de séquençage ADN, utilise
Glacier pour stocker des données génomiques à travers le monde
9. Adaptez votre modèle de paiement à votre business model :
pricing EC2
On-Demand
Instances
Reserved
Instances
Spot
Instances
“Pay as you go”
Taux horaire fixe, Pas d’engagement
up-front
Paiement up-front pour disposer
d’une capacité de réservation et Taux
horaire réduit (jusqu’à 72%
d’économie)
Durée : 1 An ou 3 Ans
RI Marketplace: Vendre les RIs non
utilisées, acheter des Ris à prix
discount
Payer ce que vous voulez ! Pour de la
capacité EC2 en excès : Votre instance
s’exécute tant que votre “Bid” est au
dessus du prix Spot
Grande echelle à faible coût.
Permet d’accéder à des 1000s
d’instances spot jusqu’à 90% de
réduction
10:00
10:05
10:10
10:15
10. Combinez les différents modèles de paiement
Par exemple :
Applications frontend
Sur On-Demand/Reserved Instances
+
Applications* backend
sur Spot Instances
* e.g., batch video transcoding
11. Reserved Instance Marketplace: Achetez et vendez vos RIs
• Bénéfices pour les acheteurs :
– Infrastructure hardware EC2 identique
– Achat de RIs à un prix discounté / prix AWS
– Plus large sélection de durées
d’engagements et de de prix
• Bénéfices pour les vendeurs :
– Adresser une nouvelle région AWS
– Changer de type d’instance
– Changer de système d’exploitation
– Vendre la capacité quand le projet se termine.
12. Assurez le suivi de votre application et
de vos ressources
Mesurez et gérez vos ressources
13. Vue d’ensemble des services AWS de monitoring et de management
• Outils AWS de monitoring et de management
– Consolidated Billing (voir “Account Activity” menu navigation)
– CloudWatch (dans la console AWS)
– Billing Alerts (voir “Account Activity” menu navigation)
– Trusted Advisor (voir “Support Center”)
– autres APIs: tags, access prog., etc.
• Services et applications tiers sont également disponibles
14. Facturation consolidée : “payeur” unique d’un groupe de comptes
• Une facture pour plusieurs
comptes
• Suivi détaillé facilité (ex.
fichier CSV détaillé des coûts)
• Possibilité de grouper les
activités par groupe (ex, Dev,
Stage, Test, Prod)
• Réduction en volume sont
plus rapidement accessibles
par consolidation des usages
• Les Instances Réservées sont
partagées entre les comptes
• Les crédits AWS se combinent
et réduisent la facture globale
17. Facturation consolidée (3/3)
• Possibilité de rentrer dans le
détails de consommation de
chaque compte
• Mise à disposition d’un fichier
CSV contenant l’ensemble des
détails de facturation pour une
analyse plus détaillée
18. Amazon CloudWatch
• Présentation
– Monitoring de vos ressources cloud et de vos applications AWS
• Ressources AWS: EC2, RDS, EBS, ELB, SQS, SNS, DynamoDB, EMR, Auto Scaling, …
• Mettre en place des métriques personnalisées pour votre application (via Put API call)
– Définir des alarmes et des notifications et réagir instantanément
– Cloudwatch se met en place en quelques minutes et grandit avec votre application
• Automatisation plus sophistiquée
– Utilisation des métriques CloudWatch avec l’Auto Scaling pour mettre à l’échelle vos
instances EC2
19. Utilisez CloudWatch pour monitorer et gérer l’usage de vos
ressources
• Monitorez votre utilisation des ressources
– Utilisez vous le bon type d’instance ?
– Avez vous laissé des instances idle ?
– Votre usage est il habituel ou exceptionnel ?
• Gérez votre utilisation des ressources
– Déplacez les charges de types Burst vers
d’autres instances
– Ré-équilibrez vos “worker nodes”
– Mise à l’échelle automatiquement via Auto
Scaling
20. Utilisez CloudWatch pour créer vos Billing Alerts
• Les Billing Alerts vous notifierons lorsque les coûts estimés franchissent un seuil
• Les Billing Alerts peuvent être appliquées à un développeur individuel ou à une
équipe entière
• Définir une “billing alarm” est simple:
21. Trusted Advisor: Suivi et Optimisation
• Assure le suivi et
recommande des
optimisations concernant:
– Le coût
– La sécurité
– La tolérance de panne
– La performance
• Disponible à tous les clients
des offres “Business” et
“Enterprise” du support
AWS
http://aws.amazon.com/premiumsupport/trustedadvisor/
26. Time-to-Result cas 1: Faire plus avec moins.. plus vite!
Exemple :
Simulation engineering
Délais perte de
productivité, projet
décalé
27. Time-to-Result cas 2: traitement par contrainte
Exemple :
Tests de régression en
week-end.
Délais
Impact minimal jusqu’à
lundi matin 8h
28. Considérer les Instances Spot pour aller plus loin
• Spot en un clin d’œil
– Instances Spot s’exécutent lorsque votre “Bid” ≥ Prix Spot
– Instances Spot = capacité disponibles/restantes des instances EC2
– Instances Spot peuvent être interrompues à tout instant
• Bénéfices
– Economie: jusqu’à 90% / On-demand
– Echelle : Accéder à des 1,000s d’instances EC2
• Pour utiliser Spot:
– Définir un “bid price”
– Lancer les instances via la console, l’API ou l’Auto Scaling
– Suivi le statut des “Bid” via Console/API
29. Quelles applications sont adaptées à Spot?
• Une bonne application Spot est:
– Décalable dans le temps : pour équilibrer SLA et coûts
– Scalable: “massivement parallèle”
– Tolérante à la panne: peut être interrompue sans risque
– Mobile entre les régions, Azs, types d’instances
• Exemples:
– MapReduce (Hadoop, Amazon EMR)
– Calcul scientifique(simulations Monte Carlo)
– Batch Processing (video transcoding)
– Modélisation financière (backtesting d’algo trading / high-frequency)
– Et beaucoup d’autres…
Lucky Oyster: 3.4 milliards de pages web, créant un index de
400M d’entrées en 14 heures pour $100 (>85% d’économie)!
31. • Auto Scaling dimensionne votre cluster selon seuils et calendriers
• S’intègre avec les métriques collectées par CloudWatch
• Auto Scaling permet :
– D’améliorer l’expérience client et la performance de l’application
– De maximiser l’usage des CPU/IO/MemoireOpt
– D’optimiser d’autres métriques
Utilisez l’Auto Scaling pour effectuer la mise à l’échelle de
votre application
Scale with Real-Time Demand
33. Follow the Money vs. Follow the Customer
• Optimiser l’utilisation
– Mise à l’échelle sur la base des métriques d’usage : CPU, memory, requests,
connections, …
• Optimiser le prix payé
– Mise à l’échelle avec des Instances Spot quand les prix sont bas
– ex, faire tourner des batchs en dehors des périodes de pic (nuits, week-end..)
34. Follow the Money vs. Follow the Customer
• Optimiser l’expérience utilisateur grâce à l’ Auto Scaling
• Exemple 1: Adapter les ressources pour répondre à la demande client
– Service de vidéo à la demande répond aux sollicitation de requêtes
– Une émission TV “allume” les ressources AWS juste avant l’heure d’antenne et les
“éteint” dès la fin de l’émission
• Exemple 2: Adapter les ressources pour être spécifique et réactif
– Une moteur de recherche de contenu scientifique adapte son infrastructures en
fonction du nombre de documents à traiter.
– 10 instances en attente et jusqu’à +5,000 pour s’assurer un temps de traitement
minimal
35. Exemples de réduction de coûts
Réaliser des économies substantielles en profilant votre application
Base Case Exemples d’économies
Vous faites tourner 10
m3.2xlarge
On-Demand 24x7:
10 instances
X $1.00/inst-hours
X 24 hours/day
X ~30.5 days/month
= $7,320/month
Les instances tournent 100% du temps, indéfiniment:
10x 3-yr Heavy RIs @ 100% Utilisation
= $2,731/month (63% savings)
En considérant des RI et des On Demand :
4x 3-yr Heavy RIs @ 100% Utilization
4x 3-yr Light RIs @ 15% Utilization
2x On-Demand @ 5% Utilization
= $1,843/month (75% savings)
Si on scale les instances de 2 à 10 pendant le primetime TV (18h-23h,
Lundi à Vendredi):
2x 3-yr Heavy RIs @ 100% Utilization
8x 3-yr Light RIs @ 15% Utilization
= $1,683/month (77% savings)
Si on utilises 40 Instances Spot 25% du temps:
= $840/month (89% savings)
38. 38
In a nutshell …
AlloCine is the leading entertainment platform worldwide
3rd largest movies and TV series information
platform in the world (#2 excluding English-
speaking countries)
Present in 7 countries
43m monthly unique visitors(1)
More than 41m video views per month
Undisputed leader in France and “glocal” strategy
yielding leading positions in Germany, Brazil and
Turkey by replicating the successful French model
adapted to each country’s specificities
Content available on every device and growing fast
on mobile
iOS, Android, WP8, Blackberry, connected TV,
Xbox
2.8m mobile unique users as of January 2013
More than 7 million downloads of the mobile
application since 2009 (iOS and Android)
Close relationships with the cinema industry
100% of movie releases use AlloCine as an
advertising launching platform
100% of domestic showtimes – unique extranet
that connects AlloCine with 90% of its exhibitors
More than 5,000 movies have used AlloCine’s
platform for promotion over the last 15 years
(1) Source: Comscore, January 2013 (including Russia)
40. 40
A global and scalable technological platform
Home made, tailor-made and agile
In-house front-office, back-office and architecture
IT team of 21 people complemented by a team of
10 outsourced professionals
Looking for maximum efficiency: only 30
optimized servers
Same platform for all AlloCine websites, one generic
code adaptable to local country’s specificities
Best of two worlds: Microsoft (last C#.NET technologies)
and Open-Source for high scalability, caching and
performance
Global and scalable architecture thanks to an extensive
use of CDN with the following benefits:
• Acceleration and caching
• Peak management
• Low investment required
Paris
New York Istanbul
Scalable and agile platform for all AlloCine websites
48. Conclusion (1):
Adaptez votre usage du cloud à votre produit et à votre business model
• Utilisez uniquement ce dont vous avez besoin
• Suivez les métriques et “gérez” votre usage
• Ajustez la capacité de facon opportuniste
49. Conclusion (2) :
Servez-vous du cloud pour créer de nouveaux produits, lancer de
nouvelles initiatives et expérimentez des nouveaux business model
Sur site
• Echec est couteux
• Expérimentations
peu fréquentes
• Moins d’innovation
Cloud optimisé
• Pas d’impact financier
en cas d’échec
• Possible
d’expérimenter
souvent
• More Innovation