Hostování plánu spotřeby Flex služby Azure Functions

Flex Consumption je plán hostování Azure Functions založený na Linuxu, který vychází z modelu fakturace za to, co používáte bez serverů. Poskytuje větší flexibilitu a přizpůsobitelnost tím, že zavádí privátní sítě, výběr velikosti paměti instance a rychlé nebo rozsáhlé funkce škálování na více instancí a přitom stále používá bezserverový model. Flex Consumption je doporučený plán hostování bez serveru pro Azure Functions.

Můžete si projít kompletní ukázky s plánem Flex Consumption v úložišti ukázek tohoto plánu.

Benefits

Plán Flex Consumption vychází ze silných stránek bezserverového plánu Consumption, který zahrnuje dynamické škálování a fakturaci založenou na provádění. Díky funkci Flex Consumption získáte také tyto další funkce:

  • Kratší časy studeného startu: Povolte vždy připravené instance , abyste v porovnání s plánem Consumption dosáhli rychlejšího studeného startu.
  • Podpora virtuální sítě: Integrace virtuální sítě umožňuje, aby vaše aplikace bez serveru běžela ve virtuální síti.
  • Škálování jednotlivých funkcí: Každá funkce ve vaší aplikaci se škáluje nezávisle na základě úloh, což může mít za následek efektivnější přidělování prostředků.
  • Vylepšené zpracování souběžnosti: Lepší zpracování souběžných spuštění s konfigurovatelným nastavením souběžnosti na funkci
  • Konfigurace flexibilní paměti: Flex Consumption nabízí několik možností velikosti instancí , takže můžete optimalizovat konkrétní požadavky na úlohy.
  • Připojení služby Azure Files Storage: Připojte sdílené složky Azure Files přímo k aplikaci funkcí, aby váš kód mohl přistupovat k velkým binárním souborům, modelům ML a sdíleným datům bez jejich zabalení do nasazení.

Tato tabulka vám pomůže přímo porovnat funkce Flex Consumption s plánem hostování Consumption:

Feature Flexibilní Spotřeba Spotřeba
Škálování na nulu ✅ Ano ✅ Ano
Chování při škálování Řízený událostmi (rychlé) Řízené událostmi
Virtuální sítě ✅ Podporovaný ❌ Nepodporováno
Vyhrazený výpočetní výkon (zmírnění efektu studených startů) ✅ Vždy připravené instance (volitelné) ❌ Žádný
Billing Doba provádění a vždy připravené instance Pouze během provádění
Škálovací instance (maximum) 1 000 200
Připojení služby Azure Files Storage ✅ Podporovaný ❌ Nepodporováno
Podpora pro Windows ❌ Pouze Linux ✅ Ano

Úplné porovnání plánu Flex Consumption s plánem Consumption a všemi ostatními typy plánů a hostování najdete v tématu Možnosti škálování a hostování funkcí.

Návod

Pokud migrujete z plánu Consumption pro Linux, přečtěte si téma Migrace aplikací plánu Consumption do plánu Flex Consumption , kde najdete podrobné pokyny k migraci a důležité rozdíly mezi plány.

Integrace virtuální sítě

Flex Consumption rozšiřuje tradiční výhody plánu Consumption přidáním podpory pro integraci virtuální sítě. Když vaše aplikace běží v plánu Flex Consumption, můžou se připojit k dalším službám Azure zabezpečeným ve virtuální síti. Stále využíváte bezserverovou fakturaci a škálování společně s výhodami škálování a propustnosti plánu Flex Consumption. Další informace najdete v tématu Povolení integrace virtuální sítě.

Velikosti instancí

Při vytváření aplikace funkcí v plánu Flex Consumption můžete vybrat velikost paměti instancí, na kterých běží vaše aplikace. Informace o tom, jak velikosti paměti instancí ovlivňují náklady vaší aplikace funkcí, najdete v tématu Fakturace .

V současné době nabízí Flex Consumption tyto možnosti velikosti instance:

Paměť instance (MB) Jádra procesoru
512 0.25
2048 1
4096 2

Poznámka:

Zobrazené základní hodnoty procesoru jsou typické přidělení instancí se zadanou velikostí paměti. Počáteční instance ale můžou mít mírně odlišné přidělení jader, aby se zlepšil výkon. Každá instance Flex Consumption zahrnuje také 272 MB paměti přidělenou platformou jako vyrovnávací paměť pro systémové a hostitelské procesy. Tato paměť navíc nemá vliv na fakturaci. Platíte za nakonfigurovanou velikost paměti instance uvedenou v předchozí tabulce.

