FinOps - Instances réservées vs Saving Plans AWS

Cet article vous aidera à comprendre la différence entre les Instances réservées (RI) et les Saving Plans (SP) sur Amazon Web Services (AWS). Il vous aidera également à prendre la bonne décision pour vos réservations.

Matrice RIs/Saving Plans
Ce tableau est un résumé rapide de la différence entre les différentes possibilités offertes par AWS.

matrice AWS RI vs SP.jpgArbre de décision et recommandation de Claranet dans une démarche FinOps

Recommandation FinOps CCOE

Quelques éléments à prendre en compte:

  • Le rightsizing est très important et n'empêche pas de faire des réservations (small instances)

Définition :
Le rightsizing est une forme d'optimisation dans laquelle des mesures sont prises au fil du temps pour évaluer les exigences périodiques d'une charge de travail exécutée dans le cloud, et pour la faire correspondre à une ressource virtuelle qui est dimensionnée pour l'exécuter efficacement avec un minimum de gaspillage. Il est important de mesurer la demande réelle de la charge de travail par petits incréments plutôt que d'utiliser des chiffres de charge moyenne afin de s'assurer que les charges de travail nécessitant des instances plus importantes pour les pics de demande soient prises en compte. Le rightsizing peut être utilisé comme une technique de réduction des coûts, mais il doit toujours s'accompagner d'une supervision technologique.

  • La durée de l'engagement : les réservations se font sur 1 ou 3 ans. Si elles peuvent être faites, les réservations sur 3 ans offrent des réductions souvent supérieures à 50%. Cela signifie qu'après 18 mois, le coût devient aussi gratuit pour les 18 mois suivants par rapport à un engagement à la demande.
  • Paiement de l'engagement
  • Acompte total
  • Partiel-upfront
  • No-Upfront

Lorsque vous achetez des Instances Réservées, plus le paiement initial est important, plus la remise est importante. Pour maximiser vos économies, vous pouvez payer tout d'avance et bénéficier de la meilleure remise. Les RI partiels offrent des remises plus faibles mais vous permettent de dépenser moins d'argent à l'avance. Enfin, vous pouvez choisir de ne rien dépenser à l'avance et recevoir une remise moins importante, mais vous permettant de libérer du capital à dépenser dans d'autres projets.
AWS veut vendre un Saving Plan tout compris (ou RI), pour obtenir des liquidités. Mais si vous n'offrez pas de liquidités à l'avance, AWS vous prête l'argent pour acheter ce Saving Plan. La différence dans les économies totales entre une avance partielle et une avance totale est l'intérêt sur ce prêt sur 1 ou 3 ans qu'AWS facture pour obtenir la remise.

  • l'équipe technique doit être au être informée des décisions

Saving Plans
Dans une organisation AWS (facturation consolidée), les plans d'économies DOIVENT être achetés dans un compte AWS vide (sauf si vous ne voulez pas partager le SP avec d'autres comptes AWS). Habituellement, c'est le compte Root/Master mais, s'il y a des ressources en cours d'exécution qui peuvent correspondre aux Saving Plans utilisez un autre compte.
"Le problème se pose lorsqu'il y a plusieurs comptes dans une organisation AWS. Bien que les Saving Plans soient largement applicables, ils s'appliquent d'abord à TOUTES les ressources correspondantes dans le compte où elles résident, puis aux ressources bénéficiant de la remise la plus élevée ailleurs dans l'organisation AWS. Cela signifie que s'il y a des ressources avec des remises inférieures dans le compte où un plan d'économies est acheté, ces ressources seront d'abord couvertes avant d'autres ressources avec des remises supérieures, ce qui conduit à un résultat d'économies non optimal." Source

