Azure Functions Premium plánu

Plán Azure Functions Elastic Premium je možnost hostování v dynamickém měřítku pro aplikace funkcí. Další možnosti plánu hostování najdete v článku o plánu hostování.

Důležité

Azure Functions běží na Azure App Service platformě. Na platformě App Service plány, které hostují Premium plán aplikací funkcí, se označují jako plány elastických Premium s názvy SKU, jako EP1 je . Pokud se rozhodnete aplikaci funkcí spustit v plánu Premium, nezapomeňte vytvořit plán s názvem SKU, který začíná na "E", například EP1 . App Service plánují SKU, které začínají na "P", například (plán Premium V2 Small), jsou ve skutečnosti P1V2 plány vyhrazeného hostování. Vzhledem k tomu, že jsou vyhrazené a ne elastické Premium, plány s názvy SKU začínající na "P" se nebudou dynamicky škálovat a mohou zvýšit vaše náklady.

Premium plán poskytuje vašim funkcím následující výhody:

  • Vyhněte se studeným startům s neustále teplémi instancemi
  • Připojení k virtuální síti.
  • Neomezená doba trvání provádění se zaručenou 60 minutou
  • Premium instancí: jedno jádro, dvě jádra a čtyři základní instance.
  • Předvídatelnější ceny v porovnání s plánem Consumption
  • Přidělování aplikací s vysokou hustotou pro plány s více aplikacemi funkcí

Když používáte plán Premium, instance hostitele Azure Functions se přidávají a odebraly na základě počtu příchozích událostí, stejně jako v plánu Consumption. Do stejného plánu funkce je možné nasadit více Premium funkcí a plán umožňuje nakonfigurovat velikost výpočetní instance, velikost základního plánu a maximální velikost plánu.

Fakturace

Fakturace plánu Premium vychází z počtu sekund jádra a paměti přidělené mezi instancemi. Tato fakturace se liší od plánu Consumption, který se účtuje podle spuštění a spotřebované paměti. U plánu Premium se neúčtují žádné poplatky. Pro každý plán musí být přidělena alespoň jedna instance za všech okolností. Výsledkem této fakturace jsou minimální měsíční náklady na aktivní plán bez ohledu na to, jestli je funkce aktivní nebo nečinná. Mějte na paměti, že všechny aplikace funkcí v Premium plán sdílejí přidělené instance. Další informace najdete na stránce s cenami Azure Functions.

Vytvoření Premium plánu

Při vytváření aplikace funkcí v Azure Portal výchozím plánem Consumption. Pokud chcete vytvořit aplikaci funkcí, která běží v Premium, musíte explicitně vytvořit plán App Service pomocí jedné ze SKU Elastic Premium. Aplikace funkcí, kterou vytvoříte, se pak hostuje v tomto plánu. Tento Azure Portal usnadňuje vytvoření plánu Premium a aplikace funkcí současně. Můžete spustit více aplikací funkcí ve stejném plánu Premium, ale většina z nich běží ve stejném operačním systému (Windows nebo Linuxu).

Následující články ukazují, jak vytvořit aplikaci funkcí s plánem Premium, a to buď prostřednictvím kódu programu, nebo v Azure Portal:

Eliminace studených startů

Pokud v plánu Consumption nedojde k událostem nebo spuštěním, vaše aplikace se může škálovat na nulu instancí. Když se zobrazí nové události, musí být nová instance, na které běží vaše aplikace, specializovaná. Specializace nových instancí může v závislosti na aplikaci nějakou dobu trvat. Tato další latence při prvním volání se často nazývá studený start aplikace.

Premium plán poskytuje dvě funkce, které společně eliminují studené starty ve vašich funkcích: instance připravené vždy a předem zahřejené instance.

Instance always ready

V Premium můžete mít aplikaci vždy připravenou na zadaný počet instancí. Maximální počet instancí always ready je 20. Když události začnou aplikaci aktivovat, nejprve se přesídí na instance, které jsou vždy připravené. Jakmile bude funkce aktivní, další instance se zahřeje jako vyrovnávací paměť. Tato vyrovnávací paměť zabraňuje studenému startu pro nové instance vyžadované během škálování. Tyto instance ve vyrovnávací paměti se nazývají předem zahřejené instance. Díky kombinaci vždy připravených instancí a předem zahřejené vyrovnávací paměti může vaše aplikace efektivně eliminovat studený start.

Poznámka

Každý plán Premium má za všech okolností alespoň jednu aktivní (fakturované) instanci.

Počet instancí, které jsou vždy připravené, můžete nakonfigurovat Azure Portal vaší aplikace function app, na kartě Funkce platformy a výběrem možností Škálovat na více instancí. V okně pro úpravy aplikace funkcí jsou instance připravené vždy specifické pro tuto aplikaci.

