Qu'est-ce que la tarification des instances Spot et dans quels cas faut-il y recourir ?

La tarification des instances Spot vous permet d’accéder à une capacité de cloud computing inutilisée à des tarifs nettement inférieurs à ceux de la tarification à la demande standard, souvent entre 70% et 90% moins chers. En contrepartie, la disponibilité est réduite : les fournisseurs de cloud peuvent récupérer cette capacité à court terme lorsque la demande augmente. Les instances Spot conviennent particulièrement aux charges de travail pouvant tolérer des interruptions, ce qui en fait un outil puissant pour les équipes qui se concentrent sur optimisation des coûts du cloud. Cet article explique le fonctionnement des cours au comptant, dans quelles circonstances il convient de les utiliser et comment se prémunir contre les risques associés.

Comment fonctionne concrètement la tarification des instances Spot ?

La tarification des instances Spot reflète l'offre et la demande en temps réel concernant la capacité cloud inutilisée dans les centres de données d'un fournisseur. Lorsque la demande d'instances à la demande est faible, les fournisseurs proposent cette capacité inutilisée à un prix très réduit. Le prix varie en fonction de la disponibilité, de la région et du type d'instance, et vous payez le prix Spot en vigueur pour chaque heure de fonctionnement de votre instance.

Sur AWS, par exemple, vous définissez un prix maximal que vous êtes prêt à payer (ou vous acceptez que le prix spot actuel serve de plafond). Si le prix spot actuel reste inférieur à votre prix maximal, votre instance continue de fonctionner. Si le prix spot dépasse ce seuil, votre instance est interrompue. Azure et Google Cloud proposent des modèles similaires sous des noms différents : les machines virtuelles Spot d’Azure et les machines virtuelles préemptibles ou Spot de Google Cloud.

La remise constitue le principal argument de vente. Les prix au comptant sont généralement inférieurs de 70% à 90% aux tarifs équivalents à la demande. Pour les charges de travail très gourmandes en ressources de calcul, cela peut se traduire par des réductions de coûts très importantes, en particulier à grande échelle. L'essentiel est de bien comprendre que vous achetez une capacité que le fournisseur peut récupérer, et non une capacité dont la disponibilité est garantie.

Pourquoi les instances Spot peuvent-elles être interrompues en cours d'exécution ?

Les instances Spot peuvent être interrompues car vous utilisez une capacité que le fournisseur de cloud ne vous a pas garantie. Lorsque d’autres clients lancent des instances à la demande ou réservées, le fournisseur a besoin de récupérer cette capacité physique. Avec AWS, vous recevez généralement un préavis de deux minutes avant l’interruption. Azure et Google Cloud proposent des délais de préavis similaires.

Il ne s'agit pas d'un bug, mais d'une caractéristique intrinsèque du modèle Spot. Le faible prix reflète le risque que vous acceptez : le fournisseur peut récupérer le matériel à tout moment. Le taux d'interruption varie en fonction du type d'instance, de la zone de disponibilité et de l'heure de la journée. Certains types d'instances ne subissent que très rarement des interruptions, tandis que d'autres font l'objet de récupérations fréquentes, en fonction des tendances de la demande dans chaque région.

Il est important de bien comprendre la fréquence des interruptions avant d'affecter une charge de travail à une instance spot. Les fournisseurs de cloud publient des données historiques sur les taux d'interruption par type d'instance et par région, ce qui vous aide à choisir des configurations présentant un risque de réaffectation moindre. La répartition des charges de travail sur plusieurs types d'instances et plusieurs zones de disponibilité permet également de réduire l'impact concret de toute interruption isolée.

Quelles charges de travail sont les mieux adaptées aux instances spot ?

Les charges de travail les mieux adaptées aux instances Spot sont celles qui sont sans état, tolérantes aux pannes ou conçues pour être sauvegardées et reprises. Si une charge de travail peut être interrompue puis redémarrée sans perte significative de progression ni provoquer de défaillances en aval, les instances Spot constituent une solution idéale. Le traitement par lots, les pipelines d’analyse de données et les tâches d’entraînement en apprentissage automatique en sont les exemples les plus courants.

