Megosztás a következőn keresztül:


Az Azure Functions üzemeltetési lehetőségei

Amikor függvényalkalmazást hoz létre az Azure-ban, ki kell választania egy üzemeltetési lehetőséget az alkalmazáshoz. Az Azure az alábbi üzemeltetési lehetőségeket biztosítja a függvénykódhoz:

Üzemeltetési lehetőség Szolgáltatás Elérhetőség Tárolótámogatás
Használati terv Azure Functions Általánosan elérhető (GA) Egyik sem
Rugalmas kihasználtságú csomag Azure Functions Előnézet Egyik sem
Prémium csomag Azure Functions FE Linux
Dedikált terv Azure Functions FE Linux
Container Apps Azure Container-alkalmazások FE Linux

Az Azure Functions üzemeltetési lehetőségeit Azure-alkalmazás Szolgáltatásinfrastruktúra linuxos és Windows rendszerű virtuális gépeken is megkönnyíti. A választott üzemeltetési beállítás a következő viselkedést diktálja:

  • A függvényalkalmazás méretezésének menete.
  • Az egyes függvényalkalmazás-példányok számára elérhető erőforrások.
  • Speciális funkciók, például azure-beli virtuális hálózati kapcsolatok támogatása.
  • Linux-tárolók támogatása.

A választott terv hatással van a függvénykód futtatásának költségeire is. További információ: Számlázás.

Ez a cikk részletes összehasonlítást nyújt a különböző üzemeltetési lehetőségek között. A függvénykód Linux-tárolókban való futtatásával és kezelésével kapcsolatos további információkért lásd : Linux-tárolók támogatása az Azure Functionsben.

A tervek áttekintése

Az alábbiakban összefoglaljuk az Azure Functions-üzemeltetés különböző lehetőségeinek előnyeit:

Lehetőség Előnyök
Használati terv A számítási erőforrásokért csak akkor kell fizetnie, ha a függvények automatikus skálázással futnak (használatalapú fizetés).

A használatalapú csomagoknál a rendszer dinamikusan, a bejövő események száma alapján adja hozzá és távolítja el a Functions üzemeltetett példányait.

✔ Alapértelmezett üzemeltetési csomag, amely valódi kiszolgáló nélküli üzemeltetést biztosít.
✔ Csak akkor kell fizetnie, ha a függvények futnak.
✔ Automatikusan skáláz, még nagy terhelés esetén is.
Rugalmas kihasználtságú csomag A számítási lehetőségek, a virtuális hálózatkezelés és a használatalapú fizetéses számlázás nagy méretezhetőséget biztosít.

A Rugalmas használat csomagban a Függvény gazdagép példányai dinamikusan hozzáadódnak és eltávolíthatók a példányonként konfigurált egyidejűség és a bejövő események száma alapján.

✔ A hideget számos előre kiosztott (mindig készen álló) példány megadásával csökkentheti.
✔ Támogatja a virtuális hálózatkezelést a hozzáadott biztonság érdekében.
✔ Fizetés a függvények futtatásakor.
✔ Automatikusan skáláz, még nagy terhelés esetén is.
Prémium csomag Automatikus skálázás igény szerint előre előkészített feldolgozók használatával, amelyek tétlenség után késedelem nélkül futtatják az alkalmazásokat, hatékonyabb példányokon futnak, és virtuális hálózatokhoz csatlakoznak.

Vegye figyelembe az Azure Functions Premium-csomagot a következő helyzetekben:

✔ A függvényalkalmazások folyamatosan vagy szinte folyamatosan futnak.
✔ Szeretné jobban szabályozni a példányokat, és több függvényalkalmazást szeretne üzembe helyezni ugyanazon a terven eseményvezérelt skálázással.
✔ Nagy számú kis végrehajtással és magas végrehajtási számlával rendelkezik, de a használatalapú csomagban alacsony GB másodperc.
✔ Több processzor- vagy memórialehetőségre van szüksége, mint amennyit a használati tervek biztosítanak.
✔ A kódnak hosszabb ideig kell futnia, mint a használati tervben megengedett maximális végrehajtási idő.
✔ Virtuális hálózati kapcsolatra van szükség.
✔ Egyéni Linux-rendszerképet szeretne megadni, amelyben futtathatja a függvényeket.
Dedikált terv Futtassa a függvényeket egy App Service-csomagon belül, normál App Service-csomagdíjakkal.

