Udostępnij za pośrednictwem


Plan Premium usługi Azure Functions

Plan Elastic Premium usługi Azure Functions to opcja hostingu dynamicznego skalowania dla aplikacji funkcji. Aby uzyskać informacje o innych opcjach planu hostingu, zobacz Opcje hostingu usługi Azure Functions.

Ważne

Usługa Azure Functions może działać na platformie usługi Azure App Service. Na platformie App Service plany hostujące aplikacje funkcji planu Premium są określane jako plany Elastic Premium z nazwami jednostek SKU, takimi jak EP1. Jeśli zdecydujesz się uruchomić aplikację funkcji w planie Premium, pamiętaj, aby utworzyć plan z nazwą jednostki SKU rozpoczynającą się od "E", na przykład EP1. Nazwy jednostek SKU planu usługi App Service rozpoczynające się od "P", takie jak P1V2 (plan Premium V2 Small), są rzeczywiście dedykowanymi planami hostingu. Ponieważ są one dedykowane, a nie elastyczne Premium, plany o nazwach jednostek SKU rozpoczynających się od "P" nie będą skalowane dynamicznie i mogą zwiększyć koszty.

Usługa hostingu w planie Premium daje następujące korzyści dla twoich funkcji:

W przypadku korzystania z planu Premium wystąpienia hosta usługi Azure Functions są dodawane i usuwane na podstawie liczby zdarzeń przychodzących, podobnie jak plan Flex Consumption i plan Zużycie. Wiele aplikacji funkcyjnych można wdrożyć do tego samego planu Premium, a plan umożliwia skonfigurowanie rozmiaru instancji obliczeniowej, podstawowego rozmiaru planu i maksymalnego rozmiaru planu.

Rozliczenia

Rozliczenia dla planu Premium są oparte na liczbie sekund rdzeni i pamięci przeznaczonej między instancjami. To rozliczenie różni się od planu Zużycia, który jest fakturowany na podstawie zużycia zasobów i liczby wykonań w przeliczeniu na sekundę. Za plan Premium nie są naliczane opłaty za wykonanie. To rozliczanie powoduje minimalny miesięczny koszt za aktywny plan, niezależnie od tego, czy funkcja jest aktywna, czy bezczynna. Należy pamiętać, że wszystkie aplikacje funkcji w planie Premium współdzielą przydzielone wystąpienia. Aby dowiedzieć się więcej, zobacz Cennik usługi Azure Functions.

Uwaga

Każdy plan Premium ma co najmniej jedno aktywne (rozliczane) wystąpienie w każdym momencie.

Tworzenie planu Premium

Podczas tworzenia aplikacji funkcji w portalu Azure plan Konsumpcyjny jest domyślny. Aby utworzyć aplikację funkcji Azure działającą w planie Premium, musisz jawnie utworzyć lub wybrać plan hostingu Azure Functions Premium przy użyciu jednego z SKU Elastic Premium. Utworzona aplikacja funkcji jest następnie hostowana w tym planie. Witryna Azure Portal ułatwia jednoczesne tworzenie zarówno planu Premium, jak i aplikacji funkcji. Można uruchomić więcej niż jedną aplikację funkcji w tym samym planie Premium, ale obie aplikacje muszą działać na tym samym systemie operacyjnym (Windows lub Linux).

W poniższych artykułach pokazano, jak programowo utworzyć aplikację funkcji przy użyciu planu Premium:

Eliminowanie zimnych startów

Gdy zdarzenia lub wykonania nie występują w planie Zużycie, aplikacja może być skalowana do zera wystąpień. Gdy pojawią się nowe zdarzenia, nowe wystąpienie aplikacji uruchomionej na niej musi być wyspecjalizowane. Specjalizacja nowych wystąpień zajmuje trochę czasu, w zależności od aplikacji. To dodatkowe opóźnienie podczas pierwszego wywołania jest często nazywane zimnym startem.

