Azure Functions Flex Consumption-csomag üzemeltetése
A Rugalmas használat egy Linux-alapú Azure Functions-üzemeltetési csomag, amely a kiszolgáló nélküli számlázási modell használatáért a használatalapú fizetésre épül. Nagyobb rugalmasságot és testreszabhatóságot biztosít a privát hálózatkezelés, a példányok memóriaméretének kiválasztásával és a kiszolgáló nélküli modellen alapuló gyors/nagy méretű vertikális felskálázási funkciók bevezetésével.
A Flex Consumption csomag mintatárában a Flex Consumption csomagra jellemző, végpontok közötti mintákat tekintheti át.
Juttatások
A Flex Consumption csomag a fogyasztási terv erősségeire épül, amelyek közé tartozik a dinamikus skálázás és a végrehajtásalapú számlázás. A Flex Consumption szolgáltatással az alábbi további funkciók is elérhetők:
- Mindig kész példányok
- Virtuális hálózat integrációja
- Gyors skálázás http- és nem HTTP-alkalmazások egyidejűségén alapuló
- Több lehetőség a példány memóriaméretéhez
Ez a táblázat segít közvetlenül összehasonlítani a Flex Consumption funkcióit a Consumption üzemeltetési csomaggal:
Szolgáltatás | Használat | Rugalmas használat |
---|---|---|
Skálázás nullára | ✅ Igen | ✅ Igen |
Skálázási viselkedés | Eseményvezérelt | Eseményvezérelt (gyors) |
Virtuális hálózatok | ❌ Nem támogatott | ✅ Támogatott |
Dedikált számítás (hidegindítások enyhítése) | ❌ Egyik sem | ✅ Mindig kész példányok (nem kötelező) |
Számlázás | Csak végrehajtási idő | Végrehajtási idő + mindig kész példányok |
Kibővített példányok (max) | 200 | 1000 |
A Flex Consumption csomag és a Használati terv és az összes többi csomag- és üzemeltetési típus teljes összehasonlításához tekintse meg a függvények méretezési és üzemeltetési lehetőségeit.
Virtuális hálózat integrációja
A Rugalmas felhasználás a használati terv hagyományos előnyeire is kiterjeszthető a virtuális hálózati integráció támogatásának hozzáadásával. Amikor az alkalmazások Flex Consumption-csomagban futnak, csatlakozhatnak a virtuális hálózaton belül biztonságos egyéb Azure-szolgáltatásokhoz. Mindeközben továbbra is kihasználhatja a kiszolgáló nélküli számlázás és skálázás előnyeit, valamint a Rugalmas használat csomag skálázási és átviteli sebességbeli előnyeit. További információ: Virtuális hálózati integráció engedélyezése.
Példány memóriája
Amikor rugalmas használatú csomagban hozza létre a függvényalkalmazást, kiválaszthatja azoknak a példányoknak a memóriaméretét, amelyeken az alkalmazás fut. A Számlázás című cikkből megtudhatja, hogyan befolyásolják a példányok memóriaméretei a függvényalkalmazás költségeit.
A Flex Consumption jelenleg 2048 MB-os és 4096 MB-os példánymemória-beállításokat is kínál.
Amikor eldönti, hogy melyik példány memóriaméretét szeretné használni az alkalmazásaival, az alábbiakat érdemes megfontolnia:
- A 2048 MB-os példány memóriamérete az alapértelmezett érték, amelyet a legtöbb forgatókönyv esetében érdemes használni. Használja a 4096 MB-os példány memóriaméretét olyan helyzetekben, amikor az alkalmazás több egyidejűséget vagy nagyobb feldolgozási teljesítményt igényel. További információ: Példánymemória konfigurálása.
- A példány memóriaméretét bármikor módosíthatja. További információ: Példánymemória konfigurálása.
- A példányerőforrások meg vannak osztva a függvénykód és a Functions-gazdagép között.
- Minél nagyobb a példány memóriamérete, annál több példány képes kezelni az egyidejű végrehajtásokat vagy az intenzívebb processzor- vagy memóriaterheléseket. A konkrét méretezési döntések munkaterhelés-specifikusak.
- A HTTP-eseményindítók alapértelmezett egyidejűsége a példány memóriaméretétől függ. További információ: HTTP-eseményindító egyidejűsége.
- A rendelkezésre álló CPU-k és a hálózati sávszélesség egy adott példány méretével arányos.
Függvényenkénti skálázás
Az egyidejűség kulcsfontosságú tényező, amely meghatározza a Flex Consumption függvényalkalmazások skálázását. A rugalmas felhasználású csomag a különböző triggertípusokkal rendelkező alkalmazások méretezési teljesítményének javítása érdekében determinisztikusabb módot kínál az alkalmazás függvényenkénti skálázására.
Ez a függvényenkénti skálázási viselkedés az üzemeltetési platform része, így nem kell konfigurálnia az alkalmazást, és nem kell módosítania a kódot. További információ: Függvényenkénti skálázás az eseményvezérelt skálázási cikkben.
A függvényenkénti skálázás során bizonyos függvény-eseményindítókról csoportösszesítések alapján hoznak döntéseket. Ez a táblázat a függvényskálázási csoportok definiált készletét mutatja be:
Csoportok méretezése | Eseményindítók a csoportban | Beállítások értéke |
---|---|---|
HTTP-eseményindítók |
HTTP-eseményindító SignalR-eseményindító |
http |
Blob Storage-eseményindítók (Event Grid-alapú) |
Blob Storage-eseményindító | blob |
Tartós függvények |
Vezénylési eseményindító Tevékenység-eseményindító Entitás-eseményindító |
durable |
Az alkalmazás összes többi függvénye külön-külön van skálázva a saját példánykészletében, amelyre a konvenció function:<NAMED_FUNCTION>
hivatkozik.
Mindig kész példányok
A Rugalmas használat funkció egy mindig készen álló funkciót tartalmaz, amely lehetővé teszi az egyes függvényenkénti skálázási csoportokhoz vagy függvényekhez mindig futó és hozzárendelt példányok kiválasztását. A Mindig készen áll lehetőség olyan helyzetekben, ahol a kérelmek kezelésére mindig készen álló példányok minimális számával kell rendelkeznie. Például az alkalmazás hidegindítási késésének csökkentése érdekében. Az alapértelmezett érték 0 (nulla).
Ha például mindig készen áll a 2-es értékre a HTTP-függvények csoportjához, a platform két példányt mindig futtat, és hozzárendeli az alkalmazáshoz a HTTP-függvényekhez az alkalmazásban. Ezek a példányok a függvényvégrehajtásokat dolgozzák fel, de az egyidejűségi beállításoktól függően a platform az igény szerinti példányokkal rendelkező két példányon túl is méretezhető.
A mindig kész példányok konfigurálásáról a Mindig kész példányok számának beállítása című témakörben olvashat.
Egyidejűség
Az egyidejűség egy függvény párhuzamos végrehajtásának számát jelenti az alkalmazás egy példányán. Beállíthatja, hogy az egyes példányok egyszerre legfeljebb hány egyidejű végrehajtást tudjanak kezelni. Az egyidejűség közvetlen hatással van az alkalmazás méretezésére, mivel alacsonyabb egyidejűségi szinteken több példányra van szüksége egy függvény eseményvezérelt igényének kezeléséhez. Bár szabályozhatja és finomhangolhatja az egyidejűséget, a legtöbb esetben alapértelmezett értékeket biztosítunk.
A HTTP-triggerfüggvények egyidejűségi korlátainak beállításáról további információt a HTTP egyidejűségi korlátok beállítása című témakörben talál. A nem HTTP-eseményindító függvények egyidejűségi korlátainak beállításáról a Célbázis skálázása című témakörben olvashat.
Telepítés
A Rugalmas kihasználtság csomag üzembe helyezései egyetlen útvonalat követnek, és már nincs szükség alkalmazásbeállításokra az üzembe helyezési viselkedés befolyásolásához. Miután a projektkódot egy alkalmazáscsomagba építette és tömörítette, az üzembe lesz helyezve egy blobtárolóban. Indításkor az alkalmazás lekéri a csomagot, és ebből a csomagból futtatja a függvénykódot. Alapértelmezés szerint a belső gazdagép metaadatainak tárolására használt tárfiók (AzureWebJobsStorage) is üzembehelyezési tárolóként van használva. Használhat azonban alternatív tárfiókot, vagy kiválaszthatja az előnyben részesített hitelesítési módszert az alkalmazás üzembehelyezési beállításainak konfigurálásával.
Számlázás
Két mód van, amelyek alapján a költségek az alkalmazások Flex Consumption csomagban való futtatásakor kerülnek meghatározásra. Minden mód példányonként van meghatározva.
Számlázási mód | Leírás |
---|---|
Igény szerint | Igény szerinti módban való futtatás esetén a rendszer csak arra az időre számláz, amíg a függvénykód fut az elérhető példányokon. Igény szerinti módban nincs szükség minimális példányszámra. Az alábbiakért kell fizetnie: • A kiosztott memória teljes mennyisége, miközben az egyes igény szerinti példányok aktívan hajtanak végre függvényeket (GB-másodpercben), és havonta ingyenes GB-s támogatást adnak. • A végrehajtások teljes száma, levonva az ingyenes támogatást (a végrehajtások számát) havonta. |
Mindig készen áll | Konfigurálhat egy vagy több példányt, amelyek meghatározott eseményindító-típusokhoz (HTTP/Durable/Blob) vannak rendelve, valamint olyan egyéni függvényeket, amelyek mindig elérhetők a kérések kezeléséhez. Ha minden mindig kész példány engedélyezve van, a következőért kell fizetnie: • Az alapkonfigurációnak (GB-másodpercben) nevezett minden mindig kész példányban kiosztott memória teljes mennyisége. • A mindig készen álló példányok aktívan hajtják végre a függvényeket (GB-másodpercben). • A végrehajtások teljes száma. A mindig kész számlázásban nincsenek ingyenes támogatások. |
A végrehajtási díjszabással, a mindig kész alapköltségekkel és az igény szerinti végrehajtásokhoz nyújtott ingyenes támogatásokkal kapcsolatos legfrissebb információkért tekintse meg az Azure Functions díjszabási oldalát.
Mindkét végrehajtási mód minimális számlázható végrehajtási időtartama 1000 ms. Korábban a számlázható tevékenység időszaka a legközelebbi 100 ms-ra lesz kerekítve. A Rugalmas felhasználású csomag számlázási mérőiről a figyelési referencia tartalmazza a részleteket.
A rugalmas kihasználtságú csomagban való futtatás költségeinek kiszámításával kapcsolatos részletekért, beleértve a példákat, tekintse meg a használatalapú költségeket.
Támogatott nyelvi veremverziók
Ez a táblázat a Rugalmas használatú alkalmazásokhoz jelenleg támogatott nyelvi veremverziókat mutatja be:
Nyelvi verem | Kötelező verzió |
---|---|
C# (izolált folyamat mód)1 | .NET 82 |
Java | Java 11, Java 17 |
Node.js | Csomópont 20 |
PowerShell | PowerShell 7.4 |
Python | Python 3.10, Python 3.11 |
1C# folyamaton belüli mód nem támogatott. Ehelyett migrálnia kell a .NET-kódprojektet, hogy az izolált feldolgozói modellben fusson.
2 A Microsoft.Azure.Functions.Worker vagy a Microsoft.Azure.Functions.Worker.Sdk vagy újabb verziójára 1.16.2
van szükség 1.20.0
.
Regionális előfizetés memóriakvótái
Jelenleg egy adott előfizetés minden régiója 512,000 MB
rendelkezik memóriakorláttal a Flex Consumption-csomagokban futó összes alkalmazáspéldányra vonatkozóan. Ez a kvóta azt jelenti, hogy egy adott előfizetésben és régióban a példányok memóriaméretének és darabszámának bármilyen kombinációját használhatja, amennyiben azok a kvótakorlát alatt maradnak. Az alábbi példák például azt jelentenék, hogy eléri a kvótát, és az alkalmazások leállítanák a skálázást:
- Egy 2048 MB-os alkalmazás 100-ra van skálázva, a második 2048 MB-os alkalmazás pedig 150 példányra van skálázva
- Egy 2048 MB-os alkalmazással rendelkezik, amely 250 példányra skálázható fel
- Egy 4096 MB-os alkalmazással rendelkezik, amely 125 példányra skálázható fel
- Egy 4096 MB-os alkalmazás 100-ra van skálázva, és egy 2048 MB-os alkalmazás 50 példányra van skálázva
A rugalmas kihasználtságú alkalmazások nullára skálázhatók, vagy a méretezésre és törlésre megjelölt példányok nem számítanak bele a kvótába. Ez a kvóta növelhető, hogy a Rugalmas felhasználású alkalmazások a követelményektől függően további skálázást tegyenek lehetővé. Ha az alkalmazások nagyobb kvótát igényelnek, hozzon létre egy támogatási jegyet.
Elavult tulajdonságok és beállítások
Flex-használat esetén a standard alkalmazásbeállítások és a helykonfigurációs tulajdonságok nagy része elavult, vagy áthelyezve van, és nem szabad használni a függvényalkalmazások erőforrás-létrehozásának automatizálása során. További információ: Flex Consumption plan elavulások.
Megfontolások
Tartsa szem előtt ezeket az egyéb szempontokat a Flex Consumption-csomag használatakor:
-
Gazdagép: Az alkalmazás inicializálása 30 másodperces időtúllépést biztosít. Ha a függvényalkalmazás indítása 30 másodpercnél tovább tart, előfordulhat, hogy a gRPC-hez kapcsolódó
System.TimeoutException
bejegyzések naplózva lesznek. Jelenleg nem konfigurálhatja ezt az időtúllépést. További információ: ez a gazdagép munkaeleme. - Durable Functions: Az Azure Storage jelenleg az egyetlen támogatott tárolószolgáltató a Durable Functions számára, ha a Flex Consumption csomagban üzemelteti. A Durable Functions flex-használati csomagban való üzemeltetésére vonatkozó javaslatok .
-
A virtuális hálózati integráció az alábbi utasítások követésével győződjön meg arról, hogy az
Microsoft.App
Azure-erőforrás-szolgáltató engedélyezve van az előfizetéséhez. A Flex Consumption-alkalmazások által igényelt alhálózat-delegálás a következőMicrosoft.App/environments
: . -
Eseményindítók: Az összes eseményindító teljes mértékben támogatott a Kafka és az Azure SQL-eseményindítók kivételével. A Blob Storage-eseményindító csak az Event Grid-forrást támogatja. A nem C#-függvényalkalmazások a bővítménycsomag vagy egy későbbi verzió verzióját
[4.0.0, 5.0.0)
kell használniuk. - Régiók: Jelenleg nem minden régió támogatott. További információ: Jelenleg támogatott régiók megtekintése.
- Üzembe helyezés: Az üzembehelyezési pontok jelenleg nem támogatottak.
-
Skálázás: A legkisebb maximális skálázás jelenleg
40
. A jelenleg támogatott legmagasabb érték a .1000
- Felügyelt függőségek: A Rugalmas használat nem támogatja a PowerShell felügyelt függőségeit. Ehelyett alkalmazástartalommal kell feltöltenie a modulokat.
- Diagnosztikai beállítások: A diagnosztikai beállítások jelenleg nem támogatottak.
- Tanúsítványok: A WEBSITE_LOAD_CERTIFICATES alkalmazásbeállítással rendelkező tanúsítványok betöltése jelenleg nem támogatott.
- Key Vault-hivatkozások: Az alkalmazásbeállításokban szereplő Key Vault-hivatkozások nem működnek, ha a Key Vault hálózati hozzáférése korlátozott, még akkor sem, ha a függvényalkalmazás virtuális hálózati integrációval rendelkezik. Az aktuális kerülő megoldás az, hogy közvetlenül hivatkozik a Key Vaultra a kódban, és beolvassa a szükséges titkos kulcsokat.
Kapcsolódó cikkek
Az Azure Functions üzemeltetési lehetőségeiFüggvényalkalmazások létrehozása és kezelése a Rugalmas használat csomagban