Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 funkce rychlého/rozsáhlého škálování na více instancí, které jsou stále založené na bezserverovém modelu.
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í. S Flex Consumption získáte také tyto další funkce:
- Kratší časy studeného spuštění: Povolte vždy připravené instance , abyste v porovnání s plánem Consumption dosáhli rychlejších časů studeného spuštění.
- 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.
- Per-Function škálování: 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í , které umožňují optimalizovat konkrétní požadavky na úlohy.
Tato tabulka vám pomůže přímo porovnat funkce Flex Consumption s plánem hostování Consumption:
| Feature | Spotřeba | Flexibilní Spotřeba |
|---|---|---|
| Škálování na nulu | ✅ Ano | ✅ Ano |
| Chování škálování | Řízené událostmi | Řízený událostmi (rychlé) |
| Virtuální sítě | ❌ Nepodporováno | ✅ Podporovaný |
| Vyhrazený výpočetní výkon (zmírnění efektu studených startů) | ❌ Žádný | ✅ Vždy připravené instance (volitelné) |
| Billing | Pouze doba provádění | Doba provádění a vždy připravené instance |
| Škálovací instance (maximum) | 200 | 1000 |
Ú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í.
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. A zároveň vám to umožňuje využívat výhod bezserverové fakturace 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 však mohou mít přidělena mírně odlišná jádra, aby se zlepšil jejich výkon. Každá instance Flex Consumption zahrnuje také dalších 272 MB paměti přidělených platformou jako vyrovnávací paměť pro systémové a hostitelské procesy. Tato další paměť nemá vliv na fakturaci a instance se účtují na základě nakonfigurované velikosti paměti instance uvedené v tabulce výše.
Při rozhodování o velikosti paměti instance pro použití s vašimi aplikacemi je potřeba vzít v úvahu některé věci:
- Velikost paměti instance 2 048 MB je výchozí a měla by se použít pro většinu scénářů. Velikosti paměti instance 512 MB a 4 096 MB jsou k dispozici pro scénáře, které nejlépe vyhovují požadavkům vaší aplikace na souběžnost nebo výpočetní výkon. 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.
- Prostředky instance se sdílejí mezi kódem funkce a hostitelem služby Functions.
- Čím větší je velikost paměti instance, tím více může každá instance zpracovat, pokud jde o souběžná spuš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 k dispozici proporcionální s konkrétní velikostí instance.
Škálování podle funkcí
Souběžnost je klíčovým faktorem, který určuje, jak se aplikace funkcí Flex Consumption škáluje. 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í se rozhodnutí pro určité triggery funkcí provádějí 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í |
|---|---|---|
| Triggery HTTP |
Trigger HTTP Aktivační událost SignalR |
http |
| Spouštění pro úložiště objektů blob (založená na Event Gridu) |
Spouštěč Blob Storage | blob |
| Durable Functions |
Aktivační událost orchestrace Trigger aktivity Trigger entity |
durable |
Všechny ostatní funkce v aplikaci se škálují jednotlivě ve vlastní sadě instancí, na které se odkazuje pomocí konvence function:<NAMED_FUNCTION>.
Vždy připravené instance
Flex Consumption zahrnuje funkci vždy připravenou pro výběr 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ů. Pokud chcete například snížit latenci studeného spuštění 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 dvě instance vždy spuštěné a přiřazené aplikaci pro funkce HTTP v aplikaci. Tyto instance zpracovávají spuštění vašich funkcí, ale v závislosti na nastavení souběžnosti se platforma dokáže rozšířit o další instance na vyžádání, nad rámec těchto dvou.
V době , kdy je povolená redundance zóny, je možné nakonfigurovat pro každou funkci nebo skupinu funkcí ne méně než dvě instance, které jsou vždy připravené.
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é by měl každý instance zvládnout v daném okamžiku. Souběžnost má přímý vliv na to, jak se vaše aplikace škáluje, protože 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, poskytujeme 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.
Deployment
Nasazení v plánu Flex Consumption se řídí jednou cestou a nastavení aplikace už nemusí ovlivnit chování nasazení. Po sestavení a zazipování kódu projektu do balíčku aplikace je tento pak nasazen do kontejneru v úložišti objektů blob. Při spuštění aplikace načte balíček a spustí kód funkce z tohoto balíčku. Ve výchozím nastavení se jako kontejner nasazení používá stejný účet úložiště, který slouží k ukládání interních metadat hostitele (AzureWebJobsStorage). 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.
Nasazení s nulovými výpadky
Poznámka:
Nasazení s nulovými výpadky s průběžnými aktualizacemi jsou aktuálně ve verzi Public Preview.
Flex Consumption poskytuje nasazení bez výpadků prostřednictvím kumulativních aktualizací jako strategie aktualizace lokality, která umožňuje postupné nasazování kódu a změny konfigurace v různých instancích bez přerušení provádění funkcí. 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 zřízená, zatímco každá instance na vyžádání aktivně spouští funkce (v GB sekundách), minus bezplatný grant 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 instancích, které jsou vždy připravené, označované jako standardní hodnoty (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 up-tocenách za provádění, které jsou vždy připravené podle směrného plánu a bezplatné granty 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. Poté se fakturovatelné období aktivity zaokrouhlí nahoru na nejbližších 100 ms. Podrobnosti o fakturačních měřičích plánu Flex Consumption najdete v referenčních informacích k 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 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 |
- Model in-process pro C# není podporován. Místo toho je potřeba migrovat projekt .NET do izolovaného modelu pracovního procesu.
Kvóty paměti regionálního předplatného
Plán Flex Consumption má kvótu založenou na paměti, která omezuje, kolik výpočetních prostředků můžou všechny aplikace Flex Consumption používat současně v konkrétní oblasti a předplatném. Představte si, že máte kbelík paměti měřený v GB nebo jádrech procesoru pro celé předplatné v oblasti. Všechny aplikace Flex Consumption v této oblasti sdílejí tento kbelík. Pokud se vaše aplikace Flex Consumption pokusí použít více než kvótu, můžou být některá spuštění zpožděná nebo omezena škálováním, ale nebudete zablokovaní v vytváření ani nasazování aplikací.
V současné době má každá oblast v daném předplatném výchozí kvótu ve výši nižší z hodnot mezi 512,000 MB a 250 jader pro všechny instance aplikací, které běží na plánech Flex Consumption. Tyto kvóty znamenají, že v daném předplatném a oblasti můžete mít libovolnou kombinaci velikostí a počtů paměti instance, pokud zůstanou pod limity kvóty. Například v každém z těchto scénářů se kvóta dosáhne a aplikace v oblasti přestanou škálovat:
- Máte jednu aplikaci o velikosti 512 MB na 250 instancí a druhou 512 MB aplikaci škálovanou na 750 instancí.
- Máte aplikaci s 512 MB, která je škálována na 1 000 instancí.
- Máte jednu aplikaci o velikosti 2 048 MB škálovanou na 100 instancí a druhou aplikaci o velikosti 2 048 MB škálovanou na 150 instancí.
- Měli jste jednu aplikaci o velikosti 2 048 MB, která se rozšířila na 250 instancí.
- Máte jednu 4 096 MB aplikaci, která byla škálována na 125 instancí.
- Máte jednu aplikaci o velikosti 4 096 MB škálovanou na 100 instancí a jednu 2 048 MB škálovanou na 50 instancí.
Aplikace Flex Consumption škálované na nulu nebo instance označené tak, aby se škálovaly a odstranily, se do kvóty nezapočítávají. Tuto kvótu můžete zvýšit, aby se aplikace Flex Consumption mohly škálovat dál podle vašich požadavků. Pokud vaše aplikace vyžadují větší kvótu, vytvořte lístek podpory.
Zastaralé vlastnosti a nastavení
V plánu Flex Consumption je mnoho standardních nastavení aplikací a vlastností konfigurace lokality zastaralé nebo přesunuté a nemělo by se používat 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 další aspekty:
- Aplikace dle plánu: Pro plán Flex Consumption je povolena pouze jedna aplikace.
- Hostitel: Existuje 30sekundový časový limit pro inicializaci aplikace. 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 je v současné době jediným podporovaným poskytovatelem úložiště pro Durable Functions, když je 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ě Podle
Microsoft.Appse ujistěte, že je pro vaše předplatné povolený poskytovatel prostředků Azure. Delegování podsítí, které vyžadují aplikace Flex Consumption, jeMicrosoft.App/environments. -
Triggery: I když jsou všechny triggery plně podporované v plánu Flex Consumption, trigger úložiště objektů blob podporuje pouze zdroj služby 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: V současné době se nepodporují všechny oblasti. Další informace najdete v tématu Zobrazení aktuálně podporovaných oblastí.
- Nasazení: Sloty nasazení se v současné době nepodporují. V případě nulového výpadku nasazení s flex consumption si přečtěte strategie aktualizace webu ve službě Flex Consumption.
- Azure Storage jako místní sdílená složka: Sdílené složky NFS nejsou k dispozici pro Flex Consumption. Podporují se jenom objekty SMB a objekty blob Azure (jen pro čtení).
-
Měřítko: Nejnižší maximální měřítko je aktuálně
40. Nejvyšší aktuálně podporovaná hodnota je1000. - Spravované závislosti: Služba 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ů s nastavením aplikace WEBSITE_LOAD_CERTIFICATES, spravovanými certifikáty, certifikáty služby App Service a dalšími funkcemi založenými na certifikátech platformy, jako je endToEndEncryptionEnabled, se v současné době nepodporuje.
-
Časová pásma:
WEBSITE_TIME_ZONEATZnastavení aplikací se v současné době nepodporuje při spuštění v plánu Flex Consumption.
Související články
Možnosti hostování Azure Functions– Vytváření a správa aplikací funkcí v plánu Flex Consumption