Voici les types de charges de travail qui se prêtent bien aux instances spot :

  • Tâches de traitement par lots et de traitement des données qui traite les fichiers ou les enregistrements par blocs et peut reprendre à partir d'un point de contrôle
  • Entraînement des modèles d'apprentissage automatique qui enregistre les points de contrôle intermédiaires sur un support de stockage permanent
  • Rendu et transcodage multimédia lorsque les tâches individuelles sont indépendantes les unes des autres
  • Pipelines CI/CD et tests automatisés qui permet simplement de relancer une tâche ayant échoué
  • Analyse des mégadonnées en utilisant des frameworks tels qu'Apache Spark, qui gèrent nativement les pannes de nœuds
  • Robots d'indexation et tâches de scraping qui traitent les URL de manière indépendante
  • Niveaux web sans état à mise à l'échelle automatique où la perte d'une instance individuelle est gérée par l'équilibreur de charge

Le point commun est qu'aucune de ces charges de travail ne dépend du maintien en activité d'une seule instance pendant toute la durée de l'opération. Si votre charge de travail correspond à ce profil, les instances Spot peuvent réduire considérablement vos coûts de calcul dans le cloud.

Quelle est la différence entre les instances « spot », « à la demande » et « réservées » ?

La principale différence réside dans le compromis entre le coût, l'engagement et la disponibilité. Les instances à la demande vous offrent une disponibilité totale sans engagement, mais au prix le plus élevé. Les instances réservées proposent des remises importantes en échange d'un engagement d'un ou trois ans. Les instances Spot offrent les remises les plus importantes, mais sans garantie de disponibilité et avec un risque d'interruption.

Instances à la demande

La tarification à la demande correspond au tarif standard que vous payez pour la capacité de calcul, sans engagement initial. Vous pouvez démarrer et arrêter des instances quand vous le souhaitez, et vous ne payez que ce que vous utilisez. C'est le choix idéal pour les charges de travail imprévisibles, les projets à court terme ou toute situation où une interruption n'est pas acceptable. Cette flexibilité s'accompagne toutefois du coût horaire le plus élevé.

Instances réservées

Les instances réservées (ou « Savings Plans » sur AWS) vous engagent à utiliser un volume spécifique de ressources de calcul sur une période d’un ou trois ans. En contrepartie, vous bénéficiez de remises allant généralement de 30% à 60% par rapport aux tarifs à la demande. La capacité réservée est particulièrement adaptée aux charges de travail stables et prévisibles, telles que les bases de données de production, les serveurs d’applications critiques ou tout autre service fonctionnant en continu. Le risque réside dans la sous-utilisation de votre engagement si vos habitudes d’utilisation venaient à changer.

Instances Spot

Les instances Spot se situent à l'opposé du spectre des engagements. Aucun engagement, les remises les plus importantes, mais la disponibilité n'est pas garantie. Pour la plupart des entreprises, la stratégie idéale consiste à combiner ces trois types d’instances : les instances réservées pour les charges de travail de base stables, les instances à la demande pour les besoins prévisibles mais variables, et les instances spot pour une capacité de calcul flexible et tolérante aux pannes. Cette approche par couches est un principe fondamental de la pratique FinOps et vous aide à optimiser vos dépenses cloud sans sacrifier la fiabilité là où cela compte vraiment.

Comment réduire le risque d'interruption des instances Spot ?

Vous pouvez réduire le risque d'interruption des instances Spot en diversifiant vos choix entre plusieurs types d'instances et zones de disponibilité, en utilisant les notifications d'interruption pour enregistrer des points de contrôle de vos charges de travail, et en concevant vos applications de manière à ce qu'elles gèrent les redémarrages en douceur. Aucune technique ne permet à elle seule d'éliminer totalement le risque d'interruption, mais la combinaison de ces approches rend les instances Spot suffisamment fiables pour de nombreuses charges de travail proches de l'environnement de production.

Mesures concrètes pour réduire l'impact des interruptions :

  1. Tirez parti de la flexibilité des instances : Demandez un pool composé de plusieurs types d'instances présentant des profils de calcul similaires. Si l'un de ces types venait à ne plus être disponible, votre charge de travail pourrait être redirigée vers un autre.
  2. Répartis entre différentes zones de disponibilité : Les interruptions sont spécifiques à chaque zone. Le fait d'utiliser plusieurs zones signifie qu'un problème de capacité dans une zone n'entraîne pas l'arrêt de l'ensemble de votre charge de travail.
  3. Mettre en place des points de contrôle : Enregistrez régulièrement la progression dans un espace de stockage persistant (S3, Azure Blob, GCS) afin que les tâches interrompues puissent reprendre là où elles s'étaient arrêtées, plutôt que de redémarrer depuis le début.
  4. Utilisez les services ponctuels gérés : AWS Spot Fleet, la fonctionnalité AWS EC2 Auto Scaling avec des politiques d'instances mixtes et les ensembles de machines virtuelles Spot d'Azure gèrent automatiquement les interruptions et les remplacements.
  5. Surveiller les avis d'interruption : Les fournisseurs de services cloud émettent un avertissement deux minutes avant de récupérer une instance Spot. Profitez de ce délai pour fermer les connexions, enregistrer l'état du système ou déclencher un remplacement.
  6. Choisissez des types d'instances à faible risque d'interruption : Examinez les données relatives à la fréquence des interruptions publiées par les fournisseurs et donnez la priorité aux types d'instances présentant historiquement de faibles taux de récupération dans votre région cible.