Elastické škálování Nastavení

Předem zahřejené instance

Předem zahřejené instance jsou během událostí škálování a aktivace zahřejeny jako vyrovnávací paměť. Předem zahřejené instance budou dál do vyrovnávací paměti, dokud se nedosáhne maximálního limitu horizontálního navýšení velikosti. Výchozí počet zahřejených instancí je 1 a ve většině scénářů by tato hodnota měla zůstat 1.

Pokud má aplikace dlouhou dobu zahřeje (například vlastní image kontejneru), možná budete muset tuto vyrovnávací paměť zvětšit. Předem zahřejená instance se stane aktivní až po dostatečném použití všech aktivních instancí.

Představte si tento příklad toho, jak instance připravené vždy a předem zahřejené instance spolupracují. Aplikace funkcí Premium má nakonfigurovaných pět vždy připravených instancí a výchozí hodnotu jedné předem zahřejené instance. Když je aplikace nečinná a nespouštějí se žádné události, zřiní se a spustí s pěti instancemi. V tuto chvíli se vám neúčtuje předem zahřejená instance, protože instance připravené vždy se nevyužívá a není přidělena žádná předem připravená instance.

Jakmile se aktivuje první trigger, aktivuje se pět instancí, které jsou vždy připravené, a přidělí se předem zahřejená instance. Aplikace je teď spuštěná se šesti zřízenou instancí: pěti nyní aktivními instancemi, které jsou vždy připravené, a šestou předem zahřejené a neaktivní vyrovnávací paměť. Pokud se rychlost provádění bude dál zvyšovat, použije se nakonec pět aktivních instancí. Když se platforma rozhodne škálovat nad rámec pěti instancí, škáluje se na předem zahřejené instance. Když k tomu dojde, je teď šest aktivních instancí a sedmá instance se okamžitě zřídí a vyplní předem zahřejené vyrovnávací paměti. Tato posloupnost škálování a předběžného zahřejování pokračuje, dokud se nedosáhnou maximálního počtu instancí aplikace. Žádné instance nejsou předem zahřejeny nebo aktivovány nad rámec maximálního počtu instancí.

Počet předem zahřejených instancí pro aplikaci můžete upravit pomocí Azure CLI.

az resource update -g <resource_group> -n <function_app_name>/config/web --set properties.preWarmedInstanceCount=<desired_prewarmed_count> --resource-type Microsoft.Web/sites

Maximální počet instancí aplikace funkcí

Kromě maximálního počtu instancí plánu můžetenakonfigurovat maximum pro každou aplikaci. Maximální počet aplikací je možné nakonfigurovat pomocí limitu škálování aplikace.

Připojení privátní sítě

Aplikace funkcí nasazené do Premium plánu mohou využívat integraci virtuální sítě pro webové aplikace. Po nakonfigurování může aplikace komunikovat s prostředky v rámci vaší virtuální sítě nebo zabezpečená prostřednictvím koncových bodů služby. V aplikaci jsou také dostupná omezení IP adres, která omezují příchozí provoz.

Při přiřazování podsítě k vaší aplikaci funkcí v Premium plánu potřebujete podsíť s dostatečnými IP adresami pro každou potenciální instanci. Vyžadujeme blok IP adres s alespoň 100 dostupnými adresami.

Další informace najdete v tématu Integrace aplikace funkcí s virtuální sítí.

Rychlé elastické škálování

Další výpočetní instance se pro vaši aplikaci automaticky přidávají pomocí stejné logiky rychlého škálování jako plán Consumption. Aplikace ve stejné App Service se škálují nezávisle na sobě navzájem na základě potřeb jednotlivých aplikací. Pokud je to možné, aplikace Functions ve App Service plán sdílejí prostředky virtuálního počítače, aby se snížily náklady. Počet aplikací přidružených k virtuálnímu počítači závisí na stopách jednotlivých aplikací a velikosti virtuálního počítače.

Další informace o tom, jak škálování funguje, najdete v tématu Škálování řízené událostmi v Azure Functions.

Delší doba trvání

Azure Functions v plánu Consumption jsou při jednom spuštění omezené na 10 minut. V Premium plánu je výchozí doba trvání spuštění 30 minut, aby se zabránilo neschycená spuštění. Konfiguraci host.json ale můžete upravit tak, aby se doba trvání pro aplikace Premium nevázané. Pokud je nastavená doba trvání bez vázaného připojení, je zaručeno, že se vaše aplikace funkcí bude spouštět alespoň 60 minut.

Plánování a nastavení SKU

Při vytváření plánu existují dvě nastavení velikosti plánu: minimální počet instancí (nebo velikost plánu) a maximální limit shluků.