Plan Premium udostępnia dwie funkcje, które współpracują ze sobą, aby skutecznie wyeliminować zimne starty w funkcjach: zawsze gotowe wystąpienia i wystąpieniawstępnie przygotowane. Zawsze gotowe instancje to kategoria wstępnie przydzielonych zasobów, które są odporne na zmiany skalowania, a wstępnie rozgrzane instancje pełnią rolę bufora w czasie skalowania z powodu zdarzeń HTTP.

Gdy zdarzenia zaczynają wyzwalać aplikację, są one najpierw kierowane do gotowych do działania wystąpień. Gdy funkcja staje się aktywna z powodu zdarzeń HTTP, inne wystąpienia są rozgrzewane jako bufor. Te wystąpienia buforowane są nazywane wystąpieniami wstępnymi. Ten bufor zmniejsza zimny start dla nowych wystąpień wymaganych podczas skalowania.

Zawsze gotowe wystąpienia

W planie Premium możesz mieć aplikację zawsze gotową na określoną liczbę wystąpień. Twoja aplikacja działa nieprzerwanie na tych wystąpieniach, niezależnie od obciążenia. Jeśli obciążenie przekracza to, co zawsze gotowe instancje mogą obsługiwać, dodatkowe instancje są dodawane zgodnie z potrzebą, maksymalnie do określonej wartości maksymalnej.

To ustawienie na poziomie aplikacji kontroluje również minimalną liczbę instancji planu. Rozważ na przykład posiadanie trzech aplikacji funkcjonalnych w tym samym planie Premium. Gdy dwie aplikacje mają zawsze gotową liczbę wystąpień ustawioną na jedną, a trzecia aplikacja jest ustawiona na pięć, minimalna liczba całego planu wynosi pięć. Odzwierciedla to również minimalną liczbę wystąpień, za które jest naliczana opłata za plan. Maksymalna liczba zawsze gotowych wystąpień, które obsługujemy dla aplikacji, wynosi 20.

Możesz skonfigurować liczbę zawsze gotowych wystąpień w portalu Azure, wybierając Function App, przechodząc do karty Funkcje platformy i wybierając opcje Skalowanie w poziomie. W oknie edycji funkcji aplikacji, zawsze gotowe wystąpienia dotyczą tej konkretnej aplikacji.

Zrzut ekranu przedstawiający ustawienia elastycznej skali w portalu.

Wstępnie podgrzane wystąpienia

Ustawienie liczby przygotowanych wystąpień zapewnia gotowe wystąpienia jako bufor podczas skalowania HTTP i działań związanych z aktywacją. Wstępnie uruchomione instancje będą buforowane do momentu osiągnięcia maksymalnego limitu skalowania w poziomie. Domyślna liczba wstępnie utworzonych wystąpień to 1, a w większości scenariuszy ta wartość powinna pozostać na poziomie 1.

Rozważmy mniej typowy scenariusz, taki jak aplikacja działająca w kontenerze niestandardowym. Ponieważ kontenery niestandardowe mają długi czas rozgrzewania, warto rozważyć zwiększenie buforu uprzednio nagrzanych instancji. Wystąpienie przedwzroczone staje się aktywne tylko po użyciu wszystkich aktywnych wystąpień.

Można również zdefiniować wyzwalacz rozgrzewania uruchamiany podczas procesu nagrzewania wstępnego. Możesz użyć wyzwalacza wstępnego rozgrzewania, aby wstępnie załadować niestandardowe zależności podczas procesu rozgrzewania, dzięki czemu funkcje są natychmiast gotowe do przetwarzania żądań. Aby dowiedzieć się więcej, zobacz Wyzwalacz rozgrzewania dla Azure Functions.

Rozważmy ten przykład pokazujący, jak zawsze gotowe wystąpienia i wystąpienia przedwarmowane współpracują ze sobą. Aplikacja funkcji w warstwie Premium ma skonfigurowane dwa zawsze gotowe wystąpienia oraz jedno domyślne wstępnie uruchomione wystąpienie.