Olyan hosszú ideig futó forgatókönyvekhez ideális, ahol a Durable Functions nem használható. Az alábbi helyzetekben érdemes megfontolni egy App Service-csomagot:

✔ Meglévő és kihasználatlan virtuális gépekkel rendelkezik, amelyek már más App Service-példányokat is futtatnak.
✔ Teljes mértékben kiszámítható számlázással kell rendelkeznie, vagy manuálisan kell méreteznie a példányokat.
✔ Több webalkalmazást és függvényalkalmazást szeretne futtatni ugyanazon a csomagon
✔ Nagyobb számítási méretre van szüksége.
✔ Az App Service Environment (ASE) által biztosított teljes számítási elkülönítés és biztonságos hálózati hozzáférés.
✔ Nagyon magas memóriahasználat és nagy léptékű (ASE).
Container Apps Tárolóalapú függvényalkalmazások létrehozása és üzembe helyezése az Azure Container Apps által üzemeltetett teljes körűen felügyelt környezetben.

Az Azure Functions programozási modell használatával eseményvezérelt, kiszolgáló nélküli, natív felhőbeli függvényalkalmazásokat hozhat létre. A függvényeket más mikroszolgáltatások, API-k, webhelyek és munkafolyamatok mellett futtathatja tárolóalapú programokként. A következő helyzetekben érdemes lehet üzemeltetni a függvényeket a Container Appsben:

✔ Egyéni kódtárakat szeretne csomagolni a függvénykóddal az üzletági alkalmazások támogatásához.
✔ A kódvégrehajtást a helyszíni vagy örökölt alkalmazásokból a tárolókban futó natív felhőbeli mikroszolgáltatásokba kell migrálnia.
✔ Ha el szeretné kerülni a Kubernetes-fürtök és a dedikált számítás kezelésének többletterhelését és összetettségét.
✔ A funkciókhoz a dedikált GPU-számítási erőforrások által biztosított magas szintű feldolgozási teljesítményre van szükség.

A cikkben szereplő többi táblázat különböző funkciók és viselkedések alapján hasonlítja össze az üzemeltetési lehetőségeket.

Operációs rendszerek támogatása

Ez a táblázat az operációs rendszer üzemeltetési beállításainak támogatását mutatja be.

Üzemeltetés Linux1 üzembe helyezése Windows2 központi telepítése
Használati terv ✅ Csak kóddal
❌ Tároló (nem támogatott)
✅ Csak kóddal
Rugalmas kihasználtságú csomag ✅ Csak kóddal
❌ Tároló (nem támogatott)
❌ Nem támogatott
Prémium csomag ✅ Csak kóddal
✅ Konténer
✅ Csak kóddal
Dedikált terv ✅ Csak kóddal
✅ Konténer
✅ Csak kóddal
Container Apps ✅ Csak tároló ❌ Nem támogatott
  1. A Python futtatókörnyezeti verem egyetlen támogatott operációs rendszere a Linux.
  2. A Windows-környezetek csak kóddal használhatók. A Functions jelenleg nem támogatja a Windows-tárolókat.

A függvényalkalmazás időtúllépési időtartama

A függvényalkalmazások függvényeinek időtúllépési időtartamát a functionTimeout host.json projektfájl tulajdonsága határozza meg. Ez a tulajdonság kifejezetten a függvényvégrehajtásokra vonatkozik. Miután az eseményindító megkezdte a függvény végrehajtását, a függvénynek az időtúllépési időtartamon belül vissza kell térnie/válaszolnia. Az időtúllépések elkerülése érdekében fontos robusztus függvényeket írni. További információ: Az Azure Functions teljesítményének és megbízhatóságának javítása.