Pokud vaše aplikace vyžaduje instance nad rámec instancí, které jsou připravené vždy, může i nadále škálovat na více instancí, dokud počet instancí nedosáhne maximálního limitu shluků. Účtují se za instance přesahující váš plán jenom v době, kdy jsou spuštěné a přidělují se vám za sekundu. Platforma díky tomu nejlépe omezuje kapacitu aplikace na definovaný maximální limit.

Velikost plánu a maximum v Azure Portal můžete nakonfigurovat výběrem možností horizontálního navýšení kapacity v plánu nebo aplikace Function App nasazené do tohoto plánu (v části funkce platformy).

Můžete taky zvýšit maximální limit shluku z Azure CLI:

az functionapp plan update -g <resource_group> -n <premium_plan_name> --max-burst <desired_max_burst>

Minimální pro každý plán bude nejméně jedna instance. Skutečný minimální počet instancí, které se automaticky nakonfigurují za vás, a to v závislosti na instancích Always Reading požadovaných aplikacemi v plánu. Pokud například aplikace A požaduje pět instancí vždy připraveno a aplikace B požádá dva instance vždy připravené ve stejném plánu, bude minimální velikost plánu vypočítána jako pět. App A bude běžet na všech 5 a aplikace B bude běžet jenom na 2.

Důležité

Za každou instanci přidělenou v minimálním počtu instancí se účtuje bez ohledu na to, jestli jsou funkce spuštěné nebo ne.

Ve většině případů je toto minimální vypočítané minimum dostačující. Škálování nad rámec minima ale dosáhne nejvyšší intenzity. Je možné, že pokud nejsou k dispozici další instance, může být v určité době nepravděpodobné, že se v určitém časovém limitu může zpozdit škálování. Nastavením minimálního minimálního počtu automatického vypočítaného minima rezervujete instance předem.

Zvýšení vypočítaného minima pro plán se dá provést pomocí Azure CLI.

az functionapp plan update -g <resource_group> -n <premium_plan_name> --min-instances <desired_min_instances>

Dostupné skladové položky instance

Při vytváření nebo škálování plánu si můžete vybrat mezi třemi velikostmi instancí. Bude se vám účtovat celkový počet jader a zřízených paměti za sekundu, které jsou pro každou instanci přiděleny. Vaše aplikace se může podle potřeby automaticky škálovat na více instancí.

SKU Cores Memory (Paměť) Storage
EP1 1 3,5 GB 250 GB
EP2 2 7GB 250 GB
EP3 4 S frekvencí 250 GB

Požadavky na využití paměti

Spuštění v počítači, který má více paměti, vždy neznamená, že aplikace Function App používá veškerou dostupnou paměť.

Například aplikace funkcí JavaScriptu je omezená na výchozí omezení paměti v Node.js. Pokud chcete zvýšit toto omezení pevné paměti, přidejte nastavení aplikace languageWorkers:node:arguments s hodnotou --max-old-space-size=<max memory in MB> .

a pro plány s více než 4 gb paměti zajistěte, aby nastavení platformy bitová verze bylo nastavené na 64 Bit obecné Nastavení.

Maximální horizontální navýšení kapacity oblasti

Níže jsou uvedeny aktuálně podporované maximální hodnoty škálování pro jeden plán v každé oblasti a konfiguraci operačního systému.

Prohlédněte si kompletní regionální dostupnost funkcí na webu Azure.

Oblast Windows Linux
Austrálie – střed 100 Není k dispozici
Austrálie – střed 2 100 Není k dispozici
Austrálie – východ 100 20
Austrálie – jihovýchod 100 20
Brazílie – jih 100 20
Střední Kanada 100 20
Indie – střed 100 20
USA – střed 100 20
Čína – východ 2 100 20
Čína – sever 2 100 20
Východní Asie 100 20
East US 100 40
USA – východ 2 100 20
Francie – střed 100 20
Německo – středozápad 100 20
Japonsko – východ 100 20
Japonsko – západ 100 20
Jio Indie – západ 100 20
Jižní Korea – střed 100 20
Jižní Korea – jih Není k dispozici 20
USA – středosever 100 20
Severní Evropa 100 20
Norsko – východ 100 20
Jižní Afrika – sever 100 20
Středojižní USA 100 20
Indie – jih 100 Není k dispozici
Southeast Asia 100 20
Švýcarsko – sever 100 20
Švýcarsko – západ 100 20
Spojené arabské emiráty sever 100 20
Spojené království – jih 100 20
Spojené království – západ 100 20
USGov Arizona 100 20
USGov Texas 100 Není k dispozici
USGov Virginie 100 20
USA – středozápad 100 20
West Europe 100 20
Západní Indie 100 20
USA – západ 100 20
Západní USA 2 100 20
Západní USA 3 100 20

Další kroky