Při rozhodování o velikosti paměti instance pro vaše aplikace zvažte následující faktory:

  • Ve většině scénářů použijte velikost paměti instance 2 048 MB jako výchozí. Pro scénáře, které nejlépe vyhovují požadavkům vaší aplikace na souběžnost nebo výpočetní výkon, použijte velikosti paměti instance 512 MB a 4 096 MB. Další informace naleznete v tématu Konfigurace paměti instance.
  • Velikost paměti instance můžete kdykoli změnit. Další informace naleznete v tématu Konfigurace paměti instance.
  • Kód funkce a hostitel služby Functions sdílejí prostředky instance.
  • Čím větší je velikost paměti instance, tím více může každá instance zpracovávat souběžné spouštění nebo náročnější úlohy procesoru nebo paměti. Konkrétní rozhodnutí o škálování jsou specifická pro úlohy.
  • Výchozí souběžnost triggerů HTTP závisí na velikosti paměti instance. Další informace najdete v tématu Souběžnost triggeru HTTP.
  • Dostupné procesory a šířka pásma sítě jsou úměrné konkrétní velikosti instance.

Škálování podle funkcí

Souběžnost je klíčovým faktorem, který určuje, jak se funkční aplikace Flex Consumption škálují. Aby se zlepšil výkon aplikací s různými typy aktivačních událostí, plán Flex Consumption nabízí deterministický způsob škálování aplikace na základě jednotlivých funkcí.

Toto chování škálování jednotlivých funkcí je součástí hostitelské platformy, takže nemusíte konfigurovat aplikaci ani měnit kód. Další informace najdete v článku o škálování řízeném událostmi v článku o škálování založeném na funkcích.

Při škálování jednotlivých funkcí platforma rozhoduje o určitých triggerech funkcí na základě agregací skupin. Tato tabulka ukazuje definovanou sadu skupin škálování funkcí:

Škálování skupin Spouštěče ve skupině Hodnota nastavení
Spouště HTTP Spouštěč HTTP
SignalR spouštěč
http
Spouštění pro úložiště objektů blob
(založená na Event Gridu)
Spouštěč Blob Storage blob
Durable Functions Spouštěč orchestrace
Aktivace triggeru
Spouštěč entity
durable

Platforma škáluje všechny ostatní funkce v aplikaci jednotlivě ve své vlastní sadě instancí. Platforma odkazuje na tyto instance pomocí konvence function:<NAMED_FUNCTION>.

Vždy připravené instance

Flex Consumption obsahuje vždy připravenou funkci, kterou můžete použít k výběru instancí, které jsou vždy spuštěné a přiřazené ke každé skupině nebo funkcím škálování jednotlivých funkcí. Vždy připravená je skvělá možnost pro scénáře, ve kterých potřebujete mít minimální počet instancí, které jsou vždy připravené ke zpracování požadavků. Snižuje například latenci studeného spuštění vaší aplikace. Výchozí hodnota je 0 (nula).

Pokud například nastavíte vždy připraveno na hodnotu 2 pro skupinu funkcí HTTP, platforma udržuje pro tyto funkce vždy spuštěné dvě instance. Tyto instance zpracovávají vaše spuštění funkcí jako první. V závislosti na nastavení souběžnosti se platforma škáluje nad rámec těchto dvou instancí pomocí instancí na vyžádání.

V době , kdy je povolená redundance zóny, můžete nakonfigurovat maximálně dvě instance, které jsou vždy připravené pro každou funkci nebo skupinu funkcí.

Informace o konfiguraci vždy připravených instancí najdete v tématu Nastavení vždy připravených počtu instancí.

Concurrency

Souběžnost odkazuje na počet paralelních spuštění funkce v instanci vaší aplikace. Můžete nastavit maximální počet souběžných spuštění, které každá instance zpracovává v libovolném okamžiku. Souběžnost přímo ovlivňuje škálování vaší aplikace. Na nižších úrovních souběžnosti potřebujete více instancí pro zpracování poptávky řízené událostmi pro funkci. I když můžete řídit a doladit souběžnost, platforma poskytuje výchozí hodnoty, které ve většině případů fungují.