Zrzut ekranu przedstawiający wykres skalowania.

  1. Gdy aplikacja jest bezczynna i żadne zdarzenia nie są wyzwalane, aplikacja jest konfigurowana i uruchamiana z dwoma instancjami. Obecnie opłaty są naliczane za dwa zawsze gotowe wystąpienia, ale nie są naliczane opłaty za wstępnie rozgrzane wystąpienie, ponieważ nie jest przydzielone żadne wystąpienie wstępnie rozgrzane.
  2. Gdy aplikacja zacznie odbierać ruch HTTP, żądania są równomiernie rozdzielane pomiędzy dwoma zawsze gotowymi wystąpieniami. Gdy tylko te dwa wystąpienia rozpoczną przetwarzanie zdarzeń, dodaje się nowe wystąpienie w celu wypełnienia przygotowanego buforu. Aplikacja jest teraz uruchomiona z trzema wystąpieniami: dwoma zawsze gotowymi i trzecim wstępnie przygotowanym jako bufor nieaktywny. Opłaty są naliczane za trzy wystąpienia.
  3. Wraz ze wzrostem obciążenia i potrzebami aplikacji jest więcej wystąpień do obsługi ruchu HTTP, to wstępnie utworzone wystąpienie jest zamieniane na aktywne wystąpienie. Obciążenie HTTP jest teraz kierowane do wszystkich trzech wystąpień, a czwarte wystąpienie jest natychmiast aprowizowane w celu wypełnienia buforu przedwzroczonego.
  4. Ta sekwencja skalowania i przedrozgrzania będzie kontynuowana do momentu osiągnięcia maksymalnej liczby wystąpień dla aplikacji lub spadku obciążenia, co powoduje, że platforma zostanie zeskalowana z powrotem po upływie określonego czasu. Żadne wystąpienia nie są wstępnie uruchamiane lub aktywowane poza maksymalną wartością.

Nie można zmienić ustawienia liczby wstępnie załadowanych wystąpień w portalu. Zamiast tego należy użyć interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.

Maksymalna liczba wystąpień aplikacji funkcjonalnej

Oprócz maksymalnej liczby serii w planie, można skonfigurować maksymalną liczbę serii dla aplikacji. Maksymalną liczbę aplikacji można skonfigurować przy użyciu limitu skalowania aplikacji. Maksymalny limit skalowania aplikacji w poziomie nie może przekroczyć maksymalnej liczby wystąpień w ramach planu.

Łączność z siecią prywatną

Aplikacje funkcji wdrożone w planie Premium mogą korzystać z integracji sieci wirtualnej dla aplikacji internetowych. Po skonfigurowaniu, Twoja aplikacja może komunikować się z zasobami w ramach Twojej sieci wirtualnej lub poprzez zabezpieczone punkty końcowe usługi. Ograniczenia adresów IP są również dostępne w aplikacji w celu ograniczenia ruchu przychodzącego.

Podczas przypisywania podsieci do aplikacji funkcji w planie Premium potrzebna jest podsieć z wystarczającą ilością adresów IP dla każdego potencjalnego wystąpienia. Wymagamy bloku adresów IP z co najmniej 100 dostępnymi adresami.

Aby uzyskać więcej informacji, zobacz Integrowanie usługi Azure Functions z siecią wirtualną.

Szybka elastyczna skalowalność

Automatycznie dodawane są dodatkowe wystąpienia obliczeniowe dla Twojej aplikacji, korzystając z tej samej dynamicznej logiki skalowania co plan zużycia. Aplikacje w tym samym planie usługi App Service są skalowane niezależnie od siebie na podstawie potrzeb poszczególnych aplikacji. Jednak aplikacje usługi Functions w tym samym planie usługi App Service współużytkują zasoby maszyn wirtualnych, aby w miarę możliwości zmniejszyć koszty. Liczba aplikacji skojarzonych z maszyną wirtualną zależy od rozmiaru każdej aplikacji i rozmiaru maszyny wirtualnej.

