Tarification pour Code Engine

IBM Cloud® Code Engine se distingue des technologies de cloud traditionnelles en ne vous facturant que les ressources que vous utilisez. Votre facturation dépend de la mémoire et de l'UC consommées par vos charges de travail, ainsi que des appels HTTP entrants. Si la mise à l'échelle de votre application correspond à 0 ou que votre travail ou génération n'est pas en cours d'exécution, vous ne consommez pas de ressources et vous n'êtes donc pas facturé.

Code Engine inclut un niveau gratuit qui vous permet d'essayer Code Engine avant de vous engager.

Vous êtes facturé pour les entités suivantes :

Des entités comme des projets n'entraînent pas de frais mais sont utilisées en tant que dossiers pour vos entités. Des entités comme les secrets, les liaisons ou les abonnements n'entraînent pas de frais mais sont incluses dans les limites globales de votre projet. Pour plus d'informations, voir Limites et quotas pour Code Engine.

Les coûts présents dans cette rubrique sont fournis à titre indicatif et ne représentent pas les coûts réels. Vous pouvez les utiliser comme point de départ pour évaluer les coûts engagés dans des environnements dotés de configuration comparable. Les coûts réels peuvent varier en fonction de la zone géographique. Pour les prix les plus récents, voir Code Engine pricing.

Tarification des applications

Lorsque vous déployez une application, des frais s'appliquent pour les demandes HTTP et les ressources d'UC et de mémoire consommées par les instances actives de l'application. Les appels HTTP entrants sont facturés en fonction du nombre d'appels HTTP reçus par votre application. Par exemple, si votre application prend en charge 100 appels, 100 appels HTTP vous sont facturés. Le trafic HTTP interne d'un projet entre vos charges de travail est exclu du nombre total d'appels HTTP facturables.

Par exemple :

  • Si vous créez une application Code Engine avec 2 Go (gigaoctets) de mémoire, 1 UC virtuelle et une mise à l'échelle d'instance minimale et maximale égale à 1, 1 UC virtuelle et 2 Go vous sont facturés au bout d'une heure,.
  • Si vous définissez ensuite une mise à l'échelle d'instance maximale égale à 2 et que votre application reçoit suffisamment de demandes pour passer à une mise à l'échelle de 2, la facturation est basée sur (number of instances) x (number of virtual CPUs) = 2 UC virtuelles et 4 Go par heure.

Pour prendre connaissance des combinaisons de mémoire et d'unité centrale valides, voir Combinaisons de mémoire et d'unité centrale prises en charge.

Notez que le temps nécessaire pour extraire votre image ou pour la générer à partir du code source est inclus dans le temps facturable.

Tarification des travaux

Lorsque vous exécutez un travail, des frais s'appliquent pour les ressources d'UC et de mémoire consommées par le travail lors de son exécution. Vous n'êtes pas facturé pour la configuration de votre travail.

Par exemple :

  • Si vous créez un travail pour traiter des informations provenant d'IBM Cloud Object Storage avec une instance de travail, qu'il s'exécute pendant une heure et qu'il utilise 4 Go de mémoire, vous êtes facturé pour 1 UC et 4 Go par heure.
  • Si vous adaptez le même travail à 4 instances et qu'il se termine en 15 minutes, vous êtes facturé pour 4 vCPU et 16 GB pour .25 heures.

Pour prendre connaissance des combinaisons de mémoire et d'unité centrale valides, voir Combinaisons de mémoire et d'unité centrale prises en charge.

Notez que le temps nécessaire pour extraire votre image ou pour la générer à partir du code source est inclus dans le temps facturable.

Tarification des fonctions

Lorsque vous déployez une fonction, des frais sont appliqués pour les demandes HTTP et pour les ressources de CPU et de mémoire qui sont consommées par les instances de la fonction. Les appels entrants HTTP sont facturés en fonction du nombre d'appels HTTP reçus par votre fonction. Par exemple :

  • Si votre fonction sert à 100 appels, vous êtes alors facturé pour 100 appels HTTP. Le trafic interne HTTP au sein d'un projet Code Engine entre vos charges de travail est exclu du total des appels facturables HTTP.
  • Si vous créez une fonction Code Engine avec 2 Go de mémoire et 0.5 UC virtuelle, après 600 appels (en supposant que chacun nécessite 6 secondes pour terminer le résultat), vous êtes facturé pour 0.5 vCPU heure et 2 Go d'heures.

Pour prendre connaissance des combinaisons de mémoire et d'unité centrale valides, voir Combinaisons de mémoire et d'unité centrale prises en charge.

Le temps nécessaire à l'extraction de votre paquet de codes ou à sa construction à partir du code source est inclus dans le temps facturable.

Tarification de la flotte

Lorsque vous exécutez une flotte, les frais ne s'appliquent qu'au CPU, aux ressources mémoire et éventuellement aux ressources GPU, qui sont consommés pendant l'exécution de la flotte.

Pour chaque flotte que vous exécutez, vous pouvez choisir d'autoriser Code Engine à déployer des nœuds de travail pour répondre aux besoins en ressources de la flotte, ou vous pouvez choisir de déployer un profil de nœud de travail spécifique que vous spécifiez. Examinez les coûts des deux options ci-dessous.

Si vous laissez Code Engine approvisionner automatiquement les nœuds de travail

Lorsque vous lancez votre flotte, vous spécifiez la quantité de ressources nécessaires pour exécuter une instance de votre code afin de réaliser une tâche, ainsi que le nombre maximum d'instances à exécuter simultanément. Code Engine déploie des nœuds de travail aux profils potentiellement variés afin de répondre le plus efficacement possible à ces exigences en matière de ressources. Dans ce scénario, le coût est basé sur les nœuds de travail déployés, mais il peut être approximé en utilisant les besoins en ressources de l'instance que vous spécifiez, le nombre de tâches et la durée d'exécution moyenne de l'instance. La formule permettant d'estimer le coût d'une flotte sur la base de ces valeurs est la suivante :

