Contattaci
Nessun risultato trovato.

Le migliori funzioni serverless: Vercel vs Azure vs AWS

Sedat Dogan
Sedat Dogan
aggiornato il Gen 21, 2026
Guarda il nostro norme etiche

Le funzionalità serverless consentono agli sviluppatori di eseguire il codice senza dover gestire un server. Questo permette loro di concentrarsi sulla scrittura e la distribuzione delle applicazioni, mentre il dimensionamento e la manutenzione dell'infrastruttura vengono gestiti automaticamente in background.

Loading Chart

In questo benchmark, abbiamo valutato 7 noti fornitori di servizi cloud seguendo la nostra metodologia per testare le prestazioni delle loro funzionalità serverless. Abbiamo misurato i tempi di risposta più rapidi e più lenti, il tempo totale di esecuzione per 1000 richieste, il throughput e il tempo medio per richiesta completata con successo sotto carico.

Risultati del benchmark delle funzioni serverless

Il primo grafico visualizza le prestazioni di ciascun provider non come un singolo valore numerico, bensì come un intervallo di tempi di risposta osservati durante il nostro benchmark di 1000 richieste. Questo spettro di prestazioni è rappresentato da una "Fascia inferiore" e una "Fascia superiore", tra le quali è possibile passare utilizzando i pulsanti sopra il grafico.

  • Banda inferiore: rappresenta i tempi di risposta più rapidi registrati per ciascun provider. Indica le prestazioni nel caso migliore, mostrando la velocità con cui una funzione può essere eseguita in condizioni ottimali (ad esempio, un avvio "a caldo" con risorse memorizzate nella cache). In questa visualizzazione, un valore inferiore (più a sinistra) è migliore.
  • Banda superiore: rappresenta i tempi di risposta più lenti osservati per ciascun provider. Evidenzia le prestazioni peggiori, che possono essere influenzate da fattori come "avvii a freddo", latenza di rete o contesa temporanea delle risorse. Questo valore è fondamentale per comprendere i potenziali picchi di latenza che potrebbero influire sull'esperienza utente.

Richieste/sec: Il numero di richieste al secondo, ovvero la velocità media di elaborazione. Questo valore misura la capacità di elaborazione del server. Un valore più alto è migliore perché significa che è possibile elaborare più richieste al secondo.

Tempo totale: un valore inferiore è preferibile perché la piattaforma è in grado di gestire rapidamente il carico di lavoro.

Tempo medio per richiesta riuscita: il tempo medio impiegato per elaborare correttamente le richieste, escludendo eventuali errori o richieste non riuscite. Un valore inferiore indica una migliore elaborazione e una maggiore velocità di elaborazione per ciascuna richiesta.

Possibili cause delle differenze di prestazioni delle funzioni serverless

1. Ambiente di esecuzione principale (Architettura)

La tecnologia di base, che si tratti di una microVM altamente ottimizzata, di un motore V8 o di un container standard, è il principale fattore determinante delle differenze di prestazioni.

  • AWS Lambda MicroVM Firecracker: utilizza microVM basate su KVM che rimuovono le funzionalità del kernel non essenziali per avviarsi in millisecondi.
    • Concorrenza ottimizzata: AWS avvia fisicamente gli ambienti di esecuzione più velocemente rispetto ai container standard. L'architettura MicroVM consente loro di gestire un picco di 1000 richieste senza code.
  • Cloudflare Workers V8 Isolates (Edge): Esegue il codice nei processi Chrome V8 esistenti (Isolates) anziché avviare un sistema operativo.
    • Zero avvii a freddo: eliminando completamente il processo di avvio del sistema operativo, Cloudflare rimuove il principale collo di bottiglia dello scaling serverless, offrendo la latenza più bassa.
  • Google Cloud Functions gVisor (Contenitori in ambiente sandbox): Utilizza gVisor per l'astrazione del kernel e la sicurezza.
    • Limiti di concorrenza: pur essendo sicura, la sandbox di gVisor aggiunge un sovraccarico alla creazione di nuove istanze. Lo scheduler probabilmente limita la frequenza di creazione (Ramp-Up) per mantenere la stabilità, riducendo il punteggio totale delle richieste al secondo.
  • Heroku Dynos (contenitori LXC): si basa sull'orchestrazione tradizionale dei container (PaaS).
    • Il costo dell'"Always On": progettato per applicazioni a lunga esecuzione, non per picchi di utilizzo dovuti a eventi specifici. L'architettura non è ottimizzata per scalare istantaneamente da 0 a 1000.