Aby dowiedzieć się więcej o sposobie działania skalowania, zobacz Skalowanie oparte na zdarzeniach w usłudze Azure Functions.

Dłuższy czas trwania

Funkcje w planie zużycia są ograniczone do 10 minut na jedno wykonanie. W planie Premium czas działania domyślnie wynosi 30 minut, aby zapobiec niekontrolowanym wykonaniom. Można jednak zmodyfikować konfigurację host.json tak, aby czas trwania aplikacji planu Premium był niezwiązany z następującymi ograniczeniami:

  • Aktualizacje platformy mogą powodować zarządzane wyłączenie i przerwanie wykonywania funkcji z okresem karencji 10 minut.
  • Istnieje licznik bezczynności, który zatrzymuje pracownika po 60 minutach bez nowych zaplanowanych zadań.
  • Zachowanie skalowania w poziomie może spowodować zamknięcie procesu roboczego po upływie 60 minut.
  • Zamiany gniazd mogą kończyć wykonywanie procesów na gniazdach źródłowych i docelowych podczas zamiany.

Migracja

Jeśli masz istniejącą aplikację funkcyjną, możesz użyć Azure CLI, aby przeprowadzić migrację aplikacji między planem konsumpcji a planem Premium w systemie Windows. Określone polecenia zależą od kierunku migracji. Aby dowiedzieć się więcej, zobacz Planowanie migracji.

Ta migracja nie jest obsługiwana w systemie Linux.

Ustawienia planu Premium

Podczas tworzenia planu istnieją dwa ustawienia rozmiaru planu: minimalna liczba wystąpień (lub rozmiar planu) i maksymalny limit liczby serii.

Jeśli Twoja aplikacja wymaga instancji ponad zawsze dostępne instancje, może być dalej skalowana poziomo, aż liczba instancji osiągnie maksymalny limit wzrostu planu lub, jeśli jest skonfigurowana, maksymalny limit skalowania aplikacji. Opłaty są naliczane tylko za instancje, gdy są uruchomione i przydzielone do ciebie, na podstawie sekundowego rozliczenia. Platforma dokłada wszelkich starań, aby rozwinąć aplikację do zdefiniowanych maksymalnych limitów.

Rozmiar planu i maksymalne wartości można skonfigurować w portalu Azure, wybierając opcje Skalowanie w obszarze Ustawienia aplikacji funkcyjnej wdrożonej w tym planie.

Zrzut ekranu przedstawiający ustawienia rozmiaru planu elastycznego w portalu.

Minimum dla każdego planu Premium to co najmniej jedno wystąpienie. Rzeczywista minimalna liczba wystąpień jest określana na podstawie zawsze gotowych wystąpień żądanych przez aplikacje w planie. Jeśli na przykład aplikacja A żąda pięciu zawsze gotowych wystąpień, a aplikacja B żąda dwóch zawsze gotowych wystąpień w tym samym planie, minimalny rozmiar planu jest określany jako pięć. Aplikacja A działa na wszystkich pięciu, a aplikacja B działa tylko na 2.

Ważne

Opłaty są naliczane za każdą instancję przydzieloną w minimalnej liczbie instancji, niezależnie od tego, czy funkcje są wykonywane.

W większości przypadków ta wartość minimalna automatycznie obliczana jest wystarczająca. Jednak skalowanie poza minimum odbywa się w miarę możliwości. Jest możliwe, choć mało prawdopodobne, że może dojść do opóźnienia w rozszerzeniu zasobów, jeśli inne instancje będą niedostępne w określonym momencie. Ustawiając minimalną wartość na wyższą niż automatycznie obliczana, rezerwujesz wystąpienia z wyprzedzeniem zwiększania skali.

