View a markdown version of this page

AWS Fargate or AWS Lambda? - AWS Guide decisionali

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS Fargate or AWS Lambda?

Comprendi le differenze e scegli quella giusta per te

Scopo

Per scoprire se AWS Fargate o AWS Lambda soddisfare le tue esigenze di un servizio di elaborazione serverless.

Ultimo aggiornamento

21 agosto 2026

Servizi coperti

Introduzione

Potresti aver già preso in considerazione la gamma più ampia di servizi di AWS elaborazione. Questi sono trattati nella guida decisionale sulla scelta di un servizio di AWS elaborazione. Se hai ristretto la tua scelta a AWS Lambda e AWS Fargate, probabilmente stai cercando un servizio di elaborazione serverless. Entrambi i servizi condividono i seguenti vantaggi:

Nota

Questa guida illustra le funzioni Lambda e le istanze gestite Lambda. Le microVMS Lambda, che forniscono sandbox isolate basate su sessioni per l'esecuzione di codice non attendibile, sono una primitiva di elaborazione distinta non trattata in questa guida. Per informazioni su Lambda MicroVMS, consulta Lambda MicroVMS nella Lambda Developer Guide. https://docs.aws.amazon.com/lambda/latest/dg/lambda-microvms-guide.html

Nota

AWS offre anche opzioni di calcolo correlate non trattate in questa guida, tra cui Amazon ECS Express Mode per la distribuzione semplificata dei container e Amazon ECS Managed Instances per l'esecuzione di contenitori su tipi di istanze EC2 specifici con infrastruttura gestita. Per una panoramica completa delle opzioni di calcolo dei container, consulta la Amazon ECS Developer Guide. https://docs.aws.amazon.com/ecs/latest/developerguide/AWS_Fargate.html

  • Sovraccarico operativo ridotto: sia Lambda che Fargate semplificano la gestione dei server. Ciò riduce la necessità di patching, manutenzione e pianificazione della capacità.

  • Pay-per-use prezzi: paghi solo per le risorse di elaborazione effettivamente utilizzate. Questo può ridurre i costi per i carichi di lavoro variabili.

  • Implementazione più rapida: questi servizi offrono in genere tempi di implementazione più rapidi. Questo viene confrontato con il provisioning e la configurazione delle istanze EC2.

  • Built-in alta disponibilità: entrambi i servizi gestiscono automaticamente la ridondanza dell'infrastruttura.

  • Conformità semplificata: una superficie di attacco ridotta e funzionalità di sicurezza integrate possono facilitare gli sforzi di conformità.

  • Concentrati sul codice: gli sviluppatori possono concentrarsi sulla scrittura del codice dell'applicazione anziché sulla gestione dell'infrastruttura.

Sebbene Lambda e Fargate siano entrambe opzioni serverless, vi sono differenze significative tra di esse.

AWS Fargate

AWS Fargate è un motore di calcolo serverless per contenitori. Viene utilizzato principalmente con Amazon ECS. Con Fargate, puoi concentrarti sulla distribuzione e sulla scalabilità delle applicazioni containerizzate senza gestire l'infrastruttura sottostante. Fargate è ideale per applicazioni a lunga durata, microservizi o elaborazione in batch. Offre un controllo granulare sull'allocazione delle risorse (CPU, memoria) senza dover gestire i server sottostanti.

AWS Lambda

AWS Lambda è un servizio di elaborazione senza server che esegue il codice come funzioni in risposta agli eventi. Gestisce le risorse di calcolo sottostanti per te. Le funzioni Lambda sono più adatte per le applicazioni basate sugli eventi. Gli esempi includono l'elaborazione di file caricati su Amazon S3, la risposta alle richieste HTTP, l'esecuzione di attività pianificate o l'elaborazione di flussi di dati. Le fonti di flusso di dati includono Amazon Kinesis e Amazon DynamoDB. Le funzioni Lambda hanno un tempo massimo di esecuzione di 15 minuti per chiamata. Lambda offre anche funzioni durevoli, un modello di programmazione per flussi di lavoro che può essere eseguito fino a 1 anno utilizzando l'esecuzione di checkpoint e replay. Con Lambda Managed Instances, puoi eseguire funzioni su un'ampia gamma di tipi di istanze EC2. Mantieni la semplicità operativa di Lambda.