Informace o nastavení limitů souběžnosti pro funkce triggeru HTTP najdete v tématu Nastavení limitů souběžnosti HTTP. Informace o nastavení limitů souběžnosti pro funkce triggeru jiného typu než HTTP najdete v tématu Škálování cílového základního základu.

Připojení sdílených souborů

Flex Consumption umožňuje připojit sdílené složky Azure Files jako místní adresáře ve vaší aplikaci funkcí. Připojení je užitečné v případě, že potřebujete:

  • Zachovejte velké binární soubory mimo nasazení: Namontujte spustitelné soubory, jako je ffmpeg, místo jejich balení, abyste minimalizovali velikost nasazení a zrychlili úvodní spuštění.
  • Sdílení referenčních dat napříč instancemi: Všechny instance čtou modely ML, vyhledávací tabulky nebo data korpusu ze stejné sdílené složky bez stahování žádostí.
  • Sdílení souborů mezi aplikacemi: Aplikace producenta zapisuje a aplikace příjemce čte ze stejného připojení.

Podporují se pouze sdílené složky SMB (Server Message Block), NFS není k dispozici. Připojení se ověřují pomocí přístupového klíče účtu úložiště. Další informace najdete v tématu Volba strategie přístupu k souborům.

Informace o konfiguraci připojení úložiště najdete v tématu Připojení sdílených složek.

Deployment

Nasazení v plánu Flex Consumption se řídí jednou cestou. Není již potřeba, aby nastavení aplikace ovlivňovalo chování při nasazení. Kód projektu sestavíte a zazipujete do balíku aplikace, který pak nasadíte do kontejneru blob úložiště. Při spuštění aplikace načte balíček a spustí kód funkce z tohoto balíčku. Ve výchozím nastavení slouží stejný účet úložiště používaný k ukládání interních metadat hostitele (AzureWebJobsStorage) také jako kontejner nasazení. Můžete ale použít alternativní účet úložiště nebo zvolit upřednostňovanou metodu ověřování tím, že nakonfigurujete nastavení nasazení vaší aplikace.

Návod

Azure Portal poskytuje diagnostický nástroj Flex Consumption Deployment . Otevřete aplikaci Flex Consumption, vyberte Diagnostikovat a řešit problémy a vyhledejte Flex Consumption Deployment. Tento nástroj zobrazí podrobné informace o vašich nasazeních, včetně historie nasazení, stavu balíčku a doporučení pro řešení potíží.

Nasazení s nulovými výpadky

Poznámka:

Nasazení s nulovými výpadky pomocí kumulativních aktualizací jsou aktuálně ve verzi Public Preview.

Flex Consumption poskytuje nasazení s nulovými výpadky prostřednictvím kumulativních aktualizací jako strategie aktualizace lokality. Tato strategie umožňuje používat nasazení kódu a změny konfigurace postupně napříč instancemi bez přerušení provádění funkce. Jiné plány hostování využívají sloty nasazení k minimalizaci výpadků během nasazení. Možnosti nasazení ve všech plánech hostování najdete v tématu Optimalizace nasazení.

Billing

Při spouštění aplikací v plánu Flex Consumption se určují dva režimy, podle kterých se náklady určují. Každý režim je určen pro jednotlivé instance.

Režim fakturace Description
Na požádání Při spuštění v režimu na vyžádání se vám účtuje jenom doba, po kterou kód funkce běží na dostupných instancích. V režimu na vyžádání se nevyžaduje žádný minimální počet instancí. Fakturujeme vám:

• Celková velikost paměti poskytnutá během aktivního spouštění každé instance na vyžádání funkcí (v GB-sekundách), minus bezplatný příděl GB za měsíc.
• Celkový počet spuštění minus bezplatný grant (počet) spuštění za měsíc.
Vždy připraveno Můžete nakonfigurovat jednu nebo více instancí přiřazených ke konkrétním typům triggerů (HTTP/Durable/Blob) a jednotlivým funkcím, které jsou vždy k dispozici pro zpracování požadavků. Pokud máte povolené všechny vždy připravené instance, účtují se vám poplatky za:

• Celková velikost paměti zřízená ve všech vašich vždy připravených instancích, známá jako základní (v GB-sekundách).
• Celková velikost paměti zřízená během doby, kdy každá vždy připravená instance aktivně spouští funkce (v GB sekundách).
• Celkový počet provedení.

Ve vždy připravené fakturaci neexistují žádné bezplatné granty.

