Udostępnij przez


Hosting planu Flex Consumption usługi Azure Functions

Flex Consumption to oparty na systemie Linux plan hostingu usługi Azure Functions, który opiera się na modelu płatności za użycie za korzystanie z modelu rozliczeń bezserwerowych. Daje większą elastyczność i możliwość dostosowania, oferując prywatne sieci, wybór rozmiaru pamięci dla instancji oraz funkcje szybkiego i dużego skalowania, nadal oparte na modelu bezserwerowym.

Możesz przejrzeć kompleksowe przykłady, które zawierają plan Flex Consumption w repozytorium przykładów planu Flex Consumption.

Benefits

Plan Flex Consumption buduje na mocnych stronach planu Zużycia Bezserwerowego, które obejmują dynamiczne skalowanie i rozliczenia oparte na wykonań. Dzięki funkcji Flex Consumption uzyskasz również następujące dodatkowe funkcje:

  • Skrócone czasy zimnego uruchamiania: włącz zawsze gotowe wystąpienia , aby osiągnąć szybsze czasy zimnego uruchamiania w porównaniu z planem Zużycie.
  • Obsługa sieci wirtualnej: integracja sieci wirtualnej umożliwia uruchamianie aplikacji bezserwerowej w sieci wirtualnej.
  • Skalowanie Funkcji: każda funkcja w aplikacji skalowana jest niezależnie na podstawie swojego obciążenia, co może spowodować bardziej wydajną alokację zasobów.
  • Ulepszona obsługa współbieżności: lepsza obsługa współbieżnych wykonań z konfigurowalnymi ustawieniami współbieżności na funkcję.
  • Elastyczna konfiguracja pamięci: Użytkowanie elastyczne oferuje wiele opcji rozmiarów instancji, co pozwala na optymalizację pod kątem konkretnych wymagań dotyczących obciążenia.

Ta tabela ułatwia bezpośrednie porównanie funkcji rozwiązania Flex Consumption z planem hostingu Zużycie:

Feature Zużycie Zużycie elastyczne
Skalowanie do zera ✅ Tak ✅ Tak
Skalowanie zachowania Zdarzeniowe sterowanie Sterowane zdarzeniami (szybkie)
Sieci wirtualne ❌ Nieobsługiwane ✅ Obsługiwane
Dedykowane obliczenia (eliminowanie zimnych startów) ❌ Żaden ✅ Zawsze gotowe wystąpienia (opcjonalnie)
Billing Wyłącznie w czasie wykonywania Czas wykonywania i zawsze gotowe wystąpienia
Skalowanie wystąpień w poziomie (maks.) 200 1000

Aby uzyskać pełne porównanie planu Flex Consumption względem planu Zużycie i wszystkich innych typów planów i hostingu, zobacz Opcje skalowania i hostingu funkcji.

Integracja sieci wirtualnej

Flex Consumption rozszerza tradycyjne korzyści planu Zużycie przez dodanie obsługi integracji sieci wirtualnej. Gdy aplikacje działają w ramach planu Flex Consumption, mogą łączyć się z innymi usługami platformy Azure zabezpieczonymi w sieci wirtualnej. Mimo to nadal możesz korzystać z bezserwerowych rozliczeń i skalowania, a także korzyści ze skalowania i przepływności planu Flex Consumption. Aby uzyskać więcej informacji, zobacz Włączanie integracji z siecią wirtualną.

Rozmiary wystąpień

Podczas tworzenia aplikacji funkcji w planie Flex Consumption możesz wybrać rozmiar pamięci wystąpień, na których działa aplikacja. Zobacz Rozliczenia, aby dowiedzieć się, jak rozmiary pamięci wystąpień wpływają na koszty aplikacji funkcji.

Aktualnie Flex Consumption oferuje następujące opcje rozmiaru wystąpienia:

Pamięć wystąpienia (MB) Rdzenie procesora CPU
512 0.25
2048 1
4096 2

Uwaga / Notatka