Dans quels cas faut-il éviter d'utiliser des instances Spot ?

Il convient d'éviter les instances Spot pour toute charge de travail où une interruption entraînerait une perte de données, une indisponibilité du service ou des défaillances en cascade. Si le redémarrage d'une tâche depuis le début est coûteux, si la charge de travail conserve son état en mémoire ou si les utilisateurs finaux dépendent d'une disponibilité continue, les instances Spot ne constituent pas le bon choix. Les exigences en matière de fiabilité doivent toujours primer sur les économies de coûts.

Types de charges de travail à éviter sur les instances Spot :

  • Bases de données de production lorsque la perte d'une instance risque d'entraîner une corruption des données ou des interruptions de disponibilité
  • Serveurs d'applications avec état qui contiennent des données de session ou l'état en mémoire
  • Tâches de longue durée sans points de contrôle où « interruption » signifie la reprise du temps de travail
  • Services en temps réel destinés aux utilisateurs où même une brève interruption entraîne une dégradation perceptible
  • Charges de travail soumises à des exigences de conformité lorsque des accords de niveau de service (SLA) relatifs à la disponibilité sont exigés par contrat

Le principe général est que l'optimisation des coûts ne doit jamais se faire au détriment de la fiabilité pour les charges de travail dont la fiabilité est l'élément essentiel. Les instances Spot constituent un outil permettant de réduire les dépenses sur les charges de travail appropriées, et non un raccourci universel pour réduire les coûts.

Comment nous vous aidons à optimiser l'utilisation des instances Spot

Pour tirer pleinement parti des tarifs des instances Spot, il ne suffit pas de modifier un paramètre dans votre console cloud. Il faut avoir une vision claire des charges de travail qui peuvent être interrompues, de la répartition de vos coûts entre les différents types d’instances, et de la manière dont les instances Spot s’intègrent dans votre stratégie financière globale en matière de cloud.

Nos services FinOps vous aident à développer précisément cette capacité :

  • Classification de la charge de travail : Nous vous aidons à déterminer quelles sont, parmi vos charges de travail, celles qui sont réellement compatibles avec le marché spot et celles pour lesquelles le risque d'interruption est trop élevé pour être acceptable.
  • Redimensionnement des instances et optimisation de la composition : Nous analysons votre utilisation actuelle des ressources de calcul sur AWS, Azure et GCP, puis nous vous recommandons la combinaison optimale d'instances Spot, réservées et à la demande afin de réduire vos coûts sans compromettre la fiabilité.
  • Répartition des coûts et visibilité : Nous avons mis en place un système complet de répartition des coûts afin que vous puissiez voir précisément les économies que vous réalise l'utilisation du marché spot et identifier les domaines où une optimisation supplémentaire est possible.
  • Gouvernance FinOps : Nous aidons vos équipes financières, informatiques et d'ingénierie à s'accorder sur les décisions relatives aux dépenses liées au cloud, afin que les stratégies d'instances spot soient mises en œuvre de manière cohérente et évaluées à l'aune des résultats commerciaux réels.
  • Évaluation du niveau de maturité FinOps : Si vous ne savez pas exactement où en est votre entreprise en matière de gestion financière dans le cloud, nous vous proposons une évaluation visant à déterminer votre niveau de maturité actuel et les améliorations les plus rentables que vous pouvez apporter.

Si vous souhaitez transformer les économies réalisées grâce aux instances Spot, qui ne sont actuellement qu'un avantage ponctuel, en une pratique récurrente et encadrée, contactez-nous pour voir comment nous pouvons vous aider.

It's Value
Présentation de la politique de confidentialité

Ce site web utilise des cookies afin de vous offrir la meilleure expérience utilisateur possible. Les informations contenues dans ces cookies sont stockées dans votre navigateur et permettent notamment de vous reconnaître lorsque vous revenez sur notre site, ainsi que d'aider notre équipe à identifier les sections du site que vous trouvez les plus intéressantes et utiles.