Prezzi per Code Engine

IBM Cloud® Code Engine è diverso dalle tecnologie di cloud computing tradizionali: si pagano solo le risorse utilizzate. La fatturazione avviene per la memoria e vCPU che i carichi di lavoro consumano, oltre che per le chiamate HTTP in entrata. Se la tua applicazione viene ridimensionata a zero o il tuo lavoro o la tua build non è in esecuzione, non stai consumando risorse e quindi non ti viene addebitato alcun costo.

Code Engine include un livello gratuito in modo da poter provare Code Engine prima di eseguire il commit.

Ti vengono fatturate le seguenti entità,

Entità come progetti non incorrono in addebiti, ma fungono da cartella per le tue entità. Le entità come segreti, bind o sottoscrizioni non comportano addebiti, ma contribuiscono ai limiti generali del tuo progetto. Per ulteriori informazioni, vedi Limiti e quote per Code Engine.

I costi che vengono forniti in questo argomento sono delle linee guida e non rappresentano i costi effettivi. Rappresentano un punto di partenza per la stima dei costi sostenuti in ambienti con una configurazione simile. I costi effettivi possono variare in base all'area geografica. Per i prezzi più aggiornati, consultare il sito Code Engine.

Prezzi delle applicazioni

Quando distribuisci un'applicazione, vengono applicati addebiti per richieste HTTP e per le risorse di CPU e memoria utilizzate dalle istanze in esecuzione dell'applicazione. Le chiamate HTTP in entrata sono fatturate in base al numero di chiamate HTTP ricevute dall'applicazione. Ad esempio, se la tua applicazione serve 100 chiamate, ti vengono fatturate 100 chiamate HTTP. Il traffico HTTP all'interno di un progetto tra i tuoi carichi di lavoro è escluso dal totale della chiamata HTTP fatturabile.

Ad esempio,

  • Se crei un'applicazione Code Engine con 2 GB (gigabyte) di memoria e 1 CPU virtuale, con una scala di istanze minima e massima di 1, dopo un'ora ti vengono addebitati l'ora di 1 vCPU e l'ora di 2 GB.
  • Se imposti la tua scala di istanze massima su 2 e la tua applicazione riceve richieste sufficienti per scalare fino a 2, ti vengono addebitati (number of instances) x (number of virtual CPUs) = 2 vCPU e 4 GB all'ora.

Per combinazioni di CPU e memoria valide, consultare Combinazioni di memoria e CPU supportate.

Tieni presente che il tempo che impiega per estrarre la tua immagine o per crearla dal codice sorgente è incluso nel tempo fatturabile.

Determinazione del prezzo del lavoro

Quando si esegue un lavoro, vengono applicati addebiti per le risorse di memoria e CPU utilizzate dal lavoro quando viene eseguito. La configurazione del lavoro non viene addebitata.

Ad esempio,

  • Se crei un lavoro per elaborare le informazioni da IBM Cloud Object Storage con un'istanza del lavoro e che viene eseguito per un'ora e utilizza 4 GB di memoria, ti vengono addebitati 1 ora CPU e 4 ore GB.
  • Se ridimensiona lo stesso lavoro alle istanze 4 e poi lo completi in 15 minuti, ti vengono addebitati 4 vCPU e 16 GB per .25 ore.

Per combinazioni di CPU e memoria valide, consultare Combinazioni di memoria e CPU supportate.

Tieni presente che il tempo che impiega per estrarre la tua immagine o per crearla dal codice sorgente è incluso nel tempo fatturabile.

Determinazione dei prezzi delle funzioni

Quando distribuisci una funzione, vengono applicati degli addebiti per richieste HTTP e per le risorse di CPU e memoria utilizzate dalle istanze in esecuzione della funzione. Le chiamate HTTP in entrata vengono fatturate in base al numero di chiamate HTTP ricevute dalla tua funzione. Ad esempio,

  • Se la tua funzione serve 100 chiamate, ti vengono addebitati 100 HTTP chiamate. Il traffico HTTP interno a un progetto Code Engine tra i tuoi carichi di lavoro è escluso dal totale della chiamata HTTP fatturabile.
  • Se crei una funzione Code Engine con 2 GB di memoria e 0.5 CPU virtuale, dopo 600 richiami (supponendo che ciascuno richieda 6 secondi per completare il risultato), ti vengono addebitati 0.5 vCPU ora e 2 GB ore.

Per combinazioni di CPU e memoria valide, consultare Combinazioni di memoria e CPU supportate.

Il tempo che impiega per estrarre il bundle del codice o per crearlo dal codice sorgente è incluso nel tempo fatturabile.

Prezzi della flotta

Quando si esegue un parco macchine, i costi si applicano solo alle risorse di CPU, memoria e potenzialmente GPU consumate durante l'esecuzione del parco macchine.

Per ogni flotta eseguita, si può scegliere di consentire a Code Engine di distribuire i nodi worker per soddisfare i requisiti di risorse della flotta, oppure si può scegliere di distribuire uno specifico profilo di nodo worker specificato dall'utente. Esaminare le considerazioni sui costi di entrambe le opzioni.

Se si lascia che Code Engine fornisca automaticamente i nodi worker