Az alábbi táblázat az adott csomagok alapértelmezett és maximális értékeit (percekben) mutatja be:

Csomag Alapértelmezett Maximum1
Használati terv 5 10
Rugalmas kihasználtságú csomag 30 Kötetlen2
Prémium csomag 304 Kötetlen2
Dedikált terv 304 Kötetlen3
Container Apps 30 Kötetlen4
  1. A függvényalkalmazás időtúllépési beállításától függetlenül 230 másodperc a maximális idő, amely alatt egy HTTP által aktivált függvény válaszolhat egy kérésre. Ennek oka az Azure Load Balancer alapértelmezett tétlenségi időtúllépése. Hosszabb feldolgozási idő esetén fontolja meg a Durable Functions aszinkron mintájának használatát, vagy halasztsa el a tényleges munkát, és azonnali választ adjon vissza.
  2. Nincs maximális végrehajtási időtúllépési időtartam kényszerítve. A függvények végrehajtásának türelmi ideje azonban 60 perc a Rugalmas használat és a Prémium csomagok skálázása során, a platformfrissítések során pedig 10 perces türelmi idő.
  3. Az App Service-csomag always on értékre van állítva. A platformfrissítések során a türelmi idő 10 perc.
  4. A Functions-gazdagép futtatókörnyezetének 1.x verziójának alapértelmezett időtúllépése kötetlen.
  5. Ha a replikák minimális száma nullára van állítva, az alapértelmezett időtúllépés az alkalmazásban használt eseményindítóktól függ.

Nyelvi támogatás

A Függvények jelenlegi natív nyelvi veremtámogatásával kapcsolatos részletekért lásd : Támogatott nyelvek az Azure Functionsben.

Hangsor

Az alábbi táblázat a különböző üzemeltetési tervek skálázási viselkedését hasonlítja össze.
A példányok maximális száma függvényalapú alkalmazásonként (használat) vagy csomagonként (prémium/dedikált) történik, kivéve, ha másként van feltüntetve.

Csomag Horizontális felskálázás Maximális # példányok
Használati terv Eseményvezérelt. Automatikusan felskálázódik, még nagy terhelés esetén is. A Functions-infrastruktúra úgy skálázza a processzor- és memóriaerőforrásokat, hogy további példányokat ad hozzá a Functions-gazdagéphez a bejövő eseményindító események száma alapján. Windows: 200
Linux: 1001
Rugalmas kihasználtságú csomag Függvényenkénti skálázás. Az eseményvezérelt skálázási döntéseket függvényenkénti alapon számítjuk ki, amely determinisztikusabb módot biztosít a függvények skálázására az alkalmazásban. A HTTP, a Blob Storage (Event Grid) és a Durable Functions kivételével az alkalmazás minden más függvény-triggertípusa független példányokon skálázható. Az alkalmazás összes HTTP-eseményindítója csoportként skálázható ugyanazon példányokon, ahogy az összes Blob Storage-eseményindító (Event Grid). Minden Durable Functions-eseményindító megosztja a példányokat, és együtt méretezhető. Csak az adott régió összes példányának teljes memóriahasználata korlátozza. További információ: Példánymemória.
Prémium csomag Eseményvezérelt. Vertikális felskálázás automatikusan, még nagy terhelés esetén is. Az Azure Functions-infrastruktúra skálázza a processzor- és memóriaerőforrásokat a Functions-gazdagép további példányainak hozzáadásával a függvények által aktivált események száma alapján. Windows: 100
Linux: 20-1002
Dedikált terv3 Manuális/automatikus skálázás 10-30
100 (ASE)
Container Apps Eseményvezérelt. Vertikális felskálázás automatikusan, még nagy terhelés esetén is. Az Azure Functions-infrastruktúra skálázza a processzor- és memóriaerőforrásokat a Functions-gazdagép további példányainak hozzáadásával a függvények által aktivált események száma alapján. 300-10004
  1. A vertikális felskálázás során előfizetésenként jelenleg óránként 500 példányra van korlátozva a használatalapú csomagban futó Linux-alkalmazások esetében.
  2. Egyes régiókban a Prémium csomagban futó Linux-alkalmazások 100 példányra méretezhetők. További információkért tekintse meg a Prémium csomagról szóló cikket.
  3. A különböző App Service-csomagbeállításokra vonatkozó konkrét korlátokért tekintse meg az App Service-csomag korlátait.
  4. A Container Appsben az alapértelmezett érték 10 példány, de beállíthatja a replikák maximális számát, amelynek összértéke 1000. Ezt a beállítást mindaddig tiszteletben tartjuk, amíg elegendő magkvóta áll rendelkezésre. Amikor az Azure Portalról hozza létre a függvényalkalmazást, legfeljebb 300 példányt használhat.

