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 artykuł dotyczący planu hostingu.
Ważne
Usługa Azure Functions może działać na platformie usługi aplikacja systemu Azure. 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.
Hosting planu Premium zapewnia następujące korzyści dla funkcji:
- Unikaj zimnych początków z ciepłymi wystąpieniami.
- Łączność sieci wirtualnej.
- Obsługuje dłuższe czasy wykonywania.
- Wybór rozmiarów wystąpień Premium.
- Bardziej przewidywalne ceny w porównaniu z planem Zużycie.
- Alokacja aplikacji o wysokiej gęstości dla planów z wieloma aplikacjami funkcji.
- Obsługuje wdrożenia kontenerów systemu Linux.
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 Zużycie. Wiele aplikacji funkcji można wdrożyć w tym samym planie Premium, a plan umożliwia skonfigurowanie rozmiaru wystąpienia obliczeniowego, rozmiaru planu podstawowego i maksymalnego rozmiaru planu.
Rozliczenia
Rozliczenia dla planu Premium są oparte na liczbie sekund pracy rdzenia i pamięci przydzielonej między wystąpieniami. To rozliczenie różni się od planu Zużycie, który jest rozliczany na podstawie użycia zasobów i wykonań 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 udostępnionym planie Premium współdzielą przydzielone wystąpienia. Aby dowiedzieć się więcej, zobacz stronę cennika usługi Azure Functions.
Uwaga
Każdy plan Premium ma co najmniej jedno aktywne (rozliczane) wystąpienie przez cały czas.
Tworzenie planu Premium
Podczas tworzenia aplikacji funkcji w witrynie Azure Portal plan Zużycie jest domyślny. Aby utworzyć aplikację funkcji działającą w planie Premium, musisz jawnie utworzyć lub wybrać plan hostingu usługi Azure Functions Premium przy użyciu jednego z jednostek 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 muszą działać w 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 aplikacji.
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ąpienia wstępnie przygotowane. Zawsze gotowe wystąpienia są kategorią wstępnie przydzielanych wystąpień, których nie dotyczy skalowanie, a wstępnie przygotowane są buforem podczas skalowania z powodu zdarzeń HTTP.
Gdy zdarzenia zaczynają wyzwalać aplikację, są one najpierw kierowane do zawsze gotowych 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ń. Aplikacja działa w sposób ciągły na tych wystąpieniach niezależnie od obciążenia. Jeśli obciążenie przekracza to, co zawsze gotowe wystąpienia mogą obsługiwać, więcej wystąpień jest dodawanych zgodnie z potrzebami, maksymalnie do określonej wartości maksymalnej.
To ustawienie na poziomie aplikacji kontroluje również minimalne wystąpienia planu. Rozważ na przykład posiadanie trzech aplikacji funkcji w tym samym planie Premium. Gdy dwie aplikacje mają zawsze gotową liczbę wystąpień ustawioną na jedną, a w trzecim wystąpieniu jest ustawiona na pięć, minimalna liczba całego planu wynosi pięć. Odzwierciedla to również minimalną liczbę wystąpień, dla których jest rozliczany plan. Maksymalna liczba zawsze gotowych wystąpień, które obsługujemy dla aplikacji, wynosi 20.
Możesz skonfigurować liczbę zawsze gotowych wystąpień w witrynie Azure Portal, wybierając aplikację funkcji, przechodząc do karty Funkcje platformy i wybierając opcje Skalowanie w poziomie. W oknie edycji aplikacji funkcji zawsze gotowe wystąpienia są specyficzne dla tej aplikacji.
Wystąpienia przedwarmowane
Ustawienie liczby wystąpień wstępnie rozgrzanych udostępnia wystąpienia jako bufor podczas skalowania HTTP i zdarzeń aktywacji. Wystąpienia przedwarmowane 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ługą rozgrzewkę, można rozważyć zwiększenie tego buforu wstępnie rozwojonych wystąpień. Wystąpienie przedwzroczone staje się aktywne tylko po użyciu wszystkich aktywnych wystąpień.
Można również zdefiniować wyzwalacz rozgrzewki uruchamiany podczas procesu przedwzroczy. Możesz użyć wyzwalacza rozgrzewki, aby wstępnie załadować niestandardowe zależności podczas procesu przedwojennego, dzięki czemu funkcje są gotowe do natychmiastowego rozpoczęcia przetwarzania żądań. Aby dowiedzieć się więcej, zobacz Wyzwalacz rozgrzewania usługi Azure Functions.
Rozważmy ten przykład współpracy wystąpień i wystąpień wstępnie gotowych. Aplikacja funkcji w warstwie Premium ma skonfigurowane dwa zawsze gotowe wystąpienia i wartość domyślną jednego wystąpienia z góry.
- Gdy aplikacja jest bezczynna i żadne zdarzenia nie są wyzwalane, aplikacja jest aprowizowana i uruchamiana z dwoma wystąpieniami. Obecnie opłaty są naliczane za dwa zawsze gotowe wystąpienia, ale nie są naliczane opłaty za wystąpienie przedwarmowane, ponieważ nie jest przydzielone żadne wystąpienie wstępne.
- Gdy aplikacja zacznie odbierać ruch HTTP, żądania są zrównoważone w dwóch zawsze gotowych wystąpieniach. Gdy tylko te dwa wystąpienia rozpoczną przetwarzanie zdarzeń, wystąpienie zostanie dodane w celu wypełnienia buforu przedwzroczonego. Aplikacja jest teraz uruchomiona z trzema wystąpieniami aprowizacji: dwoma zawsze gotowymi wystąpieniami i trzecim buforem wstępnie przygotowanym i nieaktywnym. Opłaty są naliczane za trzy wystąpienia.
- 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.
- Ta sekwencja skalowania i przedwzromienia będzie kontynuowana do momentu osiągnięcia maksymalnej liczby wystąpień dla aplikacji lub spadku obciążenia, co powoduje, że platforma będzie skalowana z powrotem po upływie okresu. Żadne wystąpienia nie są wstępnie uruchamiane lub aktywowane poza maksymalną wartością.
Nie można zmienić ustawienia liczby wystąpień wstępnie w portalu. Zamiast tego należy użyć interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell.
Maksymalna liczba wystąpień aplikacji funkcji
Oprócz maksymalnej liczby serii planu 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 przekraczać maksymalnej liczby wystąpień serii planu.
Łączność z siecią prywatną
Aplikacje funkcji wdrożone w planie Premium mogą korzystać z integracji sieci wirtualnej dla aplikacji internetowych. Po skonfigurowaniu aplikacja może komunikować się z zasobami w sieci wirtualnej lub zabezpieczyć się za pośrednictwem punktów końcowych 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 aplikacji funkcji z siecią wirtualną.
Szybka skala elastyczna
Więcej wystąpień obliczeniowych jest automatycznie dodawanych dla aplikacji przy użyciu tej samej logiki szybkiego skalowania co plan Zużycie. 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życie są ograniczone do 10 minut dla pojedynczego wykonania. W planie Premium czas trwania przebiegu domyślnie wynosi 30 minut, aby zapobiec wykonywaniu ucieczki. Można jednak zmodyfikować konfigurację host.json tak, aby czas trwania aplikacji planu Premium był niezwiązany z następującymi ograniczeniami:
- Uaktualnienia platformy mogą wyzwalać zarządzane zamykanie i zatrzymywać wykonywanie funkcji z okresem prolongaty 10 minut.
- Istnieje czasomierz bezczynności, który zatrzymuje proces roboczy po 60 minutach bez nowych wykonań.
- Zachowanie skalowania w poziomie może spowodować zamknięcie procesu roboczego po upływie 60 minut.
- Zamiany miejsc mogą kończyć wykonywanie miejsc źródłowych i docelowych podczas zamiany.
Migracja
Jeśli masz istniejącą aplikację funkcji, możesz użyć poleceń interfejsu wiersza polecenia platformy Azure, aby przeprowadzić migrację aplikacji między planem Zużycie i 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 aplikacja wymaga wystąpień poza zawsze gotowymi wystąpieniami, może ona nadal skalować w poziomie, dopóki liczba wystąpień nie osiągnie maksymalnego limitu liczby wystąpień lub maksymalnego limitu skalowania w poziomie aplikacji, jeśli zostanie skonfigurowany. Opłaty są naliczane tylko za wystąpienia, gdy są uruchomione i przydzielone Do Ciebie, na sekundę. Platforma dokłada wszelkich starań, aby skalować aplikację w poziomie do zdefiniowanych limitów maksymalnych.
Rozmiar planu i maksimum można skonfigurować w witrynie Azure Portal, wybierając opcje Skalowanie w poziomie w obszarze Ustawienia aplikacji funkcji wdrożonej w tym planie.
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żde wystąpienie przydzielone w minimalnej liczbie wystąpień niezależnie od tego, czy funkcje są wykonywane, czy nie.
W większości przypadków ta wartość minimalna automatycznie obliczana jest wystarczająca. Jednak skalowanie poza minimum odbywa się w najlepszym przypadku. Jest możliwe, choć mało prawdopodobne, że w określonym czasie skalowanie w poziomie może być opóźnione, jeśli inne wystąpienia są niedostępne. Ustawiając minimalną wartość wyższą niż wartość minimalną obliczaną automatycznie, należy zarezerwować wystąpienia z wyprzedzeniem skalowania w poziomie.
Minimalne wystąpienia można skonfigurować w witrynie Azure Portal, wybierając opcje Skalowanie w poziomie w obszarze Ustawienia aplikacji funkcji wdrożonej w tym planie.
Dostępne jednostki SKU wystąpienia
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ć w poziomie do wielu wystąpień odpowiednio do potrzeb.
SKU | Rdzenie | Pamięć | Storage |
---|---|---|---|
EP1 | 1 | 3,5 GB | 250 GB |
EP2 | 2 | 7 GB | 250 GB |
EP3 | 100 | 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 Języka JavaScript jest ograniczona do domyślnego limitu 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 ustawienie platformy bitów jest ustawione na 64 Bit
wartość w obszarze Ustawienia ogólne.
Maksymalny skalowanie regionu w poziomie
Są to obecnie obsługiwane maksymalne wartości skalowania w poziomie dla jednego planu w każdym regionie i konfiguracji systemu operacyjnego:
Region (Region) | Windows | Linux |
---|---|---|
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 |
Indie Zachodnie (Jio) | 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 Republika Południowej Afryki | 20 | 20 |
South Central US | 100 | 100 |
Indie Południowe | 100 | Niedostępne |
Southeast Asia | 100 | 20 |
Hiszpania Środkowa | 20 | 20 |
Szwajcaria Północna | 100 | 20 |
Szwajcaria Zachodnia | 100 | 20 |
Północne Zjednoczone Emiraty Arabskie | 100 | 20 |
Południowe Zjednoczone Królestwo | 100 | 100 |
Zachodnie Zjednoczone Królestwo | 100 | 20 |
Administracja USA — Arizona | 20 | 20 |
USGov Teksas | 20 | Niedostępne |
USGov Wirginia | 80 | 20 |
Zachodnio-środkowe stany USA | 100 | 20 |
West Europe | 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 pełną regionalną dostępność usługi Azure Functions.