Quando si esegue la flotta, si specifica la quantità di risorse necessarie per eseguire un'istanza del codice per completare un'attività e il numero massimo di istanze da eseguire contemporaneamente. Code Engine distribuisce nodi worker di profili potenzialmente diversi per soddisfare questi requisiti di risorse nel modo più efficiente. In questo scenario, il costo si basa sui nodi worker distribuiti, ma può essere approssimato utilizzando i requisiti di risorse dell'istanza specificati, il numero di task e il tempo medio di esecuzione dell'istanza. La formula per approssimare il costo di una flotta sulla base di questi valori è la seguente:

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

Ad esempio, se un'istanza del codice richiede 2 vCPU e 4 GB, si eseguono 100 task e il tempo medio di esecuzione di ogni task è di 0.5 secondi, la formula per approssimare il costo totale è:

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

Il costo totale di funzionamento della flotta è l'accumulo dei costi per ogni nodo lavoratore utilizzato durante l'esecuzione della flotta. Inoltre, le istanze non andate a buon fine possono vedersi aumentare i tempi di esecuzione a causa dei tentativi, che possono aumentare il costo della flotta. È possibile configurare le impostazioni di riprova quando si crea il parco macchine.

Code Engine non distribuisce automaticamente le GPU per le flotte. Per distribuire le GPU per il vostro parco macchine, dovete scegliere di distribuire uno specifico profilo di lavoratore o una famiglia di GPU.

Se si sceglie un profilo di lavoratore specifico

Se si sceglie di distribuire un profilo o una famiglia di nodi worker specifici per la flotta, viene distribuito solo quel tipo di nodo worker per la flotta. Il costo totale di funzionamento della flotta è il costo cumulato di funzionamento di ciascun nodo lavoratore distribuito. È inoltre possibile scegliere profili di lavoratori con GPU.

Questa opzione è attualmente disponibile solo nella CLI.

Tenete presente che questo potrebbe non essere il modo più efficiente di gestire la vostra flotta e potrebbe comportare un costo maggiore se le risorse di lavoro impiegate superano quelle richieste.

Profili dei lavoratori non-GPU

Se non si utilizzano le GPU, il costo di esecuzione di un worker può essere approssimato con la seguente formula:

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

Ad esempio, se si sceglie un profilo di lavoratore di 16 vCPU e 64 GB e il parco macchine funziona per 10 secondi, la formula per approssimare il costo totale è la seguente:

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

Il costo totale di gestione della flotta è il costo cumulativo di gestione di ogni nodo lavoratore che viene distribuito. Ad esempio, se vengono distribuiti 2 nodi worker, si devono moltiplicare le formule precedenti per 2 per approssimare il costo totale. Tenere presente che il numero di nodi worker dipende dalle risorse necessarie per le istanze e dal numero massimo di istanze contemporanee.

Profili dei lavoratori GPU

Ogni worker GPU comporta un costo aggiuntivo per i secondi di GPU. È possibile approssimare il costo di gestione di un lavoratore GPU con la seguente formula:

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

Ad esempio, si consideri il profilo del nodo lavoratore gx3-24x120x2l40s. È possibile utilizzare i valori del profilo del nodo worker per approssimare il costo dell'utilizzo del worker. Il profilo è composto da queste parti:

  • Il primo valore gx3 è la categoria del nodo lavoratore.
  • Il secondo valore, 24, è il valore vCPU
  • Il terzo valore 120 è il GB di memoria
  • Il quarto valore 2 L40s, rappresenta il numero di core della GPU L40s.

Il costo approssimativo al secondo per l'utilizzo di un nodo worker con questo profilo è:

[ 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)

Il costo totale di gestione della flotta è il costo cumulativo di gestione di ogni nodo lavoratore che viene distribuito. Ad esempio, se vengono distribuiti 2 GPU worker, si devono moltiplicare le formule precedenti per 2 per approssimare il costo totale. Tenere presente che il numero di nodi worker dipende dalle risorse di istanza richieste e dal numero massimo di istanze contemporanee.

Crea prezzi

Quando crei un'immagine dal codice sorgente per la distribuzione come un'applicazione o l'esecuzione come un lavoro, ti vengono addebitati il tempo di utilizzo della memoria e della vCPU che la build utilizza. Tuttavia, questo addebito è separato dagli addebiti che potresti incorrere quando utilizzi l'immagine risultante in un'esecuzione dell'applicazione o del lavoro. La configurazione di build non viene addebitata.

Le build sono classificate come small, medium, large, xlarge e xxlarge. La dimensione della build definisce il modo in cui i core CPU, la memoria e lo spazio su disco vengono assegnati alla build quando viene eseguito. Una build più piccola è meno costosa, ma generalmente anche più lenta a causa del minor numero di core CPU. Inoltre, i requisiti di memoria e disco della tua build potrebbero causare l'errore della build se scegli una dimensione troppo piccola. Per ulteriori informazioni sulla dimensione della build, consultare Determinazione della dimensione della build.

Tieni presente che il tempo che impiega per estrarre il codice sorgente e inviare la tua immagine creata è incluso nel tempo fatturabile.