Hidegindítási viselkedés

Csomag Részletek
Használati terv Az alkalmazások tétlen állapotban nullára skálázhatók, ami azt jelenti, hogy egyes kérések indításkor nagyobb késéssel járhatnak. A használati terv rendelkezik néhány optimalizálással a hideg kezdési idő csökkentéséhez, beleértve az előre elkészített helyőrző függvényekből való lekérést is, amelyeken már futnak a gazdagépek és a nyelvi folyamatok.
Rugalmas kihasználtságú csomag Támogatja a mindig kész példányokat , hogy csökkentse az új példányok üzembe helyezésekor tapasztalható késést.
Prémium csomag Támogatja a mindig kész példányokat , hogy elkerülje a hidegindítást azáltal, hogy egy vagy több állandó meleg példányt tart fenn.
Dedikált terv Dedikált csomagban való futtatáskor a Functions-gazdagép folyamatosan futhat az előírt számú példányon, ami azt jelenti, hogy a hidegindítás nem igazán jelent problémát.
Container Apps A replikák minimális számától függ:
• Ha nullára van állítva: az alkalmazások tétlen állapotban nullára méretezhetők, és egyes kérések indításkor nagyobb késéssel járhatnak.
• Ha egy vagy többre van állítva: a gazdafolyamat folyamatosan fut, ami azt jelenti, hogy a hidegindítás nem jelent problémát.

Szolgáltatáskorlátok

Erőforrás Használati terv Rugalmas felhasználású csomag13 Prémium csomag Dedikált ase-terv/ Container Apps
Alapértelmezett időtúllépés időtartama (perc) 5 30 30 301 3016
Maximális időtúllépési időtartam (perc) 10 kötetlen8 kötetlen8 kötetlen2 kötetlen17
Kimenő kapcsolatok maximális száma (példányonként) 600 aktív (összesen 1200) Korlátos Korlátos Korlátos Korlátos
Kérelem maximális mérete (MB)3 100 100 100 100 100
Lekérdezési sztring maximális hossza3 4096 4096 4096 4096 4096
Kérelem URL-címének maximális hossza3 8192 8192 8192 8192 8192
ACU példányonként 100 Változik 210-840 100-840/210-2509 Változik
Maximális memória (GB példányonként) 1,5 414 3.5-14 1.75-14/3.5-14 Változik
Példányok maximális száma (Windows/Linux) 200/100 1000 15 100/20 termékváltozat/10010 szerint változik 10-30018
Függvényalkalmazások csomagonként12 100 100 100 kötetlen4 kötetlen4
App Service-csomagok Régiónként 100 n.a. Erőforráscsoportonként 100 Erőforráscsoportonként 100 n.a.
Üzembehelyezési pontok alkalmazásonként11 2 n.a. 3 1-2010 nem támogatott
Tárolás (ideiglenes)5 0,5 GB 0,8 GB 21–140 GB 11–140 GB n.a.
Tárolás (megtartva) 1 GB6 0 GB6 250 GB 10-1000 GB10 n.a.
Egyéni tartományok alkalmazásonként 5007 500 500 500 nem támogatott
Egyéni tartomány SSL-támogatása nem kötött SNI SSL-kapcsolat is szerepel a csomagban kötetlen SNI SSL és 1 IP SSL-kapcsolat is szerepel a csomagban kötetlen SNI SSL és 1 IP SSL-kapcsolat is szerepel a csomagban kötetlen SNI SSL és 1 IP SSL-kapcsolat is szerepel a csomagban nem támogatott