Minimalne wystąpienia można skonfigurować w portalu Azure, wybierając opcje skalowanie poziome w sekcji Ustawienia aplikacji funkcyjnej wdrożonej w tym planie.

Zrzut ekranu minimalnych ustawień instancji w portalu.

Dostępne jednostki SKU instancji

Podczas tworzenia lub skalowania planu można wybrać jeden z trzech rozmiarów wystąpień. Opłaty są naliczane za łączną liczbę rdzeni i aprowizowaną pamięć na sekundę przydzieloną każdemu wystąpieniu. Aplikacja może automatycznie skalować się w poziomie do wielu wystąpień odpowiednio do potrzeb.

Jednostka magazynowa Rdzenie Pamięć Przechowywanie
EP1 powiedział: 1 3,5 GB 250 GB
EP2 (wersja angielska) 2 7 GB 250 GB
EP3 powiedział: 4 14 GB 250 GB

Zagadnienia dotyczące użycia pamięci

Uruchamianie na maszynie z większą ilością pamięci nie zawsze oznacza, że aplikacja funkcji używa całej dostępnej pamięci.

Na przykład aplikacja funkcji JavaScript jest ograniczona przez domyślny limit pamięci w Node.js. Aby zwiększyć ten stały limit pamięci, dodaj ustawienie languageWorkers:node:arguments aplikacji z wartością --max-old-space-size=<max memory in MB>.

W przypadku planów z więcej niż 4 GB pamięci upewnij się, że w obszarze 64 Bit ustawienie platformy Bitness jest ustawione na .

Maksymalne skalowanie horyzontalne regionu

W poniższej tabeli wymieniono obecnie obsługiwane maksymalne wartości skalowania w poziomie dla pojedynczego planu w każdym regionie i konfiguracji systemu operacyjnego:

Rejon Windows Linuxa
Australia Środkowa 100 20
Australia Środkowa 2 100 Niedostępne
Australia Wschodnia 100 40
Australia Południowo-Wschodnia 100 20
Brazylia Południowa 100 20
Kanada Środkowa 100 100
Indie Centralne 100 20
Środkowe stany USA 100 100
Chiny Wschodnie 2 20 20
Chiny Północne 2 20 20
Chiny Północne 3 20 20
Azja Wschodnia 100 20
Wschodnie stany USA 100 100
Wschodnie stany USA 2 80 100
Francja Środkowa 100 60
Niemcy Środkowo-Zachodnie 100 20
Izrael Centralny 100 20
Włochy Północne 100 20
Japonia Wschodnia 100 20
Japonia Zachodnia 100 20
Jio India Zachodnia 100 20
Korea Środkowa 100 20
Korea Południowa 40 20
Meksyk Środkowy 20 20
Północno-środkowe stany USA 100 20
Europa Północna 100 100
Norwegia Wschodnia 100 20
Północna Republika Południowej Afryki 100 20
Zachodnia Południowa Afryka 20 20
Południowo-centralna część USA 100 100
Indie Południowe 100 Niedostępne
Azja Południowo-Wschodnia 100 20
Hiszpania Środkowa 20 20
Szwajcaria Północna 100 20
Szwajcaria Zachodnia 100 20
Północne Zjednoczone Emiraty Arabskie 100 100
Południowe Zjednoczone Królestwo 100 100
Zachodnie Zjednoczone Królestwo 100 20
Rząd USA, Arizona 20 20
USGov Teksas 20 Niedostępne
USGov Wirginia 80 20
Zachodnio-środkowe stany USA 100 20
Zachodnia Europa 100 100
Indie Zachodnie 100 20
Zachodnie stany USA 100 100
Zachodnie stany USA 2 100 20
Zachodnie stany USA 3 100 20

Aby uzyskać więcej informacji, zobacz Dostępność produktów według regionów.