Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Consumo Flex è un piano di hosting di Funzioni di Azure basato su Linux che si basa sul modello di fatturazione serverless di pagamento a consumo per ciò che si usa. Offre maggiore flessibilità e personalizzazione introducendo funzionalità di rete privata, dimensioni della memoria dell'istanza e possibilità di scalabilità rapida o su larga scala, pur usando un modello serverless. Flex Consumption è il piano di hosting serverless consigliato per Funzioni di Azure.
Nel repository di esempi di piani a consumo Flex è possibile esaminare gli esempi end-to-end che includono il piano a consumo Flex.
Benefits
Il piano Flex Consumption si basa sui punti di forza del piano a consumo serverless, che includono la scalabilità dinamica e la fatturazione basata sull'esecuzione. Usando Flex Consumption, si ottengono anche queste funzionalità aggiuntive:
- Riduzione dei tempi di avvio a freddo: abilitare le istanze sempre pronte per ottenere tempi di avvio a freddo più rapidi rispetto al piano a consumo.
- Supporto della rete virtuale: l'integrazione della rete virtuale consente all'app serverless di essere eseguita in una rete virtuale.
- Scalabilità per funzione: ogni funzione nell'app viene ridimensionata in modo indipendente in base al carico di lavoro, causando potenzialmente un'allocazione più efficiente delle risorse.
- Gestione della concorrenza migliorata: migliore gestione delle esecuzioni simultanee con impostazioni di concorrenza configurabili per funzione.
- Configurazione flessibile della memoria: il consumo flessibile offre più opzioni di dimensioni delle istanze , in modo da poter ottimizzare i requisiti specifici del carico di lavoro.
- Montaggi di Memoria di Azure Files: Montare i punti di condivisione di Azure Files direttamente nell'app per le funzioni in modo che il codice possa accedere a file binari di grandi dimensioni, modelli di machine learning e dati condivisi senza includerli nel pacchetto durante la distribuzione.
Questa tabella consente di confrontare in modo diretto le funzionalità del piano a consumo Flex con il piano di hosting a consumo:
| Feature | Flex Consumption | Consumption |
|---|---|---|
| Ridimensionamento a zero | ✅ Sì | ✅ Sì |
| Comportamento di scalabilità | Guidata dagli eventi (veloce) | Guidata dagli eventi |
| Reti virtuali | ✅ Supportato | ❌ Non supportato |
| Calcolo dedicato (attenuazione degli avvii a freddo) | ✅ Istanze sempre pronte (facoltativo) | ❌ Nessuno |
| Billing | Tempo di esecuzione e istanze sempre pronte | Solo tempo di esecuzione |
| Istanze di scale-out (max) | 1,000 | 200 |
| Punti di montaggio dello storage di Azure Files | ✅ Supportato | ❌ Non supportato |
| Supporto di Windows | ❌ Solo Linux | ✅ Sì |
Per un raffronto completo del piano a consumo Flex rispetto al piano a consumo e a tutti gli altri tipi di piano e hosting, vedere Opzioni di scalabilità e hosting delle funzioni.
Suggerimento
Se si esegue la migrazione dal piano a consumo Linux, vedere Eseguire la migrazione delle app del piano a consumo al piano a consumo Flex per istruzioni dettagliate sulla migrazione e differenze importanti tra i piani.
Integrazione della rete virtuale
Flex Consumption si espande sui vantaggi tradizionali del piano a consumo aggiungendo il supporto per l'integrazione della rete virtuale. Le app eseguite in un piano a consumo Flex, possono connettersi ad altri servizi di Azure protetti all'interno di una rete virtuale. È comunque possibile trarre vantaggio dalla fatturazione e dalla scalabilità serverless, insieme ai benefici di scalabilità e velocità effettiva offerti dal piano Flex Consumption. Per altre informazioni, vedere Abilitare l'integrazione della rete virtuale.
Dimensioni dell'istanza
Durante la creazione dell'app per le funzioni in un piano a consumo Flex, è possibile selezionare le dimensioni di memoria delle istanze in cui viene eseguita l'app. Per informazioni su come le dimensioni della memoria delle istanze influiscono sui costi dell'app vedere Fatturazione.
Attualmente, Flex Consumption offre queste opzioni relative alle dimensioni dell'istanza:
| Memoria dell'istanza (MB) | Core CPU |
|---|---|
| 512 | 0.25 |
| 2048 | 1 |
| 4096 | 2 |
Annotazioni
I valori principali della CPU visualizzati sono allocazioni tipiche per le istanze con le dimensioni di memoria specificate. Tuttavia, le istanze iniziali potrebbero avere allocazioni di core leggermente diverse per migliorare le prestazioni. Ogni istanza di Consumo Flessibile include anche ulteriori 272 MB di memoria allocata dalla piattaforma come buffer per i processi di sistema e host. Questa memoria aggiuntiva non influisce sulla fatturazione. Si paga per le dimensioni di memoria dell'istanza configurate illustrate nella tabella precedente.
Quando si decide quale dimensione della memoria dell'istanza usare con le app, considerare i fattori seguenti:
- Usare le dimensioni di memoria dell'istanza di 2.048 MB come impostazione predefinita per la maggior parte degli scenari. Usare le dimensioni di memoria di istanza da 512 MB e 4.096 MB per scenari più adatti ai requisiti di concorrenza o di elaborazione dell'applicazione. Per altre informazioni, vedere Configurare la memoria dell'istanza.
- Le dimensioni della memoria dell'istanza sono modificabili in qualsiasi momento. Per altre informazioni, vedere Configurare la memoria dell'istanza.
- Il codice della funzione e l'host di Funzioni condividono le risorse dell'istanza.
- Maggiore è la dimensione della memoria dell'istanza, più ogni istanza può gestire esecuzioni simultanee o carichi di lavoro di CPU o memoria più intensivi. Le decisioni di scalabilità specifiche si basano sul carico di lavoro.
- La concorrenza predefinita dei trigger HTTP dipende dalle dimensioni della memoria dell'istanza. Per altre informazioni, vedere concorrenza del trigger HTTP.
- Le CPU disponibili e la larghezza di banda di rete sono proporzionali a una dimensione di istanza specifica.
Ridimensionamento per funzione
La concorrenza è un fattore chiave che determina la scalabilità delle app per le funzioni Flex Consumption. Per migliorare le prestazioni di ridimensionamento delle app con vari tipi di trigger, il piano a consumo Flex offre un modo più deterministico per ridimensionare l'app per funzione.
Questo comportamento di ridimensionamento per funzione fa parte della piattaforma di hosting, quindi non è necessario configurare l'app o modificare il codice. Per altre informazioni, vedere Scalabilità per funzione nell'articolo Ridimensionamento basato su eventi.
Nel ridimensionamento per funzione, la piattaforma prende decisioni per determinati trigger di funzione in base alle aggregazioni di gruppi. La seguente tabella mostra il set definito di gruppi di scalabilità di funzioni:
| Gruppi di scalabilità | Trigger nel gruppo | Valore delle impostazioni |
|---|---|---|
| Trigger HTTP |
Trigger HTTP Attivatore SignalR |
http |
| Trigger di archiviazione BLOB (basato su Griglia di eventi) |
Trigger di archiviazione BLOB | blob |
| Durable Functions |
Trigger di orchestrazione Trigger attività Trigger entità |
durable |
La piattaforma ridimensiona tutte le altre funzioni nell'app singolarmente nel proprio set di istanze. La piattaforma fa riferimento a queste istanze usando la convenzione function:<NAMED_FUNCTION>.
Istanze sempre pronte
Flex Consumption include una funzionalità sempre pronta che è possibile usare per scegliere le istanze sempre in esecuzione e assegnate a ognuno dei gruppi o delle funzioni di scalabilità per funzione. Always Ready è un'ottima opzione per gli scenari in cui è necessario avere un numero minimo di istanze sempre pronte per gestire le richieste. Ad esempio, riduce la latenza di avvio a freddo dell'applicazione. Il valore predefinito è 0 (zero).
Ad esempio, se si imposta sempre pronto su 2 per il gruppo HTTP di funzioni, la piattaforma mantiene sempre in esecuzione due istanze per tali funzioni. Queste istanze elaborano prima le esecuzioni delle funzioni. A seconda delle impostazioni di concorrenza, la piattaforma viene ridimensionata oltre le due istanze usando istanze su richiesta.
È possibile configurare non meno di due istanze sempre pronte per ogni funzione o gruppo di funzioni mentre la ridondanza della zona è abilitata.
Per informazioni su come configurare le istanze sempre pronte, vedere Impostare il numero di istanze sempre pronte.
Concurrency
La concorrenza fa riferimento al numero di esecuzioni simultanee di una funzione in un'istanza dell'app. È possibile impostare un numero massimo di esecuzioni simultanee gestite da ogni istanza in un determinato momento. La concorrenza influisce direttamente sulla scalabilità dell'app. A livelli di concorrenza inferiori, sono necessarie più istanze per gestire la richiesta guidata dagli eventi per una funzione. Sebbene sia possibile controllare e ottimizzare la concorrenza, la piattaforma fornisce impostazioni predefinite che funzionano per la maggior parte dei casi.
Per informazioni su come impostare i limiti di concorrenza per le funzioni di trigger HTTP, vedere Impostare i limiti di concorrenza HTTP. Per informazioni su come impostare i limiti di concorrenza per le funzioni trigger non HTTP, vedere Scalabilità di base di destinazione.
Montare condivisioni file
Flex Consumption consente di montare le condivisioni di File di Azure come directory locali nell'app per le funzioni. Il montaggio è utile quando è necessario:
- Mantenere i file binari di grandi dimensioni fuori dalla distribuzione: montate file eseguibili come ffmpeg invece di includerli nei pacchetti, così da mantenere le distribuzioni leggere e velocizzare i tempi di avvio a freddo.
- Condividere i dati di riferimento tra istanze: tutte le istanze leggono modelli di Machine Learning, tabelle di ricerca o dati del corpus dalla stessa condivisione senza download per richiesta.
- Condividere file tra app: un'app producer scrive e un'app consumer legge dallo stesso montaggio.
Sono supportate solo le condivisioni SMB (Server Message Block) (NFS non è disponibile). Monta l'autenticazione usando una chiave di accesso dell'account di archiviazione. Per altre informazioni, vedere Scegliere una strategia di accesso ai file.
Per informazioni su come configurare i montaggi di storage, vedere Condivisioni di file.
Deployment
Le distribuzioni nel piano Flex Consumption seguono un unico percorso. Non è più necessario che le impostazioni dell'app influisca sul comportamento della distribuzione. Compilare e comprimere il codice del progetto in un pacchetto dell'applicazione e quindi distribuirlo in un contenitore di archiviazione BLOB. All'avvio, l'app ottiene il pacchetto ed esegue il codice della funzione di questo pacchetto. Per impostazione predefinita, lo stesso account di archiviazione usato per archiviare i metadati host interni (AzureWebJobsStorage) funge anche da contenitore di distribuzione. Tuttavia, è possibile usare un account di archiviazione alternativo o scegliere il metodo di autenticazione preferito configurando le impostazioni di distribuzione dell’app.
Suggerimento
Il portale di Azure offre uno strumento di diagnostica implementazione a consumo flessibile. Aprire l'app Flex Consumption, selezionare Diagnosi e risoluzione dei problemi e cercare Flex Consumption Deployment. Questo strumento visualizza informazioni dettagliate sulle distribuzioni, tra cui la cronologia della distribuzione, lo stato del pacchetto e le raccomandazioni per la risoluzione dei problemi.
Distribuzioni senza tempo di inattività
Annotazioni
Le implementazioni senza interruzioni utilizzando gli aggiornamenti in sequenza sono attualmente in anteprima pubblica.
Il Consumo Flessibile offre distribuzioni senza tempi di inattività tramite aggiornamenti in sequenza come strategia di aggiornamento del sito. Questa strategia consente di applicare gradualmente distribuzioni di codice e modifiche di configurazione tra istanze senza interrompere l'esecuzione della funzione. Altri piani di hosting usano gli slot di distribuzione per ridurre al minimo i tempi di inattività durante le distribuzioni. Per le opzioni di distribuzione in tutti i piani di hosting, vedere Ottimizzare le distribuzioni.
Billing
La determinazione dei costi di esecuzione delle app con il piano a consumo Flex avviene in base a due modalità. Ciascuna modalità è determinata per istanza.
| Modalità di fatturazione | Description |
|---|---|
| Su richiesta | Quando si esegue in modalità su richiesta, la fatturazione avviene solo per il tempo in cui il codice della funzione viene eseguito nelle tue istanze disponibili. La modalità on demand non richiede un numero minimo di istanze. La fatturazione concerne: • Quantità totale di memoria allocata mentre ogni istanza su richiesta esegue attivamente funzioni (in GB-secondi), meno una quota gratuita di GB-s al mese. • Il numero totale di esecuzioni, meno una concessione gratuita (un numero) di esecuzioni al mese. |
| Sempre pronto | È possibile configurare una o più istanze, assegnate a tipi di trigger specifici (HTTP/Durable/Blob) e singole funzioni, sempre disponibili per gestire le richieste. Con l'abilitazione delle istanze sempre pronte, la fatturazione concerne: • Quantità di memoria provisionata in tutte le istanze sempre attive, note come baseline (in GB-seconds). • La quantità totale di memoria di cui è stato effettuato il provisioning durante il tempo in cui ogni istanza sempre pronta sta eseguendo attivamente funzioni (in GB-secondi). • Il numero totale di esecuzioni. La fatturazione di istanze sempre pronte non prevede concessioni gratuite. |
Per le informazioni più aggiornate sui prezzi di esecuzione, sui costi baseline di sempre pronte e sulle concessioni gratuite per le esecuzioni on demand, vedere Pagina prezzi di Funzioni di Azure.
Il periodo di esecuzione minimo fatturabile per entrambe le modalità di esecuzione è 1.000 ms. Dopo quel punto, la fatturazione arrotonda fino a 100 ms più vicina. Per informazioni dettagliate sui contatori di fatturazione del piano a consumo flessibile, vedere le informazioni di riferimento sul monitoraggio.
Per informazioni dettagliate sul modo in cui i costi vengono calcolati durante l'esecuzione in un piano a consumo flessibile, inclusi esempi, vedere Costi basati sulconsumo e Visualizzazione dei dati correlati ai costi.
Versioni stack di linguaggio supportate
Questa tabella mostra le versioni dello stack di linguaggio attualmente supportate per le app con piano a consumo Flex:
| Pila di linguaggi | Versione richiesta |
|---|---|
| C# (modello di lavoro isolato)1 | .NET 8, .NET 9, .NET 10 |
| Java | Java 11, Java 17, Java 21 |
| Node.js | Node.js 20, Node.js 22 |
| PowerShell | PowerShell 7.4 |
| Python | Python 3.10, Python 3.11, Python 3.12 |
- Il modello in-process C# non è supportato. È necessario eseguire la migrazione del progetto .NET al modello di lavoro isolato.
Quote di memoria della sottoscrizione a livello di area
Tutte le app Flex Consumption in una sottoscrizione e un'area condividono una quota di calcolo, ad esempio un bucket condiviso di risorse. Questa quota si applica solo alle app Flex Consumption. Altri piani di hosting (Consumo, Premium e Dedicato) non vengono conteggiati rispetto a esso. La quota limita la quantità totale di calcolo che le app Flex Consumption possono usare contemporaneamente. Nel caso in cui le app tentino di superare la quota, alcune esecuzioni e distribuzioni potrebbero essere ritardate o non riuscire, e la scalabilità viene limitata. Tuttavia, è comunque possibile creare nuove app.
Quota predefinita
Ogni area di una sottoscrizione ha una quota predefinita di 250 core (pari a 512.000 MB) per tutte le istanze dell'applicazione Flex Consumption combinate. È possibile usare qualsiasi combinazione di dimensioni e conteggi dell'istanza, purché i core totali rimangano sotto la quota.
Per calcolare i core usati, moltiplicare i core per istanza per il numero di istanze.
| Dimensioni dell'istanza | Core per istanza | Formula |
|---|---|---|
| 512MB | 0.25 | istanze × 0.25 |
| 2.048 MB | 1 | istanze × 1 |
| 4.096 MB | 2 | istanze × 2 |
Esempi di quota
Ognuno di questi scenari raggiunge il limite di quota di 250 core. Quando viene raggiunta la quota, le app nell'area arrestano il ridimensionamento:
| Scenario | Calcolo | Core totali |
|---|---|---|
| Un'app da 512 MB per 1.000 istanze | 1.000 × 0,25 | 250 |
| Due app da 512 MB con 250 e 750 istanze ciascuna | (250 + 750) × 0,25 | 250 |
| Un'applicazione da 2.048 MB a 250 istanze | 250 × 1 | 250 |
| Due app da 2.048 MB ciascuna, rispettivamente in 100 e 150 istanze | (100 + 150) × 1 | 250 |
| Un'app da 4.096 MB per 125 istanze | 125 × 2 | 250 |
| Un'applicazione da 4.096 MB a 100 istanze + un'applicazione da 2.048 MB a 50 istanze | (100 × 2) + (50 × 1) | 250 |
Note importanti
- Il consumo flessibile si ridimensiona rapidamente in base alle impostazioni di concorrenza, quindi le app acquisiscono e rilasciano frequentemente i core dalla quota man mano che la domanda cambia.
- Le app a consumo flessibile che possono scalare a zero oppure istanze contrassegnate per ridurre e cancellare non vengono conteggiate rispetto alla quota.
- Le istanze sempre pronte vengono conteggiate nella quota.
- Il portale di Azure offre uno strumento Flex Consumption Quota. Aprire qualsiasi app Flex Consumption nella sottoscrizione, selezionare Diagnosticare e risolvere i problemi, cercare
Flex Consumption Quotae quindi scegliere un'area. Lo strumento visualizza raccomandazioni, informazioni sulle quote correnti e visualizzazioni di utilizzo cronologiche. - È possibile aumentare questa quota in attesa di revisione della capacità, ad esempio da 250 core a 1.000 core o più. Per richiedere una quota maggiore, creare un ticket di supporto o contattare il team dell'account Microsoft.
Proprietà e impostazioni deprecate
Nel piano Flex Consumption, molte impostazioni dell'applicazione standard e molte proprietà di configurazione del sito sono deprecate o spostate. Non usare queste impostazioni quando si automatizza la creazione di risorse dell'app per le funzioni. Per altre informazioni, vedere Deprecazione nel piano a consumo Flex.
Considerations
Tenere presenti queste considerazioni quando si usa il piano Flex Consumption:
- App per piano: è possibile avere una sola app per ogni piano a consumo flex.
-
Host: timeout dell'inizializzazione dell'app dopo 30 secondi. Quando l'avvio dell'app per le funzioni richiede più di 30 secondi, potrebbero essere registrate voci
System.TimeoutExceptioncorrelate a gRPC. Non è attualmente possibile configurare questo timeout. Per altre informazioni, vedere questo elemento di lavoro dell'host. - Durable Functions: l'archiviazione di Azure e il pianificatore di attività durevole sono gli unici provider di archiviazione supportati per Durable Functions quando sono ospitati nel piano Consumo Flessibile. Vedere le raccomandazioni per l'hosting di Durable Functions nel piano Flex Consumption.
-
Integrazione della rete virtuale e registrazione del provider di risorse: è necessario che il
Microsoft.Appprovider di risorse di Azure sia registrato nella sottoscrizione per l'integrazione in una rete virtuale, necessaria per la delega della subnet. Il portale di Azure e l'interfaccia della riga di comando di Azure applicano la registrazione al momento della creazione dell'app perché è possibile abilitare l'integrazione della rete virtuale in qualsiasi momento dopo la creazione dell'app. Per registrare questo provider, seguire queste istruzioni. La delega della subnet richiesta dalle app a consumo Flex èMicrosoft.App/environments. -
Trigger: mentre tutti i trigger sono completamente supportati in un piano a consumo flessibile, il trigger di archiviazione BLOB supporta solo l'origine griglia di eventi. Le app per le funzioni non C# devono usare la versione
[4.0.0, 5.0.0)del bundle di estensione o una versione successiva. - Aree: mentre il piano a consumo Flex è disponibile in molte aree di Azure, attualmente non supporta tutte le aree. Per altre informazioni, vedere Visualizzare le aree attualmente supportate.
- Distribuzioni: gli slot di distribuzione non sono attualmente supportati. Per le distribuzioni senza interruzioni tramite Flex Consumption, vedere Strategie di aggiornamento del sito in Flex Consumption.
- Archiviazione di Azure come condivisione locale: le condivisioni file NFS (Network File System) non sono disponibili per Consumo Flessibile. Sono supportati solo SMB (Server Message Block) e BLOB di Azure (sola lettura). Per altre informazioni, vedere Montare condivisioni file.
-
Scala: la scala massima più bassa è attualmente
1. Il valore più alto attualmente supportato è1000. - Dipendenze gestite di PowerShell: Flex Consumption non supporta le dipendenze gestite in PowerShell. È invece necessario caricare moduli con contenuto dell'app.
-
Certificati: il caricamento dei certificati tramite l'impostazione dell'app
WEBSITE_LOAD_CERTIFICATES, i certificati gestiti, i certificati del servizio app e altre funzionalitàendToEndEncryptionEnabledbasate su certificati della piattaforma come non sono attualmente supportate. -
Fusi orari:
WEBSITE_TIME_ZONEeTZle impostazioni dell'app non sono attualmente supportate quando è in esecuzione nel piano Flex Consumption. - Versione e proxy di runtime di Funzioni di Azure: il Consumo Flessibile è compatibile solo con la versione 4.x e successive del runtime di Funzioni di Azure. I proxy di Funzioni di Azure sono una funzionalità delle versioni da 1.x a 3.x del runtime di Funzioni di Azure e non sono disponibili in Flex Consumption.
- Pianificazione della migrazione: la migrazione sul posto di un'app per le funzioni esistente da un altro piano di hosting al piano Flex Consumption non è supportata. Non è anche possibile eseguire la migrazione dell'app dal consumo flessibile a un altro piano. Per passare a Flex Consumption, è necessario creare una nuova app per le funzioni in un piano a consumo Flex e ridistribuire il codice.
Articoli correlati
Opzioni di hosting di Funzioni di AzureCreare e gestire le app per le funzioni nel piano a consumo Flex