Cloud & DevOps

Fargate, Cloud Run, Azure Container Apps : lequel vous facture le moins ?

Amazon, Google et Microsoft louent la même chose de trois façons. C'est le compteur de facturation, pas la fiche technique, qui décide votre facture.

Editorial Team / /8 min de lecture
Un ingénieur travaillant sur un ordinateur portable dans une salle serveurs

Deux équipes peuvent faire tourner la même petite application dans le cloud et recevoir, à la fin du mois, des factures qui varient du simple au décuple. Même code, mêmes visiteurs, même résultat à l’écran. L’écart vient d’une seule décision que la plupart des comparatifs enterrent sous une longue liste de fonctionnalités : sur quel compteur l’hébergeur fait tourner votre application.

Amazon, Google et Microsoft vendent chacun leur version du même confort. Vous leur confiez votre application empaquetée sous forme de conteneur — une boîte scellée qui contient votre programme et tout ce dont il a besoin pour fonctionner — et ils la font tourner à votre place, pour que vous n’ayez jamais à louer ni à surveiller vous-même un serveur. La version d’Amazon s’appelle Fargate, celle de Google Cloud Run, celle de Microsoft Azure Container Apps. Sur la brochure, elles paraissent presque interchangeables. Sur la facture, elles ne le sont pas, car chacune compte ce que vous devez dans une unité différente.

Cette différence de comptage, c’est toute l’histoire, et c’est la partie qui dure. Les prix bougent chaque année, mais la façon dont chaque plateforme vous compte ne bouge presque pas. Accordez le compteur à l’usage réel de votre application, et la facture se règle plus ou moins toute seule.

Trois compteurs, pas trois fonctionnalités

Imaginez une location de voiture. Une agence vous facture à la journée, que la voiture sorte du garage ou non. Une autre facture à la minute et arrête le compteur dès que vous vous garez. Les voitures sont identiques. C’est le compteur qui décide ce que vous payez. Les plateformes cloud fonctionnent pareil.

Fargate facture à l’heure. Vous indiquez à Amazon la puissance de calcul dont votre application a besoin, et il facture cette réservation pour chaque heure où l’application est allumée, qu’elle travaille ou qu’elle tourne à vide. Le compteur se moque de savoir si votre application a servi un visiteur ou un million pendant l’heure écoulée. Vous payez la réservation, pas le travail.

Page produit AWS Fargate — calcul serverless pour conteneurs

Cloud Run facture à la seconde, et tombe à zéro quand personne n’utilise votre application. Une requête arrive, l’application se réveille, la sert, et vous ne payez que ces secondes-là. Quand l’application reste au repos, elle ne vous coûte rien. Cette extinction automatique jusqu’à zéro est précisément ce que les deux autres ne vous offrent pas gratuitement.

Page produit Google Cloud Run — facturation à la seconde, vous ne payez que lorsque votre

Azure Container Apps facture à l’événement. Il peut rester en sommeil et se réveiller à l’instant où une tâche atterrit dans une file d’attente de travaux, puis ne facturer que le temps de les traiter. Comme Cloud Run, il sait aussi retomber à zéro entre deux salves. Il est pensé pour du travail qui arrive sous forme de file d’attente plutôt que de visiteurs web.

Page produit Azure Container Apps — exécuter des applications et agents modernes sur des c

La seule question qui désigne un gagnant

La vraie question n’est pas de savoir quelle plateforme est la meilleure dans l’absolu. C’est de savoir quelle forme a votre trafic, car chaque compteur récompense une forme différente.

  • Trafic régulier, occupé toute la journée : la réservation à l’heure est la moins chère, parce qu’il n’y a aucun temps mort à gaspiller. C’est le terrain de jeu de Fargate.
  • Trafic en dents de scie, calme la plupart du temps avec des pics soudains : le compteur à la seconde qui retombe à zéro l’emporte, parce que vous cessez de payer dès que la ruée s’arrête. C’est là que Cloud Run fait des merveilles.
  • Du travail qui arrive comme une file de tâches plutôt que comme des visiteurs en direct : le compteur à l’événement gagne, parce qu’il se réveille sur la file elle-même sans que vous ayez à construire le déclencheur. C’est l’atout d’Azure Container Apps.

Remarquez qu’aucun de ces choix ne s’est joué sur une comparaison de fonctionnalités. C’est la forme du trafic et le compteur qui ont tranché.

Ce que l’écart donne en argent réel

Prenez une application modeste et faites-la tourner à plein régime, vingt-quatre heures sur vingt-quatre. Sur le compteur à l’heure, elle coûte une somme stable et prévisible, quelques dizaines d’euros par mois. Sur les compteurs à la seconde, sans aucun temps mort à sauter, les secondes s’accumulent et aboutissent à peu près au même montant. Pour une application qui ne se repose jamais, les trois compteurs font match nul, et celui à l’heure gagne sur la prévisibilité — une qualité que les services financiers valorisent davantage qu’une économie qui ne se montre jamais.

Faites maintenant tourner la même application de sorte qu’elle ne soit vraiment occupée qu’environ une heure sur vingt, et au repos le reste du temps. Le compteur à l’heure facture toujours la réservation complète, parce que l’application est restée allumée tout du long. Les compteurs à la seconde qui retombent à zéro ne facturent, eux, que la tranche active, environ un dixième du coût, et parfois rien du tout une fois décomptée l’enveloppe gratuite mensuelle de chaque plateforme. Même application, même code, un écart d’un facteur dix, décidé entièrement par le compteur qui a rencontré le trafic. Cette seule inversion — ni la puissance graphique, ni la vitesse de démarrage — c’est là qu’est vraiment l’argent. C’est cette même habitude de surveiller le coût à l’usage que notre guide pour réduire la facture AWS Lambda applique un cran plus bas dans la pile.