[ (total cost of vCPU seconds) + (total cost of GB seconds) ] x (# of tasks) x (average runtime of each task in seconds)

Par exemple, si une instance de votre code nécessite 2 vCPU et 4 Go, que vous exécutez 100 tâches et que la durée d'exécution moyenne de chaque tâche est de 0.5 secondes, la formule permettant d'estimer le coût total est la suivante :

[ 2 x (cost of 1 vCPU second) + 4 x (cost of 1 GB second) ] x (100) x (0.5)

Le coût total de fonctionnement de la flotte est l'accumulation des coûts pour chaque nœud de travailleur utilisé pendant la durée de fonctionnement de la flotte. En outre, les instances qui échouent peuvent voir leur durée d'exécution augmentée par des tentatives, ce qui peut augmenter le coût de la flotte. Vous pouvez configurer les paramètres de réessai lorsque vous créez la flotte.

Code Engine ne déploie pas automatiquement des GPU pour les flottes. Pour déployer des GPU pour votre flotte, vous devez choisir de déployer un profil de travailleur ou une famille de GPU spécifique.

Si vous choisissez un profil de travailleur spécifique

Si vous choisissez de déployer un profil ou une famille de nœuds de travail spécifique pour votre flotte, seul ce type de nœud de travail est déployé pour votre flotte. Le coût total de fonctionnement de la flotte est le coût cumulé de fonctionnement de chaque nœud de travailleur déployé. Vous pouvez également choisir des profils de travailleurs dotés de GPU.

Cette option n'est actuellement disponible que dans la CLI.

Gardez à l'esprit que ce n'est peut-être pas la manière la plus efficace de gérer votre flotte et que cela peut entraîner des coûts plus élevés si les ressources en travailleurs déployées sont supérieures aux ressources nécessaires.

Profils des travailleurs non équipés de GPU

Si vous n'utilisez pas de GPU, le coût d'exécution d'un travailleur peut être estimé à l'aide de la formule suivante :

[ (total cost of worker VPU seconds) + (total cost of worker GB seconds) ] x (average worker runtime in seconds)

Par exemple, si vous choisissez un profil de travailleur de 16 vCPU et 64 GB, et que votre flotte fonctionne pendant 10 secondes, la formule permettant d'estimer le coût total est la suivante :

[ 16 x (cost of 1 vCPU second) + 64 x (cost of 1 GB second) ] x (10)

Le coût total de fonctionnement de la flotte est le coût cumulé de fonctionnement de chaque nœud de travailleur qui se déploie. Par exemple, si 2 nœuds de travail sont déployés, vous devez multiplier les formules ci-dessus par 2 pour obtenir une approximation du coût total. Gardez à l'esprit que le nombre de nœuds de travail dépend des ressources requises pour les instances et du nombre maximal d'instances simultanées.

Profils des travailleurs du GPU

Chaque travailleur GPU entraîne des frais supplémentaires pour les secondes GPU. La formule suivante permet de calculer approximativement le coût de fonctionnement d'un travailleur GPU :

[ (total cost of GPU-seconds) + (Total cost of vCPU seconds) + (total cost of 1 GB second) ] x (average worker runtime in seconds)

Par exemple, considérons le profil du nœud de travailleur gx3-24x120x2l40s. Vous pouvez utiliser les valeurs du profil du nœud de travailleur pour estimer le coût d'utilisation du travailleur. Le profil est composé des éléments suivants :

  • La première valeur gx3 est la catégorie du nœud de travailleur.
  • La deuxième valeur, 24 est la vCPU
  • La troisième valeur 120 est le nombre de Go de mémoire
  • La quatrième valeur 2 L40s, représente le nombre de cœurs de GPU L40s.

Le coût approximatif par seconde de l'utilisation d'un nœud de travailleur avec ce profil est le suivant :

[ 24 x (cost of 1 vCPU second) + 120 x (cost of 1 GB second) + 2 x (cost of 1 L40 GPU-second) ] x (average worker runtime in seconds)

Le coût total de fonctionnement de la flotte est le coût cumulé de fonctionnement de chaque nœud de travailleur qui se déploie. Par exemple, si 2 GPU workers sont déployés, vous multiplierez les formules ci-dessus par 2 pour obtenir une approximation du coût total. N'oubliez pas que le nombre de nœuds de travail dépend des ressources d'instance requises et du nombre maximal d'instances simultanées.

Etablissement des prix

Lorsque vous générez une image à partir du code source pour la déployer en tant qu'application ou l'exécuter en tant que travail, le temps d'utilisation de la mémoire et de l'UC virtuelle consommées vous est facturé. Toutefois, ces frais sont distincts des frais que vous pouvez générer lorsque vous utilisez l'image obtenue lors de l'exécution d'une application ou d'un travail. Vous n'êtes pas facturé pour la configuration de votre travail.

Les constructions sont classées en fonction de leur taille : small, medium, large, xlarge, et xxlarge. La taille de la génération détermine comment les coeurs d'UC, la mémoire et l'espace disque sont affectés à la génération lors de son exécution. Une génération plus petite est moins coûteuse, mais elle est généralement plus lente en raison du nombre inférieur de coeurs d'UC. En outre, les besoins en mémoire et en espace disque de votre génération peuvent entraîner l'échec de la génération si vous choisissez une taille trop petite. Pour plus d'informations sur la taille de la génération, voir la rubrique permettant d'identifier la taille de la génération.

Notez que le temps nécessaire pour extraire votre image ou pour transmettre l'image générée est inclus dans le temps facturable.