Pour aller plus loin
Saving Plans (engagement financier

Les Saving Plans AWS comportent entre trois et cinq éléments qui déterminent le prix :

  • Le type de plan - Saving Plans d'instance EC2 ou plan d'économie de calcul.
  • La durée de l'engagement - un an ou trois ans
  • Le paiement de l'engagement - tout à l'avance, une partie à l'avance ou pas d'avance.
  • La région (Saving Plans d'instance EC2 uniquement)
  • La famille d'instance (Saving Plans d'instance EC2 uniquement)

Les Savings Plans sont achetés sous forme de dépenses horaires engagées. Cela signifie que vous vous engagez à dépenser au moins XX$/heures de calcul et si vous dépensez plus que ce prix, vous payez la différence aux tarifs On-Demand.
"Pour récompenser cet engagement, AWS applique une réduction sur le prix On Demand(ex : m5.large On-Demand rate $0.107 - Saving PlanRate $0.067).

Exemples simples :

Vous voulez acheter un saving plan pour 3 instances courantes m5.large(rappel : m5.large On-Demand rate $0.107 - Saving PlanRate $0.067)
Sans saving plan 0,107 * 3 = 0,321 $/heure = 231,12 $/mois

Avec une couverture complète de l'engagement du saving plan de 0,3 $/heure :
0,067 * 3 = 0,201 $/heure = 144,72 $/mois # et 0,099 $/heure(70,56 $/mois) reste disponible pour les autres instances en cours d'exécution.

Avec un engagement de couverture du saving plan partiel de 0.134 $/heure :
(0,067 * 2) + 0,107 = 0,241 $/heure = 173,52 $/mois # Seules 2 instances sont couvertes par le saving plan. La dernière instance sera facturée au prix de l'utilisation à la demande.

Avec un engagement de saving plan partiel (plus petit) de 0,10 $/heure :
0.10/0.067 = 1.49 #Comme 0.10 ne couvre pas 2 instances nous avons appliqué un tarif
(1,49 * 0,067) + (0,51 * 0,107) + 0,107 = 0,2614 $/heure = 188,208 $/mois

La remise appliquée est variable en fonction des paramètres de l'instance (OS/Tenancy/Famille/Taille/Région).
Exemple : en eu-west-1 pour une instance Linux, tenant partagé, pas d'up-front, durée 1 an :

Comme vous pouvez le constater, la remise est 5% plus importante pour les instances m5 par rapport aux m4. Vous pouvez donc optimiser, un peu plus, la remise de vos saving plans en sélectionnant les instances les mieux remisées.
Par ailleurs, par défaut, lorsque AWS applique des saving plans, il prend d'abord les ressources avec le pourcentage de réduction le plus élevé (à égalité, il prend celles avec le taux de réduction le plus faible).
Disons que vous avez 5 m5.large et 5 m4.large mais que votre engagement horaire (XX $/heure) ne peut couvrir que 6 instances. AWS réduira les 5 m5.large et 1 m4.large et les autres seront facturées au tarif On-Demand.

SP versus On Demand.png

Il existe deux types de Savings Plans , les "Compute Savings Plans" et les "EC2 Instance Savings Plans".

Bon à savoir : factures calculées avec les Saving Plans
Les Saving Plans s'appliquent à votre utilisation après l'application des Instances Réservées (IR) Amazon EC2.
Vos Saving Plans actuels sont regroupés et appliqués à l'utilisation éligible. Les Saving Plans des instances EC2 sont appliqués avant les Compute Saving Plans car ces derniers ont une applicabilité plus large.
Dans une famille de facturation consolidée, les Saving Plans sont d'abord appliqués à l'utilisation du compte propriétaire, puis à celle des autres comptes. Cela ne se produit que si vous avez activé le partage.
Nous calculons vos pourcentages d'économies potentielles pour chaque combinaison d'utilisation admissible. Ce pourcentage compare les tarifs des plans d'épargne à vos tarifs actuels à la demande. Vos plans d'épargne sont appliqués d'abord à votre pourcentage d'épargne le plus élevé. S'il y a plusieurs utilisations avec des pourcentages d'économies égaux, les Saving Plans sont appliqués à la première utilisation avec le taux de Saving Plans le plus bas. Les Saving Plans continuent de s'appliquer jusqu'à ce qu'il n'y ait plus d'utilisations restantes ou que votre engagement soit épuisé. Toute utilisation restante est facturée aux tarifs à la demande.

Compute Savings Plan
Les Compute Savings Plans offrent plus de flexibilité, mais une réduction moins importante - jusqu'à 66 % par rapport aux tarifs On Demand. Les plans peuvent être appliqués aux instances EC2, aux services AWS Fargate et aux services AWS Lambda dans n'importe quelle région, dans n'importe quelle famille d'instances et entre les services (si, par exemple, les workloads de conteneurs exécutés sur Amazon ECS sont déplacés vers le service Fargate).

EC2 Instance Savings Plan
Les EC2 Instance Savings Plan permettent de réaliser jusqu'à 72 % d'économies par rapport aux tarifs à la demande, en fonction de la durée de l'engagement, de l'option de paiement utilisée et de la famille d'instances. Ce plan ne peut être appliqué qu'aux instances EC2 d'une famille d'instances spécifique dans une région spécifique (par exemple, les instances EC2 M5 en Virginie du Nord), mais il continuera à s'appliquer si la taille des instances, les systèmes d'exploitation ou les tenants sont modifiés.

Instances réservées (engagement d'utilisation)
Lorsque vous achetez une Instance Réservée, vous pouvez choisir entre une classe d'offre Standard ou Convertible. L'Instance Réservée s'applique à un seul type d'instance, à une seule plate-forme, à une seule portée et à une seule location sur une période donnée.

Huit éléments déterminent le prix d'une Instance Réservée :

  • Plate-forme (par exemple, Linux)
  • Type d'instance (par exemple, m4.large)
  • Scope (par exemple, zone régionale ou zone de disponibilité)
  • Réseau (par ex. nuage privé virtuel ou classique)
  • Tenant (par exemple, dédiée)
  • Durée (généralement 1 ou 3 ans, bien que des durées variables puissent être trouvées sur le marché des instances réservées d'Amazon)
  • Type d'offre de réservation (par exemple, pas d'avance)
  • Classe de réservation (par exemple, convertible ou standard)

RI standard
Les RIs standards peuvent être modifiés de la manière suivante :

  • Basculer entre une Region et une zone de disponibilité
  • Passer d'une zone de disponibilité à une autre pour les réservations portant sur une zone spécifique au sein d'une même région
  • Basculer entre EC2 classique et Virtual Private Cloud
  • Modification de la taille de l'instance au sein d'une même famille.

RI convertible
Les RI convertibles sont beaucoup plus flexibles que les RI standards. Vous pouvez les échanger contre une RI standard, mais vous pouvez en plus :

  • Echanger contre un nouveau type d'instance
  • Echanger contre un nouveau système d'exploitation
  • Echanger contre un tenant différent
  • Echanger contre une taille d'instance différente

Article initialement paru en anglais, à retrouver sur Medium.

En savoir plus sur les services FinOps