Megjegyzések a szolgáltatási korlátokról:

  1. Alapértelmezés szerint egy App Service-csomag Functions 1.x futtatókörnyezetének időtúllépése kötetlen.
  2. Az App Service-csomag always on értékre van állítva. Fizetés standard díjszabás szerint. A platformfrissítések során a türelmi idő 10 perc.
  3. Ezek a korlátok a gazdagépen vannak beállítva.
  4. A üzemeltethető függvényalkalmazások tényleges száma az alkalmazások tevékenységétől, a géppéldányok méretétől és a megfelelő erőforrás-kihasználtságtól függ.
  5. A tárterületkorlát az ideiglenes tárterület teljes tartalommérete az ugyanabban az App Service-csomagban lévő összes alkalmazásra vonatkozóan. A Linux-alapú használati csomagok esetében a tárterület jelenleg 1,5 GB.
  6. A használati terv egy Azure Files-megosztást használ a tartós tároláshoz. Ha saját Azure Files-megosztást ad meg, az adott megosztás méretkorlátja a WEBSITE_CONTENTAZUREFILECONNECTIONSTRING beállított tárfióktól függ. Linuxon kifejezetten csatlakoztatnia kell saját Azure Files-megosztást a Flex Consumption és a Consumption csomagokhoz is.
  7. Ha a függvényalkalmazást használatalapú csomagban üzemelteti, csak a CNAME beállítás támogatott. Prémium csomagban vagy App Service-csomagban lévő függvényalkalmazások esetén egy egyéni tartományt CNAME vagy A rekord használatával képezhet le.
  8. Nincs maximális végrehajtási időtúllépési időtartam kényszerítve. A függvény végrehajtásának türelmi ideje azonban 60 perc a skálázás során és 10 perc a platformfrissítések során.
  9. A feldolgozók az ügyfélalkalmazások üzemeltetéséért felelős szerepkörök. A feldolgozók három rögzített méretben érhetők el: egy vCPU/3,5 GB RAM; Két vCPU/7 GB RAM; Négy vCPU/14 GB RAM.
  10. Részletekért tekintse meg az App Service korlátait .
  11. Beleértve az éles pontot is.
  12. Egy adott előfizetésben jelenleg 5000 függvényalkalmazás van korlátozva.
  13. A Rugalmas használat csomag jelenleg előzetes verzióban érhető el.
  14. A Rugalmas kihasználtságú csomag példányainak mérete jelenleg 2 048 MB vagy 4096 MB. További információ: Példánymemória.
  15. A rugalmas használatú csomag előzetes verzióban regionális előfizetési kvótával rendelkezik, amely korlátozza az adott régió összes példányának teljes memóriahasználatát. További információ: Példánymemória.
  16. Ha a replikák minimális száma nullára van állítva, az alapértelmezett időtúllépés az alkalmazásban használt eseményindítóktól függ.
  17. Ha a replikák minimális száma egy vagy többre van állítva.
  18. A Container Appsben beállíthatja a replikák maximális számát, amely akkor érvényes, ha elegendő magkvóta áll rendelkezésre.

Hálózatkezelési funkciók

Szolgáltatás Használati terv Rugalmas kihasználtságú csomag Prémium csomag Dedikált ase-terv/ Container Apps*
Bejövő IP-korlátozások ✅Igen ✅Igen ✅Igen ✅Igen ✅Igen
Bejövő privát végpontok ❌Nem ✅Igen ✅Igen ✅Igen ❌Nem
Virtuális hálózat integrációja ❌Nem ✅Igen (regionális) ✅Igen (regionális) ✅Igen (regionális és átjáró) ✅Igen
Virtuális hálózati eseményindítók (nem HTTP) ❌Nem ✅Igen ✅Igen ✅Igen ✅Igen
Hibrid kapcsolatok (csak Windows esetén) ❌Nem ❌ Nem ✅Igen ✅Igen ❌Nem
Kimenő IP-korlátozások ❌Nem ✅Igen ✅Igen ✅Igen ✅Igen