Lequel choisir, en un coup d'œil Lequel choisir, en un coup d’œil

Le piège : vous choisissez rarement le compteur librement

En théorie, les trois font tourner exactement le même conteneur, donc vous pourriez déplacer votre application de l’une à l’autre comme on échange une voiture de location. En pratique, vous ne le faites presque jamais, et c’est la partie à comprendre avant de choisir.

Le compteur avantageux est boulonné au reste de son cloud. La valeur de Fargate n’apparaît qu’une fois votre application installée parmi les autres services d’Amazon ; celle de Cloud Run, une fois installée parmi ceux de Google ; celle de Container Apps, parmi ceux de Microsoft. Si votre entreprise garde ses données et ses outils chez Amazon, faire tourner un morceau chez Google revient à payer pour faire transiter les données entre deux clouds et à recâbler les connexions qui rendaient l’option économique agréable au départ. La version honnête de la décision est donc celle-ci : choisissez le compteur qui correspond à votre trafic, à l’intérieur du cloud où vous vivez déjà. Accordez ces deux-là et le choix se fait tout seul.

Lequel, en une ligne chacun

Choisissez Fargate pour une application qui tourne à plein régime toute la journée à l’intérieur du cloud d’Amazon. Elle paie sa réservation à l’heure une fois pour toutes, la facture est prévisible à l’euro près, et elle se glisse à côté du reste de votre installation Amazon sans nouvelle tuyauterie.

Choisissez Cloud Run pour une application qui reste calme et se réveille par salves à l’intérieur du cloud de Google. Le compteur qui retombe à zéro est automatique, un petit service peut tourner pour le prix d’un café ou gratuitement, et une application occupée un vingtième de la journée paie pour un vingtième de la journée.

Choisissez Azure Container Apps pour du travail qui arrive comme une file de tâches à l’intérieur du cloud de Microsoft. Il se réveille tout seul sur la file, ce qui vous épargne le câblage supplémentaire que les deux autres vous obligent à construire pour le même comportement.

La décision n’a jamais été de savoir quelle plateforme est objectivement la meilleure. C’est de savoir quel compteur de facturation correspond à votre trafic, à l’intérieur du cloud où vous tournez déjà. Réglez ces deux questions, et tout le reste n’est que détail.

Questions fréquentes

Cloud Run est-il moins cher que Fargate ?

Cela dépend entièrement de la forme du trafic. Pour une application occupée seulement une partie de la journée, Cloud Run est souvent moins cher d’un facteur dix environ, parce qu’il cesse de facturer quand personne ne se sert de l’application, tandis que Fargate continue de facturer sa réservation. Pour une application qui tourne à plein régime toute la journée, les deux font à peu près match nul, et la facture à l’heure prévisible de Fargate l’emporte souvent. Il n’y a pas de plateforme moins chère en soi, seulement un compteur moins cher pour un usage donné.

Fargate cesse-t-il un jour de facturer quand mon application est au repos ?

Pas de lui-même. Une fois une application Fargate allumée, elle reste allumée et continue de facturer jusqu’à ce que vous l’éteigniez, même à trois heures du matin sans le moindre visiteur. Vous pouvez construire vous-même une extinction automatique, mais c’est une tuyauterie que vous devez assembler. Cloud Run et Azure Container Apps retombent à zéro automatiquement, et c’est la raison de fond pour laquelle ils gagnent sur un trafic calme et en dents de scie.

Lequel est le meilleur pour des tâches qui arrivent en file d’attente ?

Azure Container Apps, quand vous êtes déjà sur le cloud de Microsoft. Il peut se réveiller à l’instant où une tâche atterrit dans la file et se rendormir quand la file se vide, sans que vous ayez à construire le déclencheur. Fargate et Cloud Run savent faire un travail similaire, mais vous devez câbler vous-même ce réveil-sur-file au lieu de l’obtenir d’emblée.

Puis-je éviter d’être enfermé dans un seul cloud ?

L’application elle-même est portable, puisque les trois font tourner le même conteneur standard ; le programme n’est donc pas le piège. L’enfermement, c’est la tuyauterie autour — les connexions aux bases de données propres à chaque cloud, à son système d’identité, à ses sources d’événements. Faites tourner l’un des trois hors de son cloud d’origine et vous payez pour déplacer les données par-dessus la frontière, tout en perdant les intégrations qui justifiaient le choix. La portabilité de la boîte est réelle ; celle des économies ne l’est pas.

Qu’est-ce qu’un « démarrage à froid », et est-ce que ça compte ?

Un démarrage à froid, c’est la courte attente pendant laquelle une application retombée à zéro se réveille pour servir sa première requête après une période de calme. Cloud Run se réveille le plus vite, souvent en moins d’une seconde ; Azure Container Apps prend quelques secondes ; Fargate est le plus lent, des dizaines de secondes, parce qu’il reconstruit une machine isolée toute neuve à chaque fois. Pour la plupart des applications, c’est invisible. Cela ne compte que pour des pics soudains et peu fréquents où le tout premier visiteur ne doit pas être laissé à attendre, et là, le réveil rapide de Cloud Run est la raison de le préférer.


Photo : Christina Morillo / Pexels

#cloud#containers#serverless#finops#aws