Utilizza le seguenti linee guida per aiutarti a scegliere tra i due servizi:

  • Se il tuo progetto prevede attività basate su eventi, carichi di lavoro imprevedibili o flussi di lavoro di orchestrazione che richiedono lunghe attese, prendi in considerazione le funzioni Lambda.

  • Se i tuoi carichi di lavoro sono stazionari o prevedibili e traggono vantaggio dai prezzi di EC2 e dall'elaborazione specializzata, le Lambda Managed Instances potrebbero essere la soluzione giusta.

  • Se hai bisogno di eseguire applicazioni containerizzate con esigenze specifiche di risorse o processi persistenti, vale la pena prendere in considerazione Fargate.

È inoltre possibile combinare entrambi i servizi in un'architettura ibrida. Per i modelli che combinano Lambda e Fargate, consulta Esegui carichi di lavoro pianificati e basati su eventi su larga scala con Fargate in Prescriptive Guidance. AWS

La tabella seguente fornisce un confronto fianco a fianco delle principali differenze tra questi servizi.

Funzionalità AWS Fargate AWS Lambda
Modello di esecuzione Container-based, elaborazione serverless Event-driven, funzioni serverless (con orchestrazione durevole opzionale)
Lingue supportate Qualsiasi linguaggio che può essere eseguito in un contenitore Node.js, Python, Java, C#, Go, Ruby e. PowerShell Puoi anche creare un runtime personalizzato per altri linguaggi.
Caso d’uso Long-running, applicazioni containerizzate Short-duration, attività basate sugli eventi (o flussi di lavoro fino a 1 anno con funzioni durature)
Schema di esecuzione Elaborazione continua (processi a lunga durata, connessioni persistenti) Event-driven con orchestrazione opzionale che richiede tempi di attesa elevati (funzioni durevoli)
Dimensionamento Scalabilità automatica in base al numero di attività desiderato, con supporto per il ridimensionamento predittivo Ridimensionamento automatico per richiesta
Avviamento a freddo Varia in base alle dimensioni e alla configurazione dell'immagine Varia in base al runtime e alle dimensioni del pacchetto
Limite di tempo di esecuzione Nessun limite rigido 15 minuti per chiamata (le funzioni durevoli orchestrano i flussi di lavoro fino a 1 anno)
Allocazione della memoria Fino a 244 GiB Fino a 10 GiB
Allocazione della CPU Fino a 32 vCPU Proporzionale alla memoria, fino a 6 vCPU
Rete Funziona in VPC con ENI; supporta Amazon VPC Lattice e configurazioni IPv6-only Può essere eseguito in un VPC AWS gestito o collegato a un VPC gestito dal cliente utilizzando Hyperplane AWS
Gestione dello stato I contenitori possono mantenere lo stato in memoria tra le richieste durante l'esecuzione. L'archiviazione esterna è consigliata per i dati critici. Stateless fin dalla progettazione (lo stato deve essere gestito esternamente, ad esempio Amazon S3, Amazon DynamoDB, Amazon EFS). Le funzioni durevoli possono mantenere lo stato del flusso di lavoro fino a 1 anno.
Supporto container Supporto completo per i contenitori Supporto limitato per i container (tramite implementazioni di immagini dei contenitori)
Orchestrazione Integrato con Amazon ECS Non è richiesta alcuna orchestrazione
Strategie di distribuzione Implementazioni native blue/green, canarie e lineari Alias ponderati per implementazioni graduali
Modello tariffario Fatturazione al secondo per vCPU e memoria utilizzate; Fargate Spot è disponibile per x86 e ARM Per chiamata e durata (GB-seconds); le istanze gestite Lambda offrono dei prezzi EC2-based
Limiti di concorrenza In base alla capacità del cluster 1000 esecuzioni simultanee per impostazione predefinita (possono essere aumentate)
Event-driven invocazione Richiede una configurazione aggiuntiva Supporto nativo per varie sorgenti di AWS eventi
Mitigazione dell'avviamento a freddo Il caricamento lento delle immagini con Seekable OCI (SOCI) può velocizzare l'avvio delle attività di Fargate Sono disponibili la concorrenza con provisioning SnapStart (per Java, Python e .NET) e le istanze gestite Lambda
Limite di dimensione del pacchetto Nessun limite specifico (le dimensioni del contenitore sono limitate dallo storage temporaneo configurato, massimo 200 GiB) 250 MB decompressi, inclusi i livelli, 10 GB per le distribuzioni di immagini nei contenitori

Differenze tra Fargate e Lambda

Esplora le differenze tra Fargate e Lambda in una serie di aree chiave.

Languages supported

Fargate: AWS Fargate è un motore di calcolo serverless per contenitori, utilizzato con Amazon ECS per l'orchestrazione. Supporta qualsiasi linguaggio di programmazione o ambiente di runtime che può essere impacchettato in un contenitore Docker. Questa flessibilità significa che puoi utilizzare praticamente qualsiasi linguaggio, framework o libreria adatto alle tue esigenze applicative. È possibile utilizzarePython, JavaNode.js, Go, .NETRuby, PHP o anche linguaggi e ambienti personalizzati. Fargate può eseguirli purché siano incapsulati in un contenitore. Questo ampio supporto linguistico rende Fargate ideale per l'esecuzione di diverse applicazioni. Questi includono sistemi legacy, microservizi multilingue e moderne applicazioni native per il cloud.

Lambda: AWS Lambda offre supporto nativo per un set di lingue più limitato rispetto a Fargate. Le funzioni Lambda sono create appositamente per carichi di lavoro basati su eventi. Lambda supporta ufficialmente i seguenti linguaggi e runtime:

  • Node.js

  • Python

  • Java

  • Go

  • Ruby

  • C#

  • PowerShell

Lambda supporta anche runtime personalizzati. Con i runtime personalizzati, puoi utilizzare la tua lingua o il tuo ambiente di runtime. Tuttavia, ciò richiede una maggiore configurazione e gestione rispetto all'utilizzo di opzioni supportate in modo nativo. Se distribuisci la tua funzione Lambda da un'immagine del contenitore, puoi scrivere la tua funzione in. Rust Usa un'immagine di AWS OS-only base e includi il client Rust di runtime nell'immagine. Se si utilizza un linguaggio senza un AWS client di interfaccia di runtime fornito, è necessario crearne uno personalizzato.

Event-driven invocation

Lambda è intrinsecamente progettato per l'elaborazione basata sugli eventi. Le funzioni Lambda vengono attivate in risposta a modifiche nei dati, azioni dell'utente o attività pianificate. Si integra in modo nativo con molti. Servizi AWS Questi includono Amazon S3 (ad esempio, richiamo di una funzione quando viene caricato un file), DynamoDB (ad esempio, attivazione degli aggiornamenti dei dati) e API Gateway (ad esempio, gestione delle richieste HTTP). L'architettura Lambda event-driven è ideale per le applicazioni che devono rispondere immediatamente agli eventi. Queste applicazioni non richiedono risorse di elaborazione persistenti.

Fargate non è nativamente basato sugli eventi. Tuttavia, con una logica standard aggiuntiva, può integrarsi con sorgenti di eventi come Amazon SQS e Kinesis. Lambda gestisce la maggior parte di questa logica di integrazione per te. Con Fargate, devi implementare tu stesso questa integrazione utilizzando le API per questi servizi.

Runtime/use cases

Fargate è progettato per eseguire applicazioni containerizzate. Fornisce un ambiente di runtime flessibile in cui è possibile definire le impostazioni di CPU, memoria e rete per i contenitori. Fargate opera su un modello basato su container. Supporta processi a lunga durata, servizi persistenti e applicazioni con requisiti di runtime specifici. I contenitori di Fargate possono essere eseguiti all'infinito perché non ci sono limiti rigidi al tempo di esecuzione. Questo lo rende ideale per le applicazioni che devono essere eseguite in modo continuo. Con le politiche di riavvio dei container di Fargate, i singoli contenitori all'interno di un'attività possono riavviarsi automaticamente senza riavviare l'intera attività. Ciò migliora la resilienza per i carichi di lavoro multi-container. Fargate si integra con CloudWatch Container Insights con una migliore osservabilità. Con questa funzionalità, si ottengono metriche e tracce dettagliate per contenitore per il monitoraggio delle prestazioni delle applicazioni.

Le funzioni Lambda sono ottimizzate per attività di breve durata basate su eventi. Le funzioni Lambda hanno un tempo massimo di esecuzione di 15 minuti per chiamata. Ciò rende le funzioni Lambda ideali per scenari come l'elaborazione di file, lo streaming di dati in tempo reale e la gestione delle richieste HTTP. Queste attività sono brevi e non richiedono processi di lunga durata.

Con le funzioni durevoli di Lambda, puoi creare flussi di lavoro di lunga durata in grado di mantenere lo stato su più invocazioni fino a 1 anno. Le funzioni durevoli forniscono la gestione integrata degli errori, i tentativi automatici e il ripristino in caso di guasti. È disponibile un SDK di funzioni durevoli per JavaScript, TypeScript PythonJava, e C# (.NET). Durante i periodi di attesa, la funzione viene sospesa senza incorrere in costi di elaborazione. Con le funzioni durevoli, puoi risolvere i casi d'uso che in precedenza richiedevano ambienti di elaborazione persistenti.

Quando scegli tra funzioni durevoli e Fargate per carichi di lavoro di lunga durata, considera il modello di esecuzione. Le funzioni durevoli sono convenienti per i flussi di lavoro che trascorrono la maggior parte del tempo in attesa, ad esempio approvazioni umane, ritardi programmati o callback API esterni. Non sono previsti costi di elaborazione durante i periodi di attesa. Fargate è più appropriato per i carichi di lavoro che richiedono un calcolo continuo, come l'elaborazione dei dati, le connessioni di rete persistenti o i servizi che devono rimanere attivi senza interruzioni.

In Lambda, l'ambiente di runtime è più astratto. Hai meno controllo sull'infrastruttura sottostante. Per le funzioni standard, ogni chiamata è indipendente e senza stato. Qualsiasi stato o dato che deve persistere tra una chiamata e l'altra deve essere gestito esternamente. Gli esempi includono database o servizi di archiviazione.

Scaling

Fargate si adatta alla scalabilità regolando il numero di attività in esecuzione. Questo si basa sullo stato desiderato definito nel servizio di orchestrazione dei container (Amazon ECS). Il ridimensionamento può essere eseguito manualmente o automaticamente tramite Amazon EC2 Auto Scaling. Per ulteriori informazioni, consulta Under the hood: Amazon ECS e Fargate aumentano i tassi di avvio delle attività sul blog Containers. AWS

In Fargate, ogni attività viene eseguita nel suo ambiente isolato. Il ridimensionamento implica l'avvio di attività aggiuntive o la loro interruzione in base al carico. Il service scheduler di Amazon ECS può avviare fino a 500 attività in meno di un minuto per servizio. Questo vale per il web e altri servizi di lunga durata. Amazon ECS supporta anche il ridimensionamento predittivo. Utilizza modelli storici per aumentare in modo proattivo le attività prima che si verifichino picchi di domanda. Le politiche di tracciamento di Target per l'utilizzo della CPU e della memoria supportano una risoluzione metrica di 20 secondi. Ciò consente un rilevamento più rapido del segnale di scalabilità. Amazon ECS può anche ribilanciare automaticamente le attività di servizio nelle zone di disponibilità. Ciò mantiene un'elevata disponibilità. Fargate si integra con AWS Fault Injection Service (FIS). Con FIS, è possibile eseguire esperimenti controllati di iniezione dei guasti per testare la resilienza delle applicazioni.

Diagramma che mostra le differenze di avvio delle attività tra Fargate e Lambda.

Per Lambda, la concorrenza è il numero di richieste in corso che la AWS Lambda funzione gestisce contemporaneamente. Ciò è diverso dalla concorrenza in Fargate. Ogni attività di Fargate può gestire richieste simultanee purché siano disponibili risorse di calcolo e di rete. Per ogni richiesta simultanea, Lambda fornisce un'istanza separata del tuo ambiente di esecuzione. Man mano che le tue funzioni ricevono più richieste, Lambda ridimensiona automaticamente il numero di ambienti di esecuzione. Questo continua fino al raggiungimento del limite di concorrenza del tuo account. Per impostazione predefinita, Lambda fornisce all'account un limite di concorrenza totale di 1.000 esecuzioni simultanee. Questo limite si applica a tutte le funzioni di un. Regione AWS Puoi richiedere un aumento della quota, se necessario.

Con Lambda Managed Instances, la scalabilità funziona in modo diverso. Invece di fornire un nuovo ambiente di esecuzione per ogni richiesta simultanea, le istanze gestite scalano in modo asincrono in base all'utilizzo delle risorse della CPU. Ogni ambiente di esecuzione è in grado di gestire più invocazioni simultanee. Questo approccio massimizza l'utilizzo delle risorse. È adatto per carichi di lavoro stazionari o prevedibili.

Per ogni funzione Lambda che utilizza il tipo di calcolo predefinito, la velocità di scalabilità della concorrenza è di 1.000 istanze di esecuzione ogni 10 secondi. Ciò continua fino alla concorrenza massima dell'account. Per maggiori informazioni, consulta le funzioni Lambda ora scalabili 12 volte più velocemente nella gestione di richieste ad alto volume sul AWS blog Compute. Se il numero di richieste in un periodo di 10 secondi supera 1.000, le richieste aggiuntive vengono limitate. Il grafico seguente mostra come funziona il ridimensionamento Lambda presupponendo una concorrenza di 7000 account.

Grafico a barre che mostra come vengono limitate le istanze quando il numero supera 1000.
Cold start and cold-start mitigation

Le funzioni Lambda possono subire avviamenti a freddo. Si verificano quando una funzione viene richiamata dopo essere rimasta inattiva per qualche tempo. Durante un avvio a freddo, il servizio Lambda inizializza un nuovo ambiente di esecuzione. Ciò include il caricamento del runtime, delle dipendenze e del codice della funzione. La durata dell'avvio a freddo varia da meno di 100 millisecondi a oltre 1 secondo, a seconda del runtime, delle dimensioni del pacchetto e della logica di inizializzazione. Per i runtime con tempi di inizializzazione più lunghi come Java C#, gli avviamenti a freddo possono essere più lunghi senza ottimizzazione. Gli avviamenti a freddo possono influire sulle prestazioni delle applicazioni che richiedono risposte a bassa latenza.

Per mitigare gli avviamenti a freddo in Lambda, considera le seguenti strategie:

  • Riduci al minimo le dimensioni della funzione: riduci le dimensioni del pacchetto di funzioni e delle sue dipendenze. Ciò può ridurre il tempo necessario per l'inizializzazione.

  • Aumento dell'allocazione della memoria: allocazioni di memoria più elevate aumentano la capacità della CPU. Ciò può ridurre i tempi di inizializzazione.

  • Mantieni attive le funzioni: richiama periodicamente le tue funzioni Lambda (ad esempio, usando CloudWatch Events). Ciò le mantiene attive e riduce la probabilità di partenze a freddo.

  • Lambda SnapStart: utilizza le funzioni Lambda SnapStart for JavaPython, e .NET per ridurre i tempi di avvio. SnapStart scatta un'istantanea dell'ambiente di esecuzione inizializzato. Le chiamate successive riprendono dall'istantanea anziché eseguire un avvio completo a freddo.

  • Concorrenza assegnata: questa funzionalità mantiene un numero specificato di istanze di funzione al caldo e pronto a soddisfare le richieste. Ciò riduce la latenza di avvio a freddo. Tuttavia, aumenta i costi. Paghi per le istanze assegnate anche se non gestiscono attivamente le richieste.

  • Istanze gestite Lambda: esegui funzioni su un'ampia gamma di tipi di istanze EC2. Questi includono processori Graviton4 e opzioni di rete ad alta larghezza di banda. Pre-provisioned gli ambienti di esecuzione eliminano gli avviamenti a freddo. Lambda gestisce il ciclo di vita delle istanze, l'applicazione di patch al sistema operativo e di runtime, il routing, il bilanciamento del carico e il ridimensionamento automatico. Le istanze gestite Lambda supportano anche chiamate multiple simultanee per ambiente di esecuzione. Offrono vantaggi in termini di prezzo per EC2, come i piani di risparmio di calcolo e le istanze riservate.

Fargate non è generalmente influenzato dagli avviamenti a freddo allo stesso modo di Lambda. Il tempo necessario per avviare un'attività di Fargate è direttamente correlato al tempo necessario per estrarre le immagini del contenitore definite nell'attività dal registro delle immagini. Fargate supporta anche il caricamento lento delle immagini dei container che sono state indicizzate con Seekable OCI (SOCI). Il caricamento lento delle immagini dei container con SOCI riduce il tempo necessario per avviare le attività Amazon ECS su Fargate. Fargate utilizza SOCI index manifest v2. Ciò fornisce prestazioni migliorate per il lazy loading. L'avvio di un'operazione su Fargate è un processo di lunga durata. È sempre pronto a gestire le richieste. Se è necessario avviare nuove attività in risposta a eventi di scalabilità, potrebbe verificarsi un ritardo durante l'inizializzazione. Questo è in genere meno significativo rispetto agli avviamenti a freddo Lambda.

Memory and CPU options

Fargate offre un controllo granulare sulle risorse di memoria e CPU per le applicazioni containerizzate. Quando avvii un'attività in Fargate, puoi specificare gli esatti requisiti di CPU e memoria per la tua applicazione. Le allocazioni di CPU e memoria sono indipendenti. Puoi scegliere le combinazioni più adatte al tuo carico di lavoro. È possibile selezionare valori di CPU compresi tra 0,25 vCPU e 32 vCPU. La memoria varia da 0,5 GB a 244 GB per attività, a seconda della configurazione.

Questa flessibilità è ideale per applicazioni con caratteristiche prestazionali specifiche. Gli esempi includono database o attività di CPU-bound calcolo che richiedono molta memoria. Fargate consente di ottimizzare l'allocazione delle risorse. È possibile bilanciare costi e prestazioni in modo efficace.

In Lambda, memoria e CPU sono collegate. La CPU viene allocata automaticamente in proporzione alla quantità di memoria selezionata. È possibile scegliere allocazioni di memoria tra 128 MB e 10 GB, con incrementi di 1 MB. La CPU si espande con la memoria, fino a 6 vCPU. Impostazioni di memoria più elevate comportano una maggiore potenza della CPU. Tuttavia, non si ha il controllo diretto sull'allocazione della CPU stessa.

Questo modello è progettato per la semplicità. È possibile regolare rapidamente le impostazioni della memoria senza gestire le configurazioni della CPU. Tuttavia, potrebbe essere meno flessibile per i carichi di lavoro che richiedono un equilibrio specifico tra CPU e risorse di memoria. Il modello Lambda è adatto per attività in cui si desidera una scalabilità semplice in base alle esigenze di memoria. Potrebbe non essere ottimale per applicazioni con esigenze di risorse complesse o altamente specifiche.

Networking

Quando distribuisci le attività in Fargate, vengono eseguite in un Amazon VPC (Amazon Virtual Private Cloud). Questo ti dà il pieno controllo sull'ambiente di rete. È possibile configurare gruppi di sicurezza, elenchi di controllo degli accessi alla rete (ACL) e tabelle di routing. Ogni attività di Fargate dispone di una propria interfaccia di rete con un indirizzo IP privato dedicato. È possibile assegnare un indirizzo IP pubblico, se necessario.

Fargate supporta funzionalità di rete avanzate come il bilanciamento del carico (utilizzando AWS Elastic Load Balancing), il peering VPC e l'accesso diretto ad altri utenti all'interno del VPC. Servizi AWS Puoi anche utilizzarlo per una connettività privata e sicura con AWS PrivateLink i servizi supportati. Servizi AWS In questo modo si evita l'accesso a Internet. Le attività di Fargate supportano anche Amazon VPC Lattice. Ciò fornisce connettività, sicurezza e osservabilità standardizzate da servizio a servizio. Le attività di Fargate possono essere eseguite in configurazioni. IPv6-only Ciò consente alle attività di comunicare esclusivamente tramite IPv6.

Per impostazione predefinita, le funzioni Lambda vengono eseguite in un ambiente di rete gestito. Non hai il controllo diretto sulle interfacce di rete o sugli indirizzi IP. Tuttavia, Lambda può essere collegata a un VPC gestito dal cliente tramite Hyperplane. AWS Ciò consente di controllare l'accesso alle risorse all'interno del VPC.

Quando le funzioni Lambda sono collegate a un VPC gestito dal cliente, ereditano i gruppi di sicurezza del VPC e le configurazioni delle sottoreti. Ciò consente loro di interagire in modo sicuro con altri Servizi AWS (come i database RDS) all'interno dello stesso VPC. Poiché Lambda è scalabile creando molti ambienti di esecuzione simultanea, ognuno mantiene la propria connessione al database. L'elevata concorrenza può esaurire i limiti di connessione al database. Per l'accesso ai database relazionali, utilizza Amazon RDS Proxy per raggruppare e gestire le connessioni. Ciò evita l'esaurimento della connessione in caso di elevata concorrenza.

Il servizio Lambda utilizza una piattaforma di Network Function Virtualization per fornire funzionalità NAT. Questo collega il Lambda VPC ai VPC dei clienti. Configura le interfacce di rete elastiche (ENI) richieste quando le funzioni Lambda vengono create o aggiornate. Inoltre, consente la condivisione degli ENI del tuo account in più ambienti di esecuzione. Ciò consente a Lambda di utilizzare in modo più efficiente le risorse di rete quando le funzioni sono scalabili.

Gli ENI sono una risorsa esauribile con un limite minimo di 250 per regione. Monitora l'utilizzo dell'interfaccia di rete elastica se configuri le funzioni Lambda per l'accesso al VPC. Le funzioni Lambda nella stessa AZ e nello stesso gruppo di sicurezza possono condividere ENI. Se aumenti i limiti di concorrenza in Lambda, valuta se è necessario aumentare l'interfaccia di rete elastica. Se il limite viene raggiunto, le chiamate alle funzioni VPC-enabled Lambda vengono limitate.

Pricing model

I prezzi di Fargate si basano sulle risorse allocate ai contenitori. Nello specifico, si tratta della vCPU e della memoria selezionate per ogni attività. La fatturazione viene effettuata al secondo, con una tariffa minima di un minuto. I costi sono direttamente legati alle risorse consumate dall'applicazione. I costi sono calcolati in base ai servizi erogati, indipendentemente dal fatto che l'applicazione stia elaborando attivamente le richieste. Fargate è ideale per carichi di lavoro prevedibili in cui sono necessarie configurazioni di risorse specifiche. È possibile ottimizzare i costi regolando le risorse allocate. Fargate Spot è disponibile per carichi di lavoro x86 e Linux. ARM-based Ciò consente un notevole risparmio sui costi per le applicazioni con tolleranza ai guasti. Potrebbero esserci costi aggiuntivi per i servizi correlati. Questi includono il trasferimento dei dati, l'archiviazione e il networking (ad esempio, VPC, Elastic Load Balancing).

Lambda ha una struttura dei prezzi diversa, basata sugli eventi e pay-per-execution. L'addebito viene effettuato in base al numero di richieste e alla durata dell'esecuzione. La durata è misurata in millisecondi. Lambda tiene conto anche della quantità di memoria allocata alla funzione. I costi si ridimensionano in base alla memoria utilizzata e al tempo di esecuzione. Il modello di prezzo include un piano gratuito. Offre 1 milione di richieste gratuite e 400.000 GB-seconds di tempo di elaborazione al mese. Ciò rende Lambda particolarmente conveniente per carichi di lavoro sporadici e a basso volume.

Il modello di prezzo Lambda è ideale per applicazioni con modelli di traffico imprevedibili o intensi. Paghi solo per le chiamate effettive delle funzioni e il tempo di esecuzione. Non è necessario effettuare il provisioning o pagare la capacità inutilizzata.

Con Lambda Managed Instances, Lambda offre prezzi basati sulle istanze che utilizzano modelli di prezzo EC2. Questi includono On-Demand istanze riservate e piani di risparmio di calcolo. Ciò può aumentare l'efficienza dei costi per carichi di lavoro stazionari o prevedibili.

Sia Fargate che Lambda sono idonei per i piani di risparmio di calcolo. https://docs.aws.amazon.com/savingsplans/latest/userguide/what-is-savings-plans.html Questi possono ridurre i costi fino al 66% in cambio di un impegno a un utilizzo costante del computer. Questo valore viene misurato in dollari all'ora per un periodo di 1 o 3 anni.

Quando si confrontano i costi tra i due servizi, in genere si paga meno con Lambda a volumi di traffico inferiori. Tuttavia, la fatturazione delle risorse al secondo di Fargate tende ad essere più economica per carichi di lavoro sostenuti e ad alto rendimento. Con l'aumentare del volume delle richieste, i costi di Lambda aumentano in modo lineare. Al contrario, i costi di Fargate rimangono relativamente stabili indipendentemente dalle richieste gestite con le risorse messe a disposizione.

Utilizzo

Ora che hai letto i criteri per scegliere tra AWS Fargate e AWS Lambda, puoi selezionare il servizio che soddisfa le tue esigenze e utilizzare le seguenti informazioni per iniziare a utilizzare ciascuno di essi.

AWS Fargate
  • Scopri come creare un'attività Amazon ECS Linux per il tipo di lancio Fargate

    Inizia a usare Amazon ECS on AWS Fargate utilizzando il tipo di avvio Fargate per le tue attività Linux.

    Esplora la guida

  • Scopri come creare un'attività Amazon ECS Windows per il tipo di lancio Fargate

    Inizia a usare Amazon ECS on AWS Fargate utilizzando il tipo di avvio Fargate per le tue attività Windows.

    Esplora la guida

  • Guida introduttiva a Fargate e Amazon EKS

    Questa guida descrive come iniziare a utilizzare i tuoi pod AWS Fargate con il tuo cluster Amazon EKS.

    Esplora la guida

  • AWS Fargate prezzi

    Usa questa guida per capire in che modo le configurazioni di vCPU, memoria, storage e sistema operativo influiscono sui AWS Fargate prezzi.

    Esplora la guida

  • AWS Fargate domande frequenti

    Ottieni risposte alle domande più frequenti sulle AWS Fargate funzionalità e sulle best practice per l'implementazione.

    Esplora la guida

AWS Lambda
  • Crea un'app per l'elaborazione dei file senza server

    Una guida dettagliata sulla configurazione e l'utilizzo di Amazon SNS. Tratta argomenti come la creazione di un argomento, la sottoscrizione di endpoint a un argomento, la pubblicazione di messaggi e la configurazione delle autorizzazioni di accesso.

    Esplora la guida

  • Guida per gli sviluppatori serverless

    Questa guida ti aiuta a sviluppare una migliore comprensione concettuale dello sviluppo di applicazioni serverless e di come le diverse applicazioni Servizi AWS si integrino per creare modelli applicativi che costituiscono il nucleo delle tue applicazioni cloud.

    Esplora la guida

  • Terra senza server

    Questo sito raccoglie le informazioni, i blog, i video, il codice e le risorse di apprendimento più recenti per AWS Serverless. Impara a utilizzare e creare app scalabili automaticamente su un'architettura serverless a basso costo e completamente gestita.

    Esplora il sito

  • AWS Lambda prezzi

    Usa questa guida per stimare le spese e ottimizzare i costi in base all'utilizzo e alla configurazione delle funzioni. Include un calcolatore dei prezzi per calcolare i costi propri AWS Lambda e di architettura in un'unica stima.

    Esplora la guida

  • AWS Lambda domande frequenti

    Ottieni risposte alle domande più frequenti sulle AWS Lambda funzionalità e sulle best practice per l'implementazione.

    Esplora la guida