*További információ: Hálózatkezelés az Azure Container Apps-környezetben.

Számlázás

Csomag Részletek
Használati terv Csak a függvények futtatásának idejéért kell fizetnie. A számlázás a végrehajtások száma, a végrehajtási idő és a felhasznált memória alapján történik.
Rugalmas kihasználtságú csomag A számlázás a végrehajtások számán, a példányok aktívan végrehajtott függvények memóriáján, valamint a mindig kész példányok költségein alapul. További információ: Rugalmas használatú csomag számlázása.
Prémium csomag A prémium csomag a szükséges és előre elkészített példányokon felhasznált mag másodpercek és memória számán alapul. Tervenként legalább egy példányt mindig melegen kell tartani. Ez a csomag a legrejelhetőbb díjszabást biztosítja.
Dedikált terv Az App Service-csomagban lévő függvényalkalmazásokért ugyanúgy kell fizetnie, mint más App Service-erőforrásokért, például webalkalmazásokért.

Az ASE esetében van egy havi átalánydíj, amely az infrastruktúráért fizet, és nem változik a környezet méretével. Az App Service-csomag vCPU-jának költsége is van. Egy ASE környezeten belül az összes üzemeltetett alkalmazás az elkülönített díjszabású termékváltozatba tartozik. További információkért tekintse meg az ASE áttekintési cikkét.
Container Apps Az Azure Container Apps számlázása a csomag típusán alapul. További információ: Számlázás az Azure Container Appsben.

A dinamikus üzemeltetési csomagok (Felhasználás, Rugalmas használat és Prémium) közvetlen költség-összehasonlítását az Azure Functions díjszabási oldalán tekintheti meg. A különböző dedikált csomagbeállítások díjszabását az App Service díjszabási oldalán talál. A Container Apps üzemeltetésének díjszabását az Azure Container Apps díjszabásában talál.

Új függvényalkalmazások létrehozásának korlátozásai meglévő erőforráscsoportban

Bizonyos esetekben, amikor új üzemeltetési tervet próbál létrehozni a függvényalkalmazáshoz egy meglévő erőforráscsoportban, az alábbi hibák egyike jelenhet meg:

  • A tarifacsomag nem engedélyezett ebben az erőforráscsoportban
  • <> SKU_name feldolgozók nem érhetők el az erőforráscsoport <resource_group_name>

Ez a következő feltételek teljesülésekor fordulhat elő:

  • Olyan függvényalkalmazást hozhat létre egy meglévő erőforráscsoportban, amely valaha is tartalmazott egy másik függvényalkalmazást vagy webalkalmazást. A Linux-használatú alkalmazások például nem támogatottak ugyanabban az erőforráscsoportban, mint a Linux Dedikált vagy a Linux Premium-csomagok.
  • Az új függvényalkalmazás ugyanabban a régióban jön létre, mint az előző alkalmazás.
  • Az előző alkalmazás valamilyen módon nem kompatibilis az új alkalmazással. Ez a hiba az SKU-k, az operációs rendszerek vagy más platformszintű funkciók, például a rendelkezésre állási zónák támogatása miatt fordulhat elő.

Ennek az az oka, hogy a függvényalkalmazások és a webalkalmazás-csomagok hogyan vannak leképezve különböző erőforráskészletekhez létrehozásukkor. A különböző termékváltozatok eltérő infrastruktúra-képességeket igényelnek. Amikor egy erőforráscsoportban hoz létre alkalmazást, a rendszer leképezi és hozzárendeli azt egy adott erőforráskészlethez. Ha egy másik tervet próbál létrehozni az adott erőforráscsoportban, és a megfeleltetett készlet nem rendelkezik a szükséges erőforrásokkal, ez a hiba történik.

Ha ez a hiba jelentkezik, hozza létre a függvényalkalmazást és az üzemeltetési tervet egy új erőforráscsoportban.

Következő lépések