Informace o nejaktuálnějších cenách za provádění, vždy připravených základních nákladech a bezplatných grantech pro vykonání na vyžádání najdete na stránce s cenami služby Azure Functions.

Minimální fakturovatelná doba provádění pro oba režimy provádění je 1 000 ms. Od tohoto okamžiku se fakturace zaokrouhlí na nejbližších 100 ms. Podrobnosti o fakturačních měřičích plánu Flex Consumption lze nalézt v referenční příručce pro monitorování.

Podrobnosti o tom, jak se náklady počítají při používání plánu Flex Consumption, včetně příkladů, najdete v Náklady na základě spotřeby a Zobrazení dat souvisejících s náklady.

Podporované verze zásobníku jazyků

Tato tabulka ukazuje verze zásobníku jazyků, které jsou aktuálně podporované pro aplikace Flex Consumption:

Zásobník jazyků Požadovaná verze
C# (izolovaný model pracovního procesu)1 .NET 8, .NET 9, .NET 10
Java Java 8, Java 11, Java 17, Java 21, Java 25
Node.js Node.js 20, Node.js 22
PowerShell PowerShell 7.4
Python Python 3.10, Python 3.11, Python 3.12, Python 3.13
  1. Model in-process pro C# není podporován. Projekt .NET je potřeba migrovat do izolovaného modelu pracovního procesu.

Kvóty paměti regionálního předplatného

Všechny aplikace Flex Consumption v rámci konkrétního předplatného a oblasti sdílejí kvótu výpočetního výkonu, podobně jako sdílené množství prostředků. Tato kvóta se vztahuje pouze na aplikace Flex Consumption. Jiné plány hostování (Consumption, Premium a Dedicated) se do něj nezapočítávají. Kvóta omezuje, kolik celkového objemu výpočtů můžou aplikace Flex Consumption používat současně. Pokud se vaše aplikace pokusí kvótu překročit, můžou se některá spuštění a nasazení zpozdit nebo selhat a škálování se omezí. Stále ale můžete vytvářet nové aplikace.

Výchozí kvóta

Každá oblast v předplatném má výchozí kvótu 250 jader (ekvivalentní 512 000 MB) pro všechny kombinované instance aplikace Flex Consumption. Můžete použít libovolnou kombinaci velikostí a počtů instancí, pokud celkový počet jader zůstane v rámci kvóty.

Pokud chcete vypočítat použitá jádra, vynásobte počet jader na instanci počtem instancí:

Velikost instance Počet jader na instanci Formula
512 MB 0.25 instance × 0.25
2 048 MB 1 instance × 1
4 096 MB 2 instance × 2

Příklady kvót

Každý z těchto scénářů dosáhne limitu kvóty 250 jader. Po dosažení kvóty přestanou aplikace v oblasti škálovat:

Scenario Výpočet Celkový počet jader
Jedna 512 MB aplikace v 1 000 instancích 1 000 × 0,25 250
Dvě aplikace o velikosti 512 MB na 250 a 750 instancích (250 + 750) × 0,25 250
Jedna 2 048 MB aplikace v 250 instancích 250 × 1 250
Dvě 2 048 MB aplikace na 100 a 150 instancích (100 + 150) × 1 250
Jedna 4 096 MB aplikace v 125 instancích 125 × 2 250
Jedna 4 096 MB aplikace při 100 instancích + jedna 2 048 MB aplikace v 50 instancích (100 × 2) + (50 × 1) 250

Důležité poznámky

  • Flex Consumption se rychle škáluje na základě nastavení souběžnosti, takže aplikace často získávají a uvolňují jádra z kvótního limitu při změnách poptávky.
  • Aplikace Flex Consumption, které se škálují na nulu nebo instance označené ke škálování a odstranění, se do kvóty nezapočítávají.
  • Vždy připravené instance se započítávají do kvóty.
  • Azure Portal poskytuje nástroj Flex Consumption Quota. Ve svém předplatném otevřete libovolnou aplikaci Flex Consumption, vyberte Diagnostikovat a řešit problémy, vyhledejte Flex Consumption Quotaa pak zvolte oblast. Nástroj zobrazí doporučení, aktuální informace o kvótách a historická zobrazení využití.
  • Chcete-li tuto kvótu zvýšit, je třeba provést přezkum kapacity. Kvót tedy můžete zvýšit například z 250 jader na 1 000 jader nebo více. Pokud chcete požádat o větší kvótu, vytvořte lístek podpory nebo se obraťte na tým účtu Microsoft.

