Udostępnij za pośrednictwem


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. Zapewnia ona większą elastyczność i możliwość dostosowywania, wprowadzając sieć prywatną, wybór rozmiaru pamięci wystąpienia oraz funkcje szybkiego/dużego skalowania w poziomie nadal oparte na modelu bezserwerowym.

Ważne

Plan Flex Consumption jest obecnie dostępny w wersji zapoznawczej. Aby uzyskać listę bieżących ograniczeń dotyczących korzystania z tego planu hostingu, zobacz Zagadnienia. Aby uzyskać bieżące informacje o rozliczeniach w okresie obowiązywania wersji zapoznawczej, zobacz Rozliczenia.

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

Świadczenia

Plan Flex Consumption opiera się na mocnych stronach planu Zużycie, które obejmują dynamiczne skalowanie i rozliczenia oparte na wykonaniu. Dzięki funkcji Flex Consumption uzyskasz również następujące dodatkowe funkcje:

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

Funkcja Zużycie Zużycie elastyczne
Skalowanie do zera ✅ Tak ✅ Tak
Zachowanie skalowania Sterowane zdarzeniami Sterowane zdarzeniami (szybkie)
Sieci wirtualne ❌ Nieobsługiwane ✅ Obsługiwane
Dedykowane obliczenia (eliminowanie zimnych startów) ❌ Żaden ✅ Zawsze gotowe wystąpienia (opcjonalnie)
Rozliczenia Tylko czas 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ą.

Pamięć wystąpienia

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.

Obecnie flex Consumption oferuje opcje rozmiaru pamięci wystąpienia zarówno 2048 MB, jak i 4096 MB.

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. Użyj rozmiaru pamięci wystąpienia 4096 MB w scenariuszach, w których aplikacja wymaga większej współbieżności lub większej mocy obliczeniowej. 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.

Zawsze gotowe wystąpienia

Funkcja Flex Consumption zawiera funkcję zawsze gotową, która umożliwia wybieranie wystąpień, które są zawsze uruchomione i przypisane do każdej z grup skalowania funkcji lub funkcji dla poszczególnych funkcji. Jest to świetna opcja w scenariuszach, w których wymagana jest minimalna liczba wystąpień zawsze gotowych do obsługi żądań, na przykład w celu zmniejszenia opóźnienia zimnego startu 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.

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

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 wyzwalacze HTTP, Blob (Event Grid) i Durable są specjalnymi przypadkami. Wszystkie funkcje wyzwalane przez protokół HTTP w aplikacji są grupowane i skalowane razem w tych samych wystąpieniach, a wszystkie funkcje wyzwalane przez trwałe (orkiestracja, działanie lub wyzwalacze jednostki) są grupowane i skalowane razem w tych samych wystąpieniach. Wszystkie inne funkcje w aplikacji są skalowane indywidualnie.

Współbieżność

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. Aby uzyskać więcej informacji, zobacz Współbieżność wyzwalacza HTTP.

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.

Wdrożenie

Wdrożenia w planie Flex Consumption są zgodne z jedną ścieżką. Gdy kod projektu zostanie skompilowany i spakowany w pakiecie aplikacji, zostanie wdrożony w kontenerze magazynu obiektów blob. Po uruchomieniu aplikacja pobierze pakiet i uruchomi go. 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. W usprawnieniu ścieżki wdrażania nie ma już potrzeby, aby ustawienia aplikacji miały wpływ na zachowanie wdrożenia.

Rozliczenia

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 opis
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 aprowizowanej, podczas gdy każde wystąpienie na żądanie aktywnie wykonuje funkcje (w GB-sekund), pomniejszone o bezpłatną dotację GB na miesiąc.
• 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 aprowizowanej we wszystkich zawsze gotowych wystąpieniach, znana jako punkt odniesienia (w GB-sekund).
• 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.

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 uruchamiania w planie Flex Consumption, w tym przykłady, zobacz Koszty oparte na użyciu.

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.

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# (tryb izolowanego procesu)1 .NET 82
Java Java 11, Java 17
Node.js Węzeł 20
PowerShell PowerShell 7.4
Python Python 3.10, Python 3.11

Tryb przetwarzania w języku C# nie jest obsługiwany. Zamiast tego należy przeprowadzić migrację projektu kodu platformy .NET do uruchomienia w modelu izolowanego procesu roboczego.
2Wymaga wersji 1.20.0 lub nowszej pakietu Microsoft.Azure.Functions.Worker i wersji 1.16.2 lub nowszej zestawu Microsoft.Azure.Functions.Worker.Sdk.

Regionalne limity przydziału pamięci subskrypcji

Obecnie każdy region w danej subskrypcji ma limit 512,000 MB pamięci dla wszystkich wystąpień aplikacji uruchomionych w planach Flex Consumption w tym regionie. Oznacza to, że w danej subskrypcji i regionie można mieć dowolną z następujących kombinacji maksymalnego rozmiaru i liczby wystąpień, z których wszystkie osiągną bieżący 512,000 MB limit. Na przykład:

Rozmiar pamięci wystąpienia (MB) Maksymalna liczba wystąpień (na region)
2048 MB 250
4096 MB 125

W danym regionie można mieć dowolną inną kombinację rozmiarów i liczników pamięci wystąpienia, o ile pozostają one w limicie 512,000 MB . Jeśli aplikacje wymagają większego limitu przydziału, możesz utworzyć bilet pomocy technicznej, aby zażądać zwiększenia limitu przydziału.

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

W rozwiązaniu Flex Consumption wiele standardowych ustawień aplikacji i właściwości konfiguracji lokacji używanych w Bicep, szablonach usługi ARM i ogólnej płaszczyźnie sterowania jest przestarzałych lub przeniesionych i nie powinno być używanych podczas automatyzowania tworzenia zasobów aplikacji funkcji. Aby uzyskać więcej informacji, zobacz Flex Consumption plan deprecations (Wycofywanie planu Flex Consumption).

Kwestie wymagające rozważenia

Podczas korzystania z planu Flex Consumption w bieżącej wersji zapoznawczej należy pamiętać o innych kwestiach:

  • Wyzwalacze: wszystkie wyzwalacze są w pełni obsługiwane z wyjątkiem wyzwalaczy platformy Kafka, usługi Azure SQL i signalR. Wyzwalacz usługi Blob Storage obsługuje tylko źródło usługi 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: te funkcje związane z wdrażaniem nie są obecnie obsługiwane:
    • Miejsca wdrożenia
    • Ciągłe wdrażanie przy użyciu zadań usługi Azure DevOps (AzureFunctionApp@2)
    • Ciągłe wdrażanie przy użyciu funkcji GitHub Actions (functions-action@v1)
  • Skala: najniższa maksymalna skala w wersji zapoznawczej to 40. Najwyższa obecnie obsługiwana wartość to 1000.
  • Autoryzacja: usługa EasyAuth nie jest obecnie obsługiwana. Nieuwierzytelnione osoby wywołujące nie są obecnie blokowane, gdy usługa EasyAuth jest włączona w aplikacji planu Flex Consumption.
  • MECHANIZM CORS: ustawienia mechanizmu CORS nie są obecnie obsługiwane. Wyjątki mogą wystąpić, jeśli mechanizm CORS jest skonfigurowany dla aplikacji Flex Consumption.

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