Wyświetlane wartości rdzeni procesora to typowe alokacje wystąpień o określonym rozmiarze pamięci. Jednak początkowe przypadki mogą mieć nieco inne alokacje rdzeni, aby poprawić wydajność. Każde wystąpienie Flex Consumption zawiera również dodatkowe 272 MB pamięci przydzielonej przez platformę w charakterze bufora dla procesów systemowych i procesów hosta. Ta dodatkowa pamięć nie ma wpływu na rozliczenia, a wystąpienia są rozliczane na podstawie skonfigurowanego rozmiaru pamięci wystąpienia pokazanego w powyższej tabeli.

Podczas podejmowania decyzji o rozmiarze pamięci wystąpienia do użycia z aplikacjami należy wziąć pod uwagę następujące kwestie:

  • Rozmiar pamięci wystąpienia o rozmiarze 2048 MB jest domyślny i powinien być używany w większości scenariuszy. Rozmiary pamięci wystąpienia 512 MB i 4096 MB są dostępne w scenariuszach, które najlepiej odpowiadają wymaganiom współbieżności lub mocy obliczeniowej aplikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie pamięci wystąpienia.
  • Rozmiar pamięci wystąpienia można zmienić w dowolnym momencie. Aby uzyskać więcej informacji, zobacz Konfigurowanie pamięci wystąpienia.
  • Zasoby wystąpień są współużytkowane między kodem funkcji a hostem usługi Functions.
  • Większy rozmiar pamięci wystąpienia, tym więcej wystąpień może obsłużyć w zakresie współbieżnych wykonań lub obciążeń procesora CPU lub pamięci. Konkretne decyzje dotyczące skalowania są specyficzne dla obciążenia.
  • Domyślna współbieżność wyzwalaczy HTTP zależy od rozmiaru pamięci wystąpienia. Aby uzyskać więcej informacji, zobacz Współbieżność wyzwalacza HTTP.
  • Dostępne procesory CPU i przepustowość sieci są proporcjonalne do określonego rozmiaru wystąpienia.

Skalowanie poszczególnych funkcji

Współbieżność to kluczowy czynnik określający sposób skalowania aplikacji funkcji Flex Consumption. Aby zwiększyć wydajność aplikacji o różnych typach wyzwalaczy, plan Flex Consumption zapewnia bardziej deterministyczny sposób skalowania aplikacji na podstawie poszczególnych funkcji.

To zachowanie skalowania poszczególnych funkcji jest częścią platformy hostingu, więc nie trzeba konfigurować aplikacji ani zmieniać kodu. Aby uzyskać więcej informacji, zobacz Skalowanie poszczególnych funkcji w artykule Skalowanie oparte na zdarzeniach.

W przypadku skalowania poszczególnych funkcji decyzje są podejmowane dla niektórych wyzwalaczy funkcji na podstawie agregacji grup. W tej tabeli przedstawiono zdefiniowany zestaw grup skalowania funkcji:

Skalowanie grup Wyzwalacze w grupie Wartość ustawień
Wyzwalacze HTTP Wyzwalacz HTTP
SignalR wyzwalacz
http
Wyzwalacze usługi Blob Storage
(Oparte na usłudze Event Grid)
Wyzwalacz usługi Blob Storage blob
Durable Functions Wyzwalacz orkiestracji
Wyzwalacz działania
Wyzwalacz jednostki
durable

Wszystkie inne funkcje w aplikacji są skalowane indywidualnie we własnym zestawie wystąpień, do których odwołuje się konwencja function:<NAMED_FUNCTION>.

Zawsze gotowe wystąpienia

Flex Consumption zawiera funkcję zawsze gotową, która pozwala na wybór wystąpień zawsze uruchomionych i przypisanych do każdej grupy skalowania funkcji lub konkretnych funkcji. Zawsze gotowe jest doskonałym rozwiązaniem w scenariuszach, w których wymagana jest minimalna liczba wystąpień zawsze gotowych do obsługi żądań. Aby na przykład zmniejszyć opóźnienie zimnego uruchamiania aplikacji. Wartość domyślna to 0 (zero).

Jeśli na przykład ustawisz ustawienie zawsze gotowe do 2 dla grupy funkcji HTTP, platforma będzie zawsze działać i przypisać do aplikacji dla funkcji HTTP w aplikacji. Te wystąpienia przetwarzają wykonania funkcji, ale w zależności od ustawień współbieżności platforma jest skalowana poza te dwa wystąpienia z wystąpieniami na żądanie.

Nie mniej niż dwa zawsze gotowe wystąpienia można skonfigurować dla każdej funkcji lub grupy funkcji, gdy jest włączona nadmiarowość strefy.

Aby dowiedzieć się, jak skonfigurować zawsze gotowe wystąpienia, zobacz Set always ready instance counts (Ustawianie zawsze gotowych wystąpień).

Concurrency

Współbieżność odnosi się do liczby równoległych wykonań funkcji w wystąpieniu aplikacji. Można ustawić maksymalną liczbę współbieżnych wykonań, które każde wystąpienie powinno obsługiwać w danym momencie. Współbieżność ma bezpośredni wpływ na sposób skalowania aplikacji, ponieważ na niższych poziomach współbieżności potrzeba więcej wystąpień do obsługi zapotrzebowania opartego na zdarzeniach dla funkcji. Chociaż możesz kontrolować i dostosowywać współbieżność, udostępniamy wartości domyślne, które działają w większości przypadków.

Aby dowiedzieć się, jak ustawić limity współbieżności dla funkcji wyzwalacza HTTP, zobacz Ustawianie limitów współbieżności HTTP. Aby dowiedzieć się, jak ustawić limity współbieżności dla funkcji wyzwalacza innego niż HTTP, zobacz Target Base Scaling (Skalowanie podstawowe).

Deployment

Wdrożenia w planie Flex Consumption są zgodne z jedną ścieżką i nie ma już potrzeby, aby ustawienia aplikacji miały wpływ na zachowanie wdrożenia. Gdy kod projektu zostanie skompilowany i spakowany w pakiecie aplikacji, zostanie wdrożony w kontenerze magazynu obiektów blob. Podczas uruchamiania aplikacja pobiera pakiet i uruchamia kod funkcji z tego pakietu. Domyślnie to samo konto magazynu używane do przechowywania metadanych hosta wewnętrznego (AzureWebJobsStorage) jest również używane jako kontener wdrażania. Można jednak użyć alternatywnego konta magazynu lub wybrać preferowaną metodę uwierzytelniania, konfigurując ustawienia wdrożenia aplikacji.

Wdrożenia bez przestojów

Uwaga / Notatka

Wdrożenia bez przestojów z aktualizacjami stopniowymi są w trakcie publicznych testów.

Elastyczne Zużycie zapewnia wdrożenia bez przestojów dzięki aktualizacjom kroczącym w ramach strategii aktualizacji witryny, co umożliwia stopniowe wdrażanie kodu i zmian konfiguracji na instancjach bez przerywania wykonywania funkcji. Inne plany hostingu używają slotów wdrożeniowych, aby zminimalizować przestoje podczas wdrożeń. Aby uzyskać opcje wdrażania we wszystkich planach hostingu, zobacz Optymalizowanie wdrożeń.

Billing

Istnieją dwa tryby, w których koszty są określane podczas uruchamiania aplikacji w planie Flex Consumption. Każdy tryb jest określany dla poszczególnych wystąpień.

Tryb rozliczeniowy Description
Na żądanie W przypadku uruchamiania w trybie na żądanie opłaty są naliczane tylko za czas wykonywania kodu funkcji w dostępnych wystąpieniach. W trybie na żądanie nie jest wymagana minimalna liczba wystąpień. Opłaty są naliczane za:

• Łączna ilość pamięci przydzielonej, podczas gdy każde wystąpienie na żądanie aktywnie wykonuje funkcje (w GB-sekundach), pomniejszone o bezpłatne przyznawane GB miesięcznie.
• Całkowita liczba wykonań, pomniejszona o bezpłatną dotację (liczbę) wykonań miesięcznie.
Zawsze gotowe Można skonfigurować co najmniej jedno wystąpienie przypisane do określonych typów wyzwalaczy (HTTP/Durable/Blob) i poszczególnych funkcji, które są zawsze dostępne do obsługi żądań. Po włączeniu wszystkich zawsze gotowych wystąpień są naliczane opłaty za:

• Łączna ilość pamięci przydzielonej we wszystkich zawsze gotowych wystąpieniach, znana jako punkt odniesienia (w GB-sekundach).
• Całkowita ilość pamięci aprowizowanej w czasie, gdy każde zawsze gotowe wystąpienie aktywnie wykonuje funkcje (w GB-sekund).
• Całkowita liczba wykonań.

W przypadku zawsze gotowych rozliczeń nie ma bezpłatnych dotacji.

Aby uzyskać najbardziej aktualne informacje na temat cen wykonania, zawsze gotowych kosztów planu bazowego i bezpłatnych dotacji dla wykonań na żądanie, zobacz stronę cennika usługi Azure Functions.

Minimalny rozliczany okres wykonywania dla obu trybów wykonywania wynosi 1000 ms. W przeszłości okres aktywności rozliczanej jest zaokrąglany do najbliższej 100 ms. Szczegółowe informacje na temat mierników rozliczeniowych planu Flex Consumption można znaleźć w dokumentacji monitorowania.

Aby uzyskać szczegółowe informacje na temat sposobu obliczania kosztów podczas korzystania z planu Flex Consumption, w tym przykłady, zobacz Koszty oparte na użyciu i Wyświetlanie danych związanych z kosztami.

Obsługiwane wersje stosu językowego

W tej tabeli przedstawiono wersje stosu językowego, które są obecnie obsługiwane w przypadku aplikacji Flex Consumption:

Stos języka Wymagana wersja
C# (izolowany model procesu roboczego)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
  1. Model przetwarzania w języku C# nie jest obsługiwany. Zamiast tego należy przeprowadzić migrację projektu platformy .NET do izolowanego modelu procesu roboczego.

Regionalne limity przydziału pamięci subskrypcji

Plan Flex Consumption ma limit przydziału oparty na pamięci, który ogranicza ilość mocy obliczeniowej, z których mogą korzystać wszystkie aplikacje Flex Consumption w tym samym czasie w określonym regionie i subskrypcji. Wyobraź sobie, że masz przydział pamięci mierzony w GB lub rdzeniach CPU dla całej subskrypcji w określonym regionie. Wszystkie aplikacje Flex Consumption w tym regionie współdzielą ten zasobnik. Jeśli aplikacje Flex Consumption spróbują użyć więcej niż dozwolony limit kwoty, niektóre wykonania mogą być opóźnione lub ograniczone w zakresie skalowania, ale nie będzie zablokowane tworzenie ani wdrażanie aplikacji.

Obecnie każdy region w danej subskrypcji ma domyślny limit przydziału wynoszący mniej z 512,000 MB lub 250 rdzeni dla wszystkich instancji aplikacji uruchomionych w planach Flex Consumption. Te limity przydziału oznaczają, że w danej subskrypcji i regionie można mieć dowolną kombinację rozmiarów pamięci instancji i ich liczby, o ile pozostają one w granicach limitów przydziału. Na przykład w każdym z tych scenariuszy osiągnięto limit przydziału, a aplikacje w regionie przestają skalować:

  • Masz jedną aplikację o rozmiarze 512 MB skalowaną do 250 wystąpień, a druga aplikacja o rozmiarze 512 MB została skalowana do 750 wystąpień.
  • Masz jedną aplikację o rozmiarze 512 MB skalowaną do 1000 wystąpień.
  • Masz jedną aplikację o rozmiarze 2048 MB skalowaną do 100, a druga aplikacja o rozmiarze 2048 MB skalowana do 150 wystąpień
  • Masz jedną aplikację o rozmiarze 2048 MB, która została rozproszona na 250 instancji.
  • Masz jedną aplikację o rozmiarze 4096 MB, która została skalowana w poziomie do 125 wystąpień
  • Masz jedną aplikację o rozmiarze 4096 MB skalowaną do 100, a jedna aplikacja o rozmiarze 2048 MB skalowana do 50 wystąpień

Aplikacje Flex Consumption skalowane do zera lub wystąpienia oznaczone do skalowania i usuwania nie są liczone względem limitu przydziału. Ten limit przydziału można zwiększyć, aby umożliwić dalsze skalowanie aplikacji Flex Consumption w zależności od wymagań. Jeśli aplikacje wymagają większego limitu przydziału, utwórz bilet pomocy technicznej.

Przestarzałe właściwości i ustawienia

W planie Flex Consumption wiele standardowych ustawień aplikacji i właściwości konfiguracji lokacji jest przestarzałych lub zostało przeniesionych i nie powinny być używane podczas automatyzowania tworzenia zasobów aplikacji funkcyjnych. Aby uzyskać więcej informacji, zobacz Flex Consumption plan deprecations (Wycofywanie planu Flex Consumption).

Considerations

Podczas korzystania z planu Flex Consumption należy pamiętać o innych kwestiach:

  • Aplikacje na plan: tylko jedna aplikacja jest dozwolona dla planu Flex Consumption.
  • Host: istnieje 30-sekundowy limit czasu na potrzeby inicjowania aplikacji. Gdy uruchamianie aplikacji funkcji trwa dłużej niż 30 sekund, mogą zostać wyświetlone zarejestrowane wpisy związane z protokołem System.TimeoutException gRPC. Obecnie nie można skonfigurować tego limitu czasu. Aby uzyskać więcej informacji, zobacz ten element roboczy hosta.
  • Durable Functions: usługa Azure Storage jest obecnie jedynym obsługiwanym dostawcą pamięci masowej dla funkcji Durable Functions, które są hostowane w planie Flex Consumption. Zobacz zalecenia dotyczące hostowania rozszerzenia Durable Functions w planie Flex Consumption.
  • Integracja sieci wirtualnej Upewnij się, że Microsoft.App dostawca zasobów platformy Azure jest włączony dla Twojej subskrypcji, postępując zgodnie z tymi instrukcjami. Delegowanie podsieci wymagane przez aplikacje Flex Consumption to Microsoft.App/environments.
  • Wyzwalacze: Chociaż wszystkie wyzwalacze są w pełni obsługiwane w planie Flex Consumption, wyzwalacz Blob Storage obsługuje tylko źródło Event Grid. Aplikacje funkcji innych niż C# muszą używać wersji [4.0.0, 5.0.0)pakietu rozszerzenia lub nowszej wersji.
  • Regiony: Nie wszystkie regiony są obecnie obsługiwane. Aby dowiedzieć się więcej, zobacz Wyświetlanie aktualnie obsługiwanych regionów.
  • Wdrożenia: sloty wdrożeniowe nie są obecnie obsługiwane. Aby uzyskać informacje o wdrożeniach bez przestojów za pomocą rozwiązania Flex Consumption, zobacz Strategie aktualizacji witryny w rozwiązaniu Flex Consumption.
  • Usługa Azure Storage jako udział lokalny: udziały plików NFS nie są dostępne dla środowiska Flex Consumption. Obsługiwane są tylko usługi SMB i Azure Blob (tylko do odczytu).
  • Skala: najniższa maksymalna skala wynosi obecnie 40. Najwyższa obecnie obsługiwana wartość to 1000.
  • Zależności zarządzane: zarządzane zależności w PowerShell nie są obsługiwane przez model Flex Consumption. Zamiast tego należy przekazać moduły z zawartością aplikacji.
  • Certyfikaty: Ładowanie certyfikatów przy użyciu ustawienia aplikacji WEBSITE_LOAD_CERTIFICATES, certyfikatów zarządzanych, certyfikatów usługi App Service i innych funkcji opartych na certyfikatach platformy, takich jak endToEndEncryptionEnabled, nie są obecnie obsługiwane.
  • Strefy czasowe: WEBSITE_TIME_ZONE i TZ ustawienia aplikacji nie są obecnie obsługiwane podczas uruchamiania w planie Flex Consumption.

Opcjehostingu usługi Azure Functions Tworzenie aplikacji funkcji i zarządzanie nimi w planie Flex Consumption