Zastaralé vlastnosti a nastavení

V plánu Flex Consumption je mnoho standardních nastavení aplikací a vlastností konfigurace lokality zastaralé nebo přesunuté. Tato nastavení nepoužívejte při automatizaci vytváření prostředků aplikace funkcí. Další informace najdete v tématu Vyřazení plánu Flex Consumption.

Considerations

Při používání plánu Flex Consumption mějte na paměti tyto aspekty:

  • Aplikace na plán Flex Consumption: Pro plán Flex Consumption můžete mít pouze jednu aplikaci.
  • Hostitel: Inicializace aplikace vyprší po 30 sekundách. Když spuštění aplikace funkcí trvá déle než 30 sekund, můžete vidět zaznamenané položky související s gRPC. Tento časový limit momentálně nejde nakonfigurovat. Další informace najdete v této pracovní položce hostitele.
  • Durable Functions: Azure Storage a Durable Task Scheduler jsou jedinými podporovanými poskytovateli úložiště pro Durable Functions, kteří jsou hostovaní v plánu Flex Consumption. Podívejte se na doporučení při hostování Durable Functions v plánu Flex Consumption.
  • Integrace virtuální sítě a registrace poskytovatele prostředků: K integraci do virtuální sítě, která je potřebná pro delegování podsítě, musíte mít Microsoft.App ve svém předplatném zaregistrovaného poskytovatele prostředků Azure. Azure Portal a Azure CLI vynucuje registraci při vytváření aplikace, protože integraci virtuální sítě můžete kdykoli po vytvoření aplikace povolit. Pokud chcete tohoto poskytovatele zaregistrovat, postupujte podle těchto pokynů. Delegování podsítí, které vyžadují aplikace Flex Consumption, je Microsoft.App/environments.
  • Trigger: Ačkoli jsou všechny triggery plně podporovány v plánu Flex Consumption, trigger pro úložiště Blob podporuje pouze zdroj Event Grid. Aplikace funkcí bez jazyka C# musí používat verzi [4.0.0, 5.0.0)sady rozšíření nebo novější verzi.
  • Oblasti: Plán Flex Consumption je sice dostupný v mnoha oblastech Azure, ale v současné době nepodporuje všechny oblasti. Další informace najdete v tématu Zobrazení aktuálně podporovaných oblastí.
  • Nasazení: Sloty nasazení nejsou v současné době podporovány. V případě nasazení s nulovým výpadkem pomocí Flex Consumption si přečtěte strategie aktualizace webu ve Flex Consumption.
  • Azure Storage jako místní sdílená složka: Sdílené složky systému souborů NFS (Network File System) nejsou k dispozici pro Flex Consumption. Podporují se pouze protokoly SMB (Server Message Block) a objekty blob Azure (jen pro čtení). Další informace najdete v tématu Připojení sdílených složek.
  • Měřítko: Nejnižší maximální měřítko je aktuálně 1. Nejvyšší aktuálně podporovaná hodnota je 1000.
  • Spravované závislosti PowerShellu: Flex Consumption nepodporuje spravované závislosti v PowerShellu. Místo toho musíte nahrát moduly s obsahem aplikace.
  • Certifikáty: Načítání certifikátů pomocí nastavení aplikace WEBSITE_LOAD_CERTIFICATES, spravovaných certifikátů, certifikátů služby App Service a dalších funkcí založených na certifikátech platformy, jako je endToEndEncryptionEnabled, není aktuálně podporováno.
  • Časová pásma: WEBSITE_TIME_ZONE A TZ nastavení aplikací se v současné době nepodporuje při spuštění v plánu Flex Consumption.
  • Verze modulu runtime a proxy služby Azure Functions: Flex Consumption podporuje pouze verzi 4.x a novější modulu runtime Azure Functions. Proxy Azure Functions byla funkce verzí 1.x až 3.x běhového prostředí Azure Functions a není k dispozici ve Flex Consumption.
  • Migrace plánu: Místní migrace existující aplikace funkcí z jiného plánu hostování do plánu Flex Consumption se nepodporuje. Aplikaci také nemůžete migrovat z Flex Consumption do jiného plánu. Pokud chcete přejít na Flex Consumption, musíte vytvořit novou aplikaci funkcí v plánu Flex Consumption a znovu nasadit kód.

Možnosti hostování Azure Functions– Vytváření a správa aplikací funkcí v plánu Flex Consumption