2. Costi aggiuntivi di inizializzazione e scalabilità

Questa categoria affronta il compromesso diretto tra la complessità dell'ambiente di esecuzione (pesante vs. leggero) e la velocità di avvio a freddo.

  • Inizializzazione ottimizzata dei worker AWS Lambda / Cloudflare : sia le MicroVM AWS che gli Isolates Cloudflare sono progettati per eliminare o ridurre drasticamente i tempi di avvio. AWS rimuove il kernel, mentre Cloudflare evita del tutto l'avvio di un sistema operativo, consentendo la massima velocità di elaborazione e concorrenza eliminando i colli di bottiglia all'avvio.
  • Funzioni di Azure / Google Cloud Functions sovraccarico ambientale più pesante: entrambe le piattaforme presentano una latenza di inizializzazione significativa rispetto ai leader. Azure inizializza un ambiente server web più pesante (come C#/.NET su IIS/Kestrel), mentre gVisor di Google aggiunge un sovraccarico di sicurezza alla creazione di nuove istanze, che deve essere limitato dallo scheduler per mantenere la stabilità complessiva del sistema.

Fornitori di funzioni serverless

Esistono diversi provider di funzioni serverless, ognuno con caratteristiche distinte, integrazioni con l'ecosistema e punti di forza specifici, pensati per determinati casi d'uso:

Microsoft Funzioni di Azure

Azure Functions è un servizio di elaborazione serverless che consente agli sviluppatori di creare e distribuire applicazioni basate su eventi senza dover gestire l'infrastruttura. 1 Offre l'integrazione con altri servizi Azure, come Azure Blob Storage per la gestione dei file, Cosmos DB per le operazioni di database e Event Grid per l'instradamento degli eventi.

Azure Functions offre la scalabilità automatica per gestire volumi di richieste variabili e si integra con Azure Monitor e Azure Security Center per il monitoraggio delle prestazioni e la gestione della sicurezza.

Figura 1: Dashboard di Azure Functions Microsoft

AWS Lambda

AWS Lambda è un servizio di elaborazione serverless offerto da Amazon Web Services (AWS) che si integra con altri servizi AWS, come Amazon S3 per l'archiviazione , DynamoDB per le operazioni di database e API Gateway per gli endpoint HTTP, consentendo lo sviluppo di architetture basate sugli eventi. 2

AWS Step Functions può coordinare più funzioni Lambda, supportando la creazione di flussi di lavoro complessi per attività come l'elaborazione dei dati o l'orchestrazione delle applicazioni .

Figura 2: Dashboard delle funzioni AWS Lambda

Google Funzioni Cloud

Cloud Functions è un ambiente di esecuzione serverless che consente agli sviluppatori di eseguire codice attivato da eventi provenienti da fonti quali richieste HTTP, aggiornamenti di Cloud Storage o messaggi Pub/Sub. La piattaforma si adatta automaticamente per gestire carichi di lavoro variabili, fornendo risorse in base alle necessità senza intervento manuale. 3

Cloud Functions si integra anche con i servizi di dati e analisi di Cloud, come BigQuery per l'analisi di dati su larga scala e Cloud Dataflow per l'elaborazione di flussi di dati, supportando applicazioni incentrate sulla gestione dei dati e sull'analisi in tempo reale. La sua progettazione basata sugli eventi garantisce l'esecuzione efficiente delle attività legate a specifici trigger all'interno dell'ecosistema di Cloud.

Figura 3: Dashboard di Cloud Functions Google

Funzioni di vertice

Vercel è una piattaforma cloud pensata per gli sviluppatori front-end, che offre strumenti di implementazione e scalabilità per le moderne applicazioni web. È nota per lo sviluppo di Next.js e offre l'integrazione con il framework React, ampiamente utilizzato.

Vercel Functions consente agli sviluppatori di eseguire codice backend senza dover gestire server e supporta diversi linguaggi di programmazione, tra cui JavaScript (Node.js), TypeScript, Python, Go e Ruby. Funzionalità come le implementazioni automatiche, gli URL di anteprima e una rete edge globale migliorano le prestazioni e la produttività degli sviluppatori. 4

Figura 4: Dashboard delle funzioni di Vercel

Cloudflare Lavoratori

Con Cloudflare Workers, gli sviluppatori possono eseguire il loro codice nei data center di tutto il mondo, ottenendo una bassa latenza. 5 La piattaforma supporta tecnologie come JavaScript e WebAssembly, consentendo agli sviluppatori di implementare rapidamente le proprie applicazioni. Workers è inoltre ottimizzato per applicazioni di intelligenza artificiale e blockchain.

Workers si concentra sull'edge computing e sulle alte prestazioni con bassa latenza. Gli sviluppatori possono valutare queste piattaforme in base alle proprie esigenze e ai requisiti del progetto.

Figura 5: Dashboard dei lavoratori Cloudflare

Huawei Grafico delle funzioni cloud

Huawei Cloud FunctionGraph è un servizio che consente agli sviluppatori di eseguire codice in risposta a eventi senza dover gestire l'infrastruttura del server. 6 Il servizio si integra con le sorgenti di eventi all'interno dell'ecosistema Cloud Huawei, tra cui Object Storage Service (OSS) per i trigger relativi ai file e API Gateway per le invocazioni basate su HTTP, consentendo la creazione di applicazioni basate sugli eventi.

Huawei Cloud FunctionGraph offre scalabilità automatica per adattarsi alle variazioni del carico di lavoro e opera con un modello di fatturazione a consumo, addebitando solo le risorse effettivamente utilizzate durante l'esecuzione. Include inoltre funzionalità di monitoraggio e registrazione tramite gli strumenti di osservabilità di Huawei Cloud, aiutando gli sviluppatori a tenere traccia delle prestazioni e a diagnosticare i problemi delle applicazioni.

Figura 6: Dashboard Cloud FunctionGraph Huawei

Heroku

Heroku è una piattaforma come servizio (PaaS) che consente la rapida implementazione e gestione delle applicazioni. Utilizza container virtuali chiamati "dyno" per facilitare la gestione e la scalabilità delle applicazioni. 7 Inoltre, offre “dynos one-off” temporanei per l’esecuzione di operazioni specifiche in modalità serverless.

Figura 7: Dashboard di Heroku

Conteggio delle lingue supportate

Che cosa sono le funzioni serverless?

Le funzioni serverless, note anche come Function as a Service (FaaS), sono un modello di cloud computing, simile al cloud GPU, che consente di eseguire codice senza dover gestire i server o l'infrastruttura sottostanti. In questo modello si scrivono piccoli frammenti di codice (funzioni) basati su eventi, che vengono attivati da eventi specifici come una richiesta HTTP, un aggiornamento del database o un messaggio in una coda.

Il fornitore di servizi cloud si occupa del provisioning, del dimensionamento e della gestione dei server, permettendoti di concentrarti sulla scrittura e la distribuzione del tuo codice. Nell'architettura serverless, le risorse vengono scalate dinamicamente in base alla domanda in tempo reale. Durante i periodi di inattività, l'infrastruttura si riduce a zero, eliminando così il consumo di risorse e i costi.

D'altro canto, quando la domanda aumenta, il sistema si adatta automaticamente per gestire il maggiore carico di lavoro. Questa scalabilità dinamica garantisce un'efficienza in termini di costi, poiché la fatturazione si basa sulle risorse effettivamente utilizzate.

Come funzionano le funzioni serverless?

1. Attivatore dell'evento:

Le funzioni serverless sono basate sugli eventi, attivate da richieste HTTP, caricamenti di file, modifiche al database o altri eventi. L'evento definisce quando la funzione deve essere eseguita.

2. Esecuzione:

Una volta attivato un evento, il fornitore di servizi cloud predispone un ambiente leggero per eseguire la funzione. Questo ambiente viene spesso chiamato "container" o "ambiente di esecuzione". Il codice viene eseguito all'interno di questo ambiente, ma quest'ultimo è temporaneo e viene creato solo per la durata dell'esecuzione della funzione.

3. Scalabilità:

Le piattaforme serverless sono progettate per scalare automaticamente in base alla domanda. Se si verificano più eventi contemporaneamente, la piattaforma avvierà più istanze della funzione per gestirli, un processo spesso chiamato scalabilità orizzontale . 8 Il fornitore di servizi cloud gestisce tutto questo automaticamente, quindi non è necessario che tu gestisca l'infrastruttura.

4. Arresto:

Una volta terminata l'esecuzione della funzione, l'ambiente (container) viene arrestato. La funzione serverless non continua a funzionare né consuma risorse dopo aver completato il suo compito.

Vantaggi delle funzioni serverless

Nessuna gestione del server

Grazie alle funzionalità serverless, gli sviluppatori non devono preoccuparsi del provisioning, della gestione o della manutenzione dell'infrastruttura sottostante. Il provider cloud si occupa della gestione dei server, come l'applicazione di patch, il dimensionamento e il monitoraggio, consentendo agli sviluppatori di concentrarsi sulla scrittura e la distribuzione della logica di business.

Questo approccio semplifica la gestione di server, sistemi operativi o hardware, riducendo i problemi operativi per i team di sviluppo.

Ad esempio, con AWS Lambda, gli sviluppatori possono implementare le proprie funzioni senza dover gestire macchine virtuali, bilanciatori di carico o componenti di rete. La piattaforma predispone automaticamente le risorse necessarie per eseguire la funzione in risposta a un evento, garantendo l'esecuzione senza intervento manuale.

efficienza dei costi

Le funzioni serverless vengono generalmente fatturate in base all'utilizzo effettivo delle risorse, non in base alla potenza di calcolo preallocata o ai tempi di inattività. Questo modello pay-as-you-go consente alle aziende di pagare solo per il tempo in cui il codice è effettivamente in esecuzione, spesso misurato a un livello molto dettagliato. Ciò si differenzia dai modelli di cloud computing tradizionali, in cui si può pagare per la potenza di calcolo riservata anche quando non viene utilizzata.

Ad esempio, non si paga per la capacità inutilizzata se la funzione è inattiva o riceve poco traffico . D'altro canto, quando la domanda aumenta improvvisamente, la piattaforma regola automaticamente le risorse per soddisfare il carico senza costi aggiuntivi rispetto a quelli effettivamente utilizzati. Questo rende il serverless computing un'opzione davvero conveniente, soprattutto per i carichi di lavoro con modelli di traffico variabili che presentano fluttuazioni.

Ridimensionamento automatico

Una delle caratteristiche più potenti delle funzioni serverless è la loro capacità di scalare automaticamente al variare della domanda. Quando molti eventi attivano le funzioni contemporaneamente, la piattaforma predispone automaticamente risorse aggiuntive (come nuove istanze della funzione) per gestire il carico maggiore. Una volta che la domanda diminuisce, il sistema riduce le risorse, assicurandosi che venga utilizzata solo l'infrastruttura necessaria.

Ad esempio, durante eventi ad alto traffico come lanci di prodotti o vendite flash, una piattaforma serverless come AWS Lambda o Azure Functions avvierà risorse aggiuntive per gestire tutte quelle richieste extra. Al termine dell'evento, la piattaforma ridurrà le proprie risorse per risparmiare risorse e ridurre i costi.

Dispiegamento rapido

Le funzioni serverless possono essere implementate molto più velocemente rispetto alle applicazioni tradizionali, soprattutto se integrate con altri servizi. Questo perché è sufficiente scrivere piccoli blocchi di codice (funzioni) che vengono attivati da eventi specifici. L'implementazione consiste semplicemente nel caricare il codice della funzione sulla piattaforma e il sistema si occupa di tutto, dal provisioning delle risorse alla gestione degli ambienti di runtime.

La distribuzione rapida è fondamentale per accelerare i cicli di sviluppo. Gli sviluppatori possono sperimentare e iterare più velocemente perché non devono dedicare tempo alla configurazione dell'infrastruttura o alla gestione di complesse pipeline di distribuzione.

Questo può ridurre significativamente i tempi di rilascio di nuove funzionalità o di correzione dei bug, favorendo un processo di sviluppo più agile. Ad esempio, è possibile implementare rapidamente una funzione che reagisce al caricamento di un file in un servizio di archiviazione o a una richiesta API, senza dover gestire autonomamente l'infrastruttura.

Metodologia di benchmarking per le funzioni serverless

In questo test, abbiamo creato una funzione che verifica se il browser di un visitatore del sito è aggiornato in base al sistema operativo e allo user agent correnti. Volevamo vedere come ogni piattaforma gestisce questo tipo di richiesta, che implica la verifica di più user agent per gli aggiornamenti del browser.

Procedura di prova:

  1. Implementazione del codice: è stata scritta una funzione Python per analizzare la stringa User Agent di un visitatore. La funzione controlla il sistema operativo corrente e lo confronta con la versione del browser per verificare se quest'ultimo è aggiornato. Il codice consiste in un semplice confronto tra la versione corrente del browser e la versione supportata dal sistema operativo.
  2. Richieste parallele: la funzione è stata eseguita 1000 volte in parallelo, simulando traffico reale, utilizzando 10 thread per generare carico. Questo test verifica la capacità delle piattaforme di gestire più richieste contemporaneamente.
  3. Metriche di prestazione: Durante il test sono state raccolte diverse metriche di prestazione chiave per valutare le prestazioni di ciascuna piattaforma.

Per approfondire

Scopri gli ultimi sviluppi sulle piattaforme serverless consultando:

I 10+ migliori provider GPU serverless del 2025: AWS, Azure e altri

FAQ

Le funzioni serverless sono leggere e vengono eseguite in un ambiente stateless, dove il provider cloud gestisce il dimensionamento e la gestione delle risorse. Al contrario, le funzioni containerizzate impacchettano il codice con tutte le dipendenze in un container che può essere eseguito ovunque, consentendo un maggiore controllo sugli ambienti di esecuzione e sul dimensionamento.

Le funzioni serverless, come AWS Cloud Functions (991259_1724 o 991259_1712), sono basate sugli eventi e si adattano automaticamente alla domanda, senza la necessità di gestire l'infrastruttura. Le funzioni cloud si riferiscono a qualsiasi funzione di elaborazione basata sul cloud, ma sono in genere associate al modello serverless, in cui le risorse vengono fornite dinamicamente.

Sia AWS Lambda (servizi AWS) che Google Cloud Functions offrono ambienti serverless robusti. AWS Lambda si integra perfettamente con altri servizi AWS , consentendo una facile connessione tra le funzioni serverless e risorse come S3 o DynamoDB. Google Cloud Functions, d'altro canto, offre un solido supporto per linguaggi come Go e Python ed è altamente scalabile per la gestione della logica di business basata sugli eventi. La scelta dipende dall'ecosistema cloud esistente e dai requisiti specifici delle applicazioni serverless.

Le applicazioni serverless su piattaforme come AWS Workers consentono agli sviluppatori di implementare funzioni con un overhead minimo. AWS Workers connette le funzioni ad altri servizi AWS, mentre Workers si concentra sull'esecuzione a bassa latenza tramite il suo modello di edge computing. Entrambe le piattaforme gestiscono automaticamente il dimensionamento in base al traffico , quindi non è necessario preoccuparsi della gestione dell'infrastruttura. Queste piattaforme ottimizzano l'esecuzione del codice delle funzioni, migliorando le prestazioni e la scalabilità delle applicazioni serverless.

Sedat Dogan
Sedat Dogan
CTO
Sedat è un leader nel settore della tecnologia e della sicurezza informatica, con esperienza nello sviluppo software, nella raccolta di dati web e nella sicurezza informatica. Sedat: - Ha 20 anni di esperienza come hacker etico e guru dello sviluppo, con una vasta competenza nei linguaggi di programmazione e nelle architetture server. - È consulente di dirigenti di alto livello e membri del consiglio di amministrazione di aziende con operazioni tecnologiche ad alto traffico e di importanza critica, come le infrastrutture di pagamento. - Possiede una solida competenza commerciale oltre alla sua competenza tecnica.
Visualizza il profilo completo
Ricercato da
Ekrem Sarı
Ekrem Sarı
Ricercatore di intelligenza artificiale
Ekrem è un ricercatore di intelligenza artificiale presso AIMultiple, specializzato in automazione intelligente, GPU, agenti di intelligenza artificiale e framework RAG.
Visualizza il profilo completo

Sii il primo a commentare

Il tuo indirizzo email non verrà pubblicato. Tutti i campi sono obbligatori.

0/450