Perspektywa dobrze zaprojektowanej struktury platformy Azure dla funkcji Web Apps usługi aplikacja systemu Azure Service

aplikacja systemu Azure Service to rozwiązanie obliczeniowe platformy jako usługi (PaaS), którego można użyć do hostowania obciążenia na platformie Azure. Jest to w pełni zarządzana usługa, która abstrahuje bazowe zasoby obliczeniowe i odciąża odpowiedzialność za tworzenie, wdrażanie i skalowanie na platformie. App Service zawsze jest uruchamiany w ramach planu usługi App Service. Wybrany plan usługi określa region, w którym działa obciążenie, konfiguracje obliczeniowe i system operacyjny. Dla usługi App Service jest dostępnych wiele modeli rozliczeniowych.

W tym artykule przyjęto założenie, że jako architekt przejrzyliśmy drzewo decyzyjne obliczeń i wybraliśmy usługę App Service jako zasoby obliczeniowe dla obciążenia. Wskazówki zawarte w tym artykule zawierają zalecenia dotyczące architektury mapowane na zasady filarów platformy Azure Well-Architected Framework.

Ważne

Jak korzystać z tego przewodnika

Każda sekcja zawiera listę kontrolną projektu, która przedstawia zagadnienia dotyczące architektury wraz ze strategiami projektowania zlokalizowanymi w zakresie technologii.

Uwzględniono również zalecenia dotyczące możliwości technologicznych, które mogą pomóc zmaterializować te strategie. Zalecenia nie reprezentują wyczerpującej listy wszystkich konfiguracji dostępnych dla funkcji Web Apps usługi aplikacja systemu Azure Service i ich zależności. Zamiast tego wyświetlają listę kluczowych zaleceń mapowanych na perspektywy projektu. Skorzystaj z zaleceń, aby utworzyć weryfikację koncepcji lub zoptymalizować istniejące środowiska.

Podstawowa architektura, która demonstruje kluczowe zalecenia: architektura punktu odniesienia usługi App Service.

Zakres technologii

Ten przegląd koncentruje się na powiązanych decyzjach dotyczących następujących zasobów platformy Azure:

  • Plany usługi App Service
  • Web Apps

Inne oferty platformy Azure są skojarzone z usługą App Service, takimi jak Azure Functions, Azure Logic Apps i App Service Environment. Te oferty są poza zakresem tego artykułu. Środowisko App Service Environment jest od czasu do czasu przywołyzowane, aby ułatwić wyjaśnienie funkcji lub opcji podstawowych ofert usługi App Service.

Niezawodność

Celem filaru niezawodności jest zapewnienie ciągłej funkcjonalności dzięki tworzeniu wystarczającej odporności i możliwości szybkiego odzyskiwania po awariach.

Zasady projektowania niezawodności zapewniają ogólną strategię projektowania stosowaną dla poszczególnych składników, przepływów systemowych i całego systemu.

Lista kontrolna projektu

Rozpocznij strategię projektowania na podstawie listy kontrolnej przeglądu projektu pod kątem niezawodności. Określ jego znaczenie dla wymagań biznesowych, pamiętając o warstwach i funkcjach usługi App Service oraz jej zależnościach. Rozszerz strategię w celu uwzględnienia większej liczby podejść zgodnie z potrzebami.

  • Określanie priorytetów przepływów użytkownika: nie wszystkie przepływy są równie krytyczne. Przypisz priorytety do każdego przepływu, aby kierować decyzjami projektowymi. Projekt przepływu użytkownika może mieć wpływ na warstwy usług i wystąpienia wybrane dla planu i konfiguracji usługi App Service.

    Na przykład aplikacja może zawierać warstwy frontonu i zaplecza, które komunikują się za pośrednictwem brokera komunikatów. Możesz podzielić warstwy w wielu aplikacjach internetowych, aby umożliwić niezależne skalowanie, zarządzanie cyklem życia i konserwację. Umieszczenie dużej aplikacji w jednym planie może prowadzić do problemów z pamięcią lub procesorem CPU i wpływać na niezawodność.

    W celu uzyskania optymalnej wydajności po stronie interfejsu użytkownika może być potrzebnych więcej wystąpień na frontonie. Jednak zaplecze może nie wymagać tej samej liczby wystąpień.

  • Przewidywanie potencjalnych niepowodzeń: Planowanie strategii ograniczania ryzyka potencjalnych awarii. W poniższej tabeli przedstawiono przykłady analizy trybu awarii.

    Błąd Czynności zapobiegawcze
    Błąd podstawowych lub abstrakcyjnych składników usługi App Service Nadmiarowość składników w wystąpieniach i zależnościach. Monitorowanie kondycji wystąpień, wydajności sieci i wydajności magazynu.
    Niepowodzenie zależności zewnętrznych Użyj wzorców projektowych, takich jak wzorzec ponawiania prób i wzorzec wyłącznika. Monitoruj zależności zewnętrzne i ustaw odpowiednie limity czasu.
    Niepowodzenie z powodu ruchu kierowanego do wystąpień w złej kondycji Monitorowanie kondycji wystąpienia. Rozważ czas odpowiedzi i unikaj wysyłania żądań do wystąpień w złej kondycji.

    Aby uzyskać więcej informacji, zobacz Analiza trybu awarii dla aplikacji platformy Azure.

  • Nadmiarowość kompilacji: tworzenie nadmiarowości w aplikacji i pomocniczej infrastrukturze. Rozłożenie wystąpień w różnych strefach dostępności w celu zwiększenia odporności na uszkodzenia. Kierowanie ruchu do innych stref, jeśli jedna strefa ulegnie awarii. Wdróż aplikację w wielu regionach, aby upewnić się, że aplikacja pozostaje dostępna, nawet jeśli w całym regionie wystąpi awaria.

    Tworzenie podobnych poziomów nadmiarowości w usługach zależnych. Na przykład wystąpienia aplikacji są powiązane z magazynem obiektów blob. Rozważ skonfigurowanie skojarzonego konta magazynu z magazynem strefowo nadmiarowym (ZRS), jeśli aplikacja używa wdrożenia strefowo nadmiarowego.

    Nadmiarowość składników sieciowych. Na przykład użyj strefowo nadmiarowych adresów IP i modułów równoważenia obciążenia.

  • Mieć niezawodną strategię skalowania: nieoczekiwane obciążenie aplikacji może sprawić, że będzie zawodny. Rozważ odpowiednie podejście do skalowania na podstawie charakterystyki obciążenia. Czasami można skalować w górę, aby obsłużyć obciążenie. Jeśli jednak obciążenie będzie nadal rosnąć, przeprowadź skalowanie w poziomie do nowych wystąpień. Preferuj automatyczne skalowanie w przypadku podejść ręcznych. Zawsze należy zachować bufor dodatkowej pojemności podczas operacji skalowania, aby zapobiec pogorszeniu wydajności.

    Wybrana warstwa planu usługi App Service ma wpływ na skalowanie pod względem liczby wystąpień i jednostek obliczeniowych.

    Upewnij się, że inicjowanie aplikacji jest odpowiednie, aby nowe wystąpienia szybko się rozgrzały i mogły odbierać żądania.

    Staraj się o aplikacje bezstanowe, jeśli to możliwe. Niezawodne skalowanie stanu przy użyciu nowych wystąpień może zwiększyć złożoność. Rozważ zewnętrzny magazyn danych, który można skalować niezależnie, jeśli musisz przechowywać stan aplikacji. Przechowywanie stanu sesji w pamięci może spowodować utratę stanu sesji, gdy wystąpi problem z aplikacją lub usługą App Service. Ogranicza również możliwość rozłożenia obciążenia między inne wystąpienia.

    Regularnie testuj reguły skalowania automatycznego. Symulowanie scenariuszy ładowania w celu sprawdzenia, czy aplikacja jest skalowana zgodnie z oczekiwaniami. Należy rejestrować zdarzenia skalowania, aby można było rozwiązywać problemy, które mogą wystąpić, i zoptymalizować strategię skalowania w czasie.

    Usługa App Service ma ograniczenie liczby wystąpień w ramach planu, co może mieć wpływ na niezawodność skalowania. Jedną ze strategii jest użycie identycznych sygnatur wdrożenia, z których każde uruchamia wystąpienie planu usługi App Service z własnym punktem końcowym. Ważne jest, aby wszystkie sygnatury z zewnętrznym modułem równoważenia obciążenia dystrybuowały ruch między nimi. Użyj bramy aplikacja systemu Azure na potrzeby wdrożeń z jednym węzłem i usługi Azure Front Door w przypadku wdrożeń obejmujących wiele regionów. Takie podejście jest idealne w przypadku aplikacji o krytycznym znaczeniu, w których niezawodność ma kluczowe znaczenie. Aby uzyskać więcej informacji, zobacz Punkt odniesienia o krytycznym znaczeniu w usłudze App Service.

    Plan usługi App Service dystrybuuje ruch między wystąpieniami i monitoruje ich kondycję. Należy pamiętać, że zewnętrzny moduł równoważenia obciążenia może nie wykrywać natychmiast, jeśli jedno wystąpienie zakończy się niepowodzeniem.

  • Planowanie możliwości odzyskiwania: nadmiarowość ma kluczowe znaczenie dla ciągłości działania firmy. Przełączenie w tryb failover do innego wystąpienia, jeśli jedno wystąpienie jest niedostępne. Zapoznaj się z funkcjami automatycznego naprawiania w usłudze App Service, takimi jak automatyczna naprawa wystąpień.

    Zaimplementuj wzorce projektowe, aby zapewnić bezproblemowe obniżenie wydajności zarówno przejściowych awarii, jak problemy z łącznością sieciową, jak i zdarzenia na dużą skalę, takie jak awarie regionalne. Weź pod uwagę następujące wzorce projektowe:

    • Wzorzec grodzi dzieli aplikację na grupy izolowane, aby zapobiec awarii wpływającej na cały system.

    • Wzorzec bilansowania obciążenia opartego na kolejce kolejkuje elementy robocze, które służą jako bufor w celu złagodzenia skoków ruchu.

    • Wzorzec ponawiania obsługuje błędy przejściowe z powodu awarii sieci, porzuconych połączeń bazy danych lub zajętych usług.

    • Wzorzec wyłącznika uniemożliwia aplikacji wielokrotne próby wykonania operacji, która może zakończyć się niepowodzeniem.

    Za pomocą zadań WebJob można uruchamiać zadania w tle w aplikacji internetowej. Aby niezawodnie uruchamiać te zadania, upewnij się, że aplikacja, która hostuje zadanie, działa w sposób ciągły zgodnie z harmonogramem lub na podstawie wyzwalaczy sterowanych zdarzeniami.

    Aby uzyskać więcej informacji, zobacz Wzorce niezawodności.

  • Przeprowadzanie testów niezawodności: przeprowadź testowanie obciążenia, aby ocenić niezawodność i wydajność aplikacji pod obciążeniem. Plany testów powinny zawierać scenariusze, które weryfikują automatyczne operacje odzyskiwania.

    Użyj iniekcji błędów, aby celowo wprowadzić błędy i zweryfikować mechanizmy samonaprawiania i samozatrzymania. Zapoznaj się z biblioteką błędów udostępnioną przez program Azure Chaos Studio.

    Usługa App Service nakłada limity zasobów na hostowane aplikacje. Plan usługi App Service określa te limity. Upewnij się, że testy potwierdzają, że aplikacja działa w ramach tych limitów zasobów. Aby uzyskać więcej informacji, zobacz Limity, przydziały i ograniczenia usług i subskrypcji platformy Azure.

  • Użyj sond kondycji, aby zidentyfikować nieodpowiadujących procesów roboczych: usługa App Service ma wbudowane możliwości, które okresowo wysyłają polecenia ping do określonej ścieżki aplikacji internetowej. Wystąpienia nieodpowiadjące są usuwane z modułu równoważenia obciążenia i zastępowane nowym wystąpieniem.

Zalecenia
Usługa lub plan Zalecenie Korzyści
Plan usługi App Service Wybierz warstwę Premium planu usługi App Service dla obciążeń produkcyjnych.

Ustaw maksymalną i minimalną liczbę procesów roboczych zgodnie z planowaniem pojemności. Aby uzyskać więcej informacji, zobacz Omówienie planu usługi App Service.
Plan usługi App Service w warstwie Premium oferuje zaawansowane funkcje skalowania i zapewnia nadmiarowość w przypadku wystąpienia awarii.
Plan usługi App Service Włącz nadmiarowość strefy.

Rozważ aprowizowanie więcej niż trzech wystąpień, aby zwiększyć odporność na uszkodzenia.

Sprawdź obsługę regionalną nadmiarowości stref, ponieważ nie wszystkie regiony oferują tę funkcję.
Aplikacja może wytrzymać awarie w jednej strefie, gdy wiele wystąpień jest rozmieszczonych w różnych strefach. Ruch automatycznie przenosi się do wystąpień w dobrej kondycji w innych strefach i utrzymuje niezawodność aplikacji, jeśli jedna strefa jest niedostępna.
App Service Rozważ wyłączenie funkcji koligacji routingu żądań aplikacji (ARR). Koligacja ARR tworzy lepkie sesje, które przekierowują użytkowników do węzła, który obsłużył poprzednie żądania. Żądania przychodzące są równomiernie dystrybuowane we wszystkich dostępnych węzłach po wyłączeniu koligacji ARR. Równomiernie rozproszone żądania uniemożliwiają przeciążenie ruchu z jednego węzła. Żądania mogą być bezproblemowo przekierowywane do innych węzłów w dobrej kondycji, jeśli węzeł jest niedostępny.

Unikaj koligacji sesji, aby upewnić się, że wystąpienie usługi App Service pozostaje bezstanowe. Bezstanowa usługa App Service zmniejsza złożoność i zapewnia spójne zachowanie między węzłami.

Usuń lepkie sesje, aby usługa App Service mogła dodawać lub usuwać wystąpienia w celu skalowania w poziomie.
App Service Zdefiniuj reguły automatycznego naprawiania na podstawie liczby żądań, wolnych żądań, limitów pamięci i innych wskaźników, które są częścią punktu odniesienia wydajności. Rozważ tę konfigurację w ramach strategii skalowania. Reguły automatycznego naprawiania ułatwiają aplikacji automatyczne odzyskiwanie po nieoczekiwanych problemach. Skonfigurowane reguły wyzwalają akcje naprawiania po naruszeniu progów.

Automatyczne naprawianie umożliwia automatyczną proaktywną konserwację.
App Service Włącz funkcję sprawdzania kondycji i podaj ścieżkę, która odpowiada na żądania kontroli kondycji. Testy kondycji mogą wykrywać problemy wcześnie. Następnie system może automatycznie podejmować akcje naprawcze, gdy żądanie sprawdzania kondycji zakończy się niepowodzeniem.

Moduł równoważenia obciążenia kieruje ruch z dala od wystąpień w złej kondycji, co kieruje użytkowników do węzłów w dobrej kondycji.

Zabezpieczenia

Celem filaru Zabezpieczenia jest zapewnienie poufności, integralności i gwarancji dostępności dla obciążenia.

Zasady projektowania zabezpieczeń zapewniają strategię projektowania wysokiego poziomu w celu osiągnięcia tych celów, stosując podejścia do projektu technicznego wokół hostowania w usłudze App Service.

Lista kontrolna projektu

Rozpocznij strategię projektowania na podstawie listy kontrolnej przeglądu projektu pod kątem zabezpieczeń i identyfikowania luk w zabezpieczeniach i mechanizmów kontroli w celu poprawy stanu zabezpieczeń. Rozszerz strategię w celu uwzględnienia większej liczby podejść zgodnie z potrzebami.

  • Przejrzyj punkty odniesienia zabezpieczeń: Aby zwiększyć poziom zabezpieczeń aplikacji hostowanej w planie usługi App Service, zapoznaj się z punktem odniesienia zabezpieczeń usługi App Service.

  • Użyj najnowszego środowiska uruchomieniowego i bibliotek: Dokładnie przetestuj kompilacje aplikacji przed wykonaniem aktualizacji, aby wcześnie przechwycić problemy i zapewnić bezproblemowe przejście do nowej wersji. Usługa App Service obsługuje zasady obsługi środowiska uruchomieniowego języka na potrzeby aktualizowania istniejących stosów i wycofywania stosów końca wsparcia.

  • Tworzenie segmentacji za pośrednictwem granic izolacji w celu naruszenia zabezpieczeń: Stosowanie segmentacji tożsamości. Na przykład zaimplementuj kontrolę dostępu opartą na rolach (RBAC), aby przypisać określone uprawnienia na podstawie ról. Postępuj zgodnie z zasadą najniższych uprawnień, aby ograniczyć prawa dostępu tylko do tego, co jest niezbędne. Utwórz również segmentację na poziomie sieci. Wstrzykiwanie aplikacji usługi App Service w sieci wirtualnej platformy Azure na potrzeby izolacji i definiowanie sieciowych grup zabezpieczeń w celu filtrowania ruchu.

    Plany usługi App Service oferują warstwę środowiska App Service Environment, która zapewnia wysoki stopień izolacji. Środowisko App Service Environment umożliwia uzyskanie dedykowanych zasobów obliczeniowych i sieciowych.

  • Stosowanie kontroli dostępu do tożsamości: ogranicz zarówno dostęp do wewnątrz aplikacji internetowej, jak i dostęp zewnętrzny z aplikacji internetowej do innych zasobów. Ta konfiguracja stosuje mechanizmy kontroli dostępu do tożsamości i pomaga zachować ogólny stan zabezpieczeń obciążenia.

    Użyj identyfikatora Entra firmy Microsoft, aby uzyskać wszystkie wymagania dotyczące uwierzytelniania i autoryzacji. Użyj wbudowanych ról, takich jak współautor planu sieci Web, współautor witryny internetowej i ogólny współautor, czytelnik i właściciel.

  • Kontrolowanie ruchu sieciowego do i z aplikacji: nie ujawniaj punktów końcowych aplikacji do publicznego Internetu. Zamiast tego dodaj prywatny punkt końcowy w aplikacji internetowej umieszczonej w dedykowanej podsieci. Z przodu aplikacji za pomocą zwrotnego serwera proxy, który komunikuje się z tym prywatnym punktem końcowym. W tym celu rozważ użycie usługi Application Gateway lub usługi Azure Front Door.

    Wdróż zaporę aplikacji internetowej w celu ochrony przed typowymi lukami w zabezpieczeniach. Zarówno usługa Application Gateway, jak i usługa Azure Front Door mają zintegrowane funkcje zapory aplikacji internetowej.

    Skonfiguruj odpowiednio reguły zwrotnego serwera proxy i ustawienia sieci, aby osiągnąć żądany poziom zabezpieczeń i kontroli. Na przykład dodaj reguły sieciowej grupy zabezpieczeń w podsieci prywatnego punktu końcowego, aby akceptowały ruch tylko z zwrotnego serwera proxy.

    Ruch wychodzący z aplikacji do innych usług PaaS powinien przekraczać prywatne punkty końcowe. Rozważ umieszczenie składnika zapory w celu ograniczenia ruchu wychodzącego do publicznego Internetu. Obie metody uniemożliwiają eksfiltrację danych.

    Aby uzyskać kompleksowy widok, zobacz Funkcje sieciowe usługi App Service.

  • Szyfrowanie danych: ochrona danych przesyłanych przy użyciu kompleksowego protokołu Transport Layer Security (TLS). Użyj kluczy zarządzanych przez klienta w celu pełnego szyfrowania danych magazynowanych. Aby uzyskać więcej informacji, zobacz Szyfrowanie magazynowane przy użyciu kluczy zarządzanych przez klienta.

    Nie używaj starszych protokołów, takich jak TLS 1.0 i 1.1. Usługa App Service domyślnie włącza 1.2. Aby uzyskać więcej informacji, zobacz Omówienie protokołu TLS usługi App Service.

    Wszystkie wystąpienia usługi App Service mają domyślną nazwę domeny. Użyj domeny niestandardowej i zabezpieczyj domenę przy użyciu certyfikatów.

  • Zmniejsz obszar ataków: usuń konfiguracje domyślne, których nie potrzebujesz. Na przykład wyłącz zdalne debugowanie, uwierzytelnianie lokalne dla lokacji menedżera kontroli źródła (SCM) i uwierzytelnianie podstawowe. Wyłącz niezabezpieczone protokoły, takie jak HTTP i File Transfer Protocol (FTP). Wymuszanie konfiguracji za pomocą zasad platformy Azure. Aby uzyskać więcej informacji, zobacz Zasady platformy Azure.

    Zaimplementuj restrykcyjne zasady współużytkowania zasobów między źródłami (CORS): użyj restrykcyjnych zasad CORS w aplikacji internetowej, aby akceptować żądania tylko z dozwolonych domen, nagłówków i innych kryteriów. Wymuszanie zasad CORS za pomocą wbudowanych definicji zasad platformy Azure.

  • Ochrona wpisów tajnych aplikacji: musisz obsługiwać poufne informacje, takie jak klucze interfejsu API lub tokeny uwierzytelniania. Zamiast trwale umieszczać te wpisy tajne bezpośrednio w kodzie aplikacji lub plikach konfiguracji, możesz użyć odwołań usługi Azure Key Vault w ustawieniach aplikacji. Po uruchomieniu aplikacji usługa App Service automatycznie pobiera wartości wpisów tajnych z usługi Key Vault przy użyciu tożsamości zarządzanej aplikacji.

  • Włącz dzienniki zasobów dla aplikacji: włącz dzienniki zasobów dla aplikacji, aby utworzyć kompleksowe szlaki aktywności, które dostarczają cennych danych podczas badania, które są zgodne ze zdarzeniami zabezpieczeń.

    Podczas oceniania zagrożeń rozważ rejestrowanie w ramach procesu modelowania zagrożeń.

Zalecenia
Usługa lub plan Zalecenie Korzyści
App Service Przypisywanie tożsamości zarządzanych do aplikacji internetowej. Aby zachować granice izolacji, nie udostępniaj ani nie używaj ponownie tożsamości w aplikacjach.

Upewnij się, że bezpiecznie łączysz się z rejestrem kontenerów, jeśli używasz kontenerów do wdrożenia.
Aplikacja pobiera wpisy tajne z usługi Key Vault, aby uwierzytelniać komunikację zewnętrzną z aplikacji. Platforma Azure zarządza tożsamością i nie wymaga aprowizacji ani rotacji wpisów tajnych.

Masz odrębne tożsamości na potrzeby szczegółowości kontroli. Odrębne tożsamości ułatwiają odwoływanie w przypadku naruszenia zabezpieczeń tożsamości.
App Service Konfigurowanie domen niestandardowych dla aplikacji.

Wyłącz protokół HTTP i akceptuj tylko żądania HTTPS.
Domeny niestandardowe umożliwiają bezpieczną komunikację za pośrednictwem protokołu HTTPS przy użyciu protokołu SECURE Sockets Layer (SSL) lub TLS, co zapewnia ochronę poufnych danych i tworzy zaufanie użytkowników.
App Service Oceń, czy wbudowane uwierzytelnianie usługi App Service jest właściwym mechanizmem uwierzytelniania użytkowników, którzy uzyskują dostęp do aplikacji. Wbudowane uwierzytelnianie usługi App Service integruje się z identyfikatorem Entra firmy Microsoft. Ta funkcja obsługuje walidację tokenów i zarządzanie tożsamościami użytkowników u wielu dostawców logowania i obsługuje Połączenie OpenID. Dzięki tej funkcji nie masz autoryzacji na poziomie szczegółowym i nie masz mechanizmu testowania uwierzytelniania. W przypadku korzystania z tej funkcji nie trzeba używać bibliotek uwierzytelniania w kodzie aplikacji, co zmniejsza złożoność. Użytkownik jest już uwierzytelniany, gdy żądanie dociera do aplikacji.
App Service Skonfiguruj aplikację na potrzeby integracji z siecią wirtualną.

Używaj prywatnych punktów końcowych dla aplikacji usługi App Service. Blokuj cały ruch publiczny.

Kierowanie obrazu kontenera przez integrację z siecią wirtualną. Cały ruch wychodzący z aplikacji przechodzi przez sieć wirtualną.
Uzyskaj korzyści zabezpieczeń wynikające z korzystania z sieci wirtualnej platformy Azure. Na przykład aplikacja może bezpiecznie uzyskiwać dostęp do zasobów w sieci.

Dodaj prywatny punkt końcowy, aby ułatwić ochronę aplikacji. Prywatne punkty końcowe ograniczają bezpośrednie narażenie na sieć publiczną i umożliwiają kontrolowany dostęp za pośrednictwem zwrotnego serwera proxy.
App Service Aby zaimplementować wzmocnienie zabezpieczeń:
- Wyłącz uwierzytelnianie podstawowe, które używa nazwy użytkownika i hasła na rzecz uwierzytelniania opartego na identyfikatorze Entra firmy Microsoft.
— Wyłącz zdalne debugowanie, aby porty przychodzące nie zostały otwarte.
— Włącz zasady MECHANIZMU CORS, aby zaostrzyć żądania przychodzące.
- Wyłącz protokoły, takie jak FTP.
Nie zalecamy uwierzytelniania podstawowego jako bezpiecznej metody wdrażania. Usługa Microsoft Entra ID korzysta z uwierzytelniania opartego na tokenach OAuth 2.0, które oferuje wiele zalet i ulepszeń, które dotyczą ograniczeń związanych z uwierzytelnianiem podstawowym.

Zasady ograniczają dostęp do zasobów aplikacji, zezwalają tylko na żądania z określonych domen i zabezpieczają żądania między regionami.
App Service Zawsze używaj odwołań usługi Key Vault jako ustawień aplikacji.
Wpisy tajne są oddzielone od konfiguracji aplikacji. Ustawienia aplikacji są szyfrowane w spoczynku. Usługa App Service zarządza również rotacjami wpisów tajnych.
Plan usługi App Service Włącz Microsoft Defender dla Chmury dla usługi App Service. Uzyskaj ochronę w czasie rzeczywistym dla zasobów uruchamianych w planie usługi App Service. Ochrona przed zagrożeniami i zwiększanie ogólnego poziomu zabezpieczeń.
Plan usługi App Service Włącz rejestrowanie diagnostyczne i dodaj instrumentację do aplikacji. Dzienniki są wysyłane do kont usługi Azure Storage, usługi Azure Event Hubs i usługi Log Analytics. Aby uzyskać więcej informacji na temat typów dzienników inspekcji, zobacz Obsługiwane typy dzienników. Rejestrowanie przechwytuje wzorce dostępu. Rejestruje istotne zdarzenia, które zapewniają cenny wgląd w sposób interakcji użytkowników z aplikacją lub platformą. Te informacje mają kluczowe znaczenie dla celów odpowiedzialności, zgodności i zabezpieczeń.

Optymalizacja kosztów

Optymalizacja kosztów koncentruje się na wykrywaniu wzorców wydatków, określaniu priorytetów inwestycji w krytycznych obszarach i optymalizacji w innych , aby spełnić budżet organizacji przy jednoczesnym spełnieniu wymagań biznesowych.

Zasady projektowania optymalizacji kosztów zapewniają ogólną strategię projektowania służącą do osiągnięcia tych celów i dokonywania kompromisów zgodnie z potrzebami w projekcie technicznym związanym z aplikacjami internetowymi i środowiskiem, w którym działają.

Lista kontrolna projektu

Rozpocznij strategię projektowania na podstawie listy kontrolnej przeglądu projektu optymalizacji kosztów dla inwestycji i dostosuj projekt tak, aby obciążenie było dostosowane do budżetu przydzielonego dla obciążenia. Projekt powinien korzystać z odpowiednich możliwości platformy Azure, monitorować inwestycje i znajdować możliwości optymalizacji w czasie.

  • Szacowanie początkowego kosztu: w ramach ćwiczenia dotyczącego modelowania kosztów użyj kalkulatora cen platformy Azure, aby oszacować przybliżone koszty związane z różnymi warstwami na podstawie liczby wystąpień, które planujesz uruchomić. Każda warstwa usługi App Service oferuje różne opcje obliczeniowe.

    Ciągłe monitorowanie modelu kosztów w celu śledzenia wydatków.

  • Oceń opcje z rabatem: Wyższe warstwy obejmują dedykowane wystąpienia obliczeniowe. Rabat za rezerwację można zastosować, jeśli obciążenie ma przewidywalny i spójny wzorzec użycia. Upewnij się, że analizujesz dane użycia, aby określić typ rezerwacji, która odpowiada obciążeniu. Aby uzyskać więcej informacji, zobacz Oszczędzanie kosztów za pomocą wystąpień zarezerwowanych usługi App Service.

  • Omówienie mierników użycia: opłaty za platformę Azure za stawkę godzinową proporcjonalną do drugiej na podstawie warstwy cenowej planu usługi App Service. Opłaty mają zastosowanie do każdego wystąpienia skalowalnego w poziomie w ramach planu na podstawie czasu przydzielenia wystąpienia maszyny wirtualnej. Zwróć uwagę na niedostateczne zasoby obliczeniowe, które mogą zwiększyć koszty w wyniku nadmiernej alokacji z powodu nieoptymalnego wyboru jednostki SKU lub nieprawidłowo skonfigurowanej konfiguracji skalowania w poziomie.

    Dodatkowe funkcje usługi App Service, takie jak rejestracja domeny niestandardowej i certyfikaty niestandardowe, mogą dodawać koszty. Inne zasoby, takie jak sieci wirtualne, aby odizolować rozwiązanie lub magazyny kluczy w celu ochrony wpisów tajnych obciążenia, które integrują się z zasobami usługi App Service, mogą również dodawać koszty. Aby uzyskać więcej informacji, zobacz Model rozliczeniowy usługi App Services.

  • Rozważ kompromisy między gęstością a izolacją: możesz użyć planów usługi App Service do hostowania wielu aplikacji na tym samym obliczeniach, co pozwala zaoszczędzić koszty w środowiskach udostępnionych. Aby uzyskać więcej informacji, zobacz Kompromisy.

  • Oceń wpływ strategii skalowania na koszt: podczas implementowania skalowania automatycznego należy odpowiednio zaprojektować, przetestować i skonfigurować skalowanie w pęk. Ustanów dokładne maksymalne i minimalne limity skalowania automatycznego.

    Proaktywne inicjowanie aplikacji pod kątem niezawodnego skalowania. Na przykład nie czekaj, aż procesor osiągnie 95% użycia. Zamiast tego wyzwalaj skalowanie na poziomie około 65%, aby umożliwić przydzielanie i inicjowanie nowych wystąpień podczas procesu skalowania. Jednak ta strategia może prowadzić do nieużywanej pojemności.

    Zalecamy łączenie i równoważenie mechanizmów skalowania w górę i skalowania w górę. Na przykład aplikacja może skalować w górę przez pewien czas, a następnie skalować w poziomie w razie potrzeby. Poznaj wysokie warstwy, które oferują dużą pojemność i efektywne użycie zasobów. W oparciu o wzorce użycia wyższe warstwy Premium są często bardziej ekonomiczne, ponieważ są one bardziej zdolne.

  • Optymalizowanie kosztów środowiska: rozważ użycie warstwy Podstawowa lub Bezpłatna, aby uruchamiać środowiska przedprodukcyjne. Te warstwy są niską wydajnością i niskim kosztem. Jeśli używasz warstwy Podstawowa lub Bezpłatna, użyj ładu, aby wymusić warstwę, ograniczyć liczbę wystąpień i procesorów CPU, ograniczyć skalowanie i ograniczyć przechowywanie dzienników.

  • Implementowanie wzorców projektowych: ta strategia zmniejsza liczbę żądań generowanych przez obciążenie. Rozważ użycie wzorców, takich jak wzorce zaplecza dla frontonów i wzorzec agregacji bramy, co może zminimalizować liczbę żądań i zmniejszyć koszty.

  • Regularne sprawdzanie kosztów związanych z danymi: rozszerzone okresy przechowywania danych lub kosztowne warstwy magazynowania mogą prowadzić do wysokich kosztów magazynowania. Większe wydatki mogą być gromadzone zarówno z powodu użycia przepustowości, jak i długotrwałego przechowywania danych rejestrowania.

    Rozważ zaimplementowanie buforowania, aby zminimalizować koszty transferu danych. Zacznij od lokalnego buforowania w pamięci, a następnie zapoznaj się z opcjami buforowania rozproszonego, aby zmniejszyć liczbę żądań do bazy danych zaplecza. Rozważ koszty ruchu przepustowości skojarzone z komunikacją między regionami, jeśli baza danych znajduje się w innym regionie.

  • Optymalizowanie kosztów wdrażania: skorzystaj z miejsc wdrożenia, aby zoptymalizować koszty. Miejsce działa w tym samym środowisku obliczeniowym co wystąpienie produkcyjne. Używaj ich strategicznie w scenariuszach, takich jak wdrożenia niebieski-zielony, które przełączają się między miejscami. Takie podejście minimalizuje przestoje i zapewnia płynne przejścia.

    Używaj miejsc wdrożenia z ostrożnością. Możesz wprowadzić problemy, takie jak wyjątki lub przecieki pamięci, które mogą mieć wpływ zarówno na istniejące wystąpienia, jak i nowe wystąpienia. Upewnij się, że dokładnie przetestujesz zmiany. Aby uzyskać wskazówki operacyjne, zobacz Doskonałość operacyjna.

Zalecenia
Usługa lub plan Zalecenie Korzyści
Plan usługi App Service Wybierz warstwy Bezpłatna lub Podstawowa dla niższych środowisk. Do użytku eksperymentalnego zalecamy te warstwy. Usuń warstwy, gdy nie są już potrzebne. Warstwy Bezpłatna i Podstawowa są przyjazne dla budżetu w porównaniu z wyższymi warstwami. Zapewniają one ekonomiczne rozwiązanie dla środowisk nieprodukcyjnych, które nie potrzebują pełnych funkcji i wydajności planów Premium.
Plan usługi App Service Skorzystaj z rabatów i zapoznaj się z preferowanymi cenami:
— Niższe środowiska z planami tworzenia i testowania.
- Rezerwacje platformy Azure i plany oszczędności platformy Azure dla dedykowanych zasobów obliczeniowych aprowizowania w warstwie Premium w wersji 3 i środowiska App Service Environment.

Użyj wystąpień zarezerwowanych dla stabilnych obciążeń, które mają przewidywalne wzorce użycia.
Plany tworzenia i testowania zapewniają obniżone stawki dla usług platformy Azure, co sprawia, że są one opłacalne dla środowisk nieprodukcyjnych.

Użyj wystąpień zarezerwowanych, aby z góry opłacać zasoby obliczeniowe i uzyskać znaczące rabaty.
App Service Monitoruj koszty naliczane przez zasoby usługi App Service. Uruchom narzędzie do analizy kosztów w witrynie Azure Portal.

Tworzenie budżetów i alertów w celu powiadamiania uczestników projektu.
Możesz zidentyfikować wzrosty kosztów, nieefektywność lub nieoczekiwane wydatki na wczesnym etapie. Takie proaktywne podejście pomaga zapewnić kontrolę budżetową, aby zapobiec nadmiernemu wypłaceniu środków.
Plan usługi App Service Skalowanie w przypadku spadku zapotrzebowania. Aby skalować w poziomie, zdefiniuj reguły skalowania, aby zmniejszyć liczbę wystąpień w usłudze Azure Monitor. Zapobiegaj marnotrawsce i zmniejszaj niepotrzebne wydatki.

Sprawność operacyjna

Doskonałość operacyjna koncentruje się przede wszystkim na procedurach dotyczących praktyk programistycznych, możliwości obserwacji i zarządzania wydaniami.

Zasady projektowania doskonałości operacyjnej stanowią strategię projektowania wysokiego poziomu w celu osiągnięcia tych celów w kierunku wymagań operacyjnych obciążenia.

Lista kontrolna projektu

Rozpocznij strategię projektowania na podstawie listy kontrolnej przeglądu projektu dla doskonałości operacyjnej w celu zdefiniowania procesów do obserwowania, testowania i wdrażania związanych z usługą Web Apps.

  • Zarządzanie wydaniami: efektywne zarządzanie wydaniami przy użyciu miejsc wdrożenia. Aplikację można wdrożyć w miejscu, przetestować i zweryfikować jej funkcjonalność. Po weryfikacji możesz bezproblemowo przenieść aplikację do środowiska produkcyjnego. Ten proces nie wiąże się z dodatkowymi kosztami, ponieważ miejsce działa w tym samym środowisku maszyny wirtualnej co wystąpienie produkcyjne.

  • Uruchamianie testów automatycznych: przed podwyższeniem poziomu wydania aplikacji internetowej dokładnie przetestuj jej wydajność, funkcjonalność i integrację z innymi składnikami. Użyj usługi Azure Load Testing, która integruje się z narzędziem Apache JMeter, popularnym narzędziem do testowania wydajnościowego. Poznaj zautomatyzowane narzędzia do innych typów testów, takich jak Phantom na potrzeby testowania funkcjonalnego.

  • Wdrażanie niezmiennych jednostek: zaimplementuj wzorzec sygnatur wdrożenia, aby podzielić usługę App Service na niezmienny sygnaturę. Usługa App Service obsługuje korzystanie z kontenerów, które są z natury niezmienne. Rozważ użycie kontenerów niestandardowych dla aplikacji internetowej usługi App Service.

    Każda sygnatura reprezentuje samodzielną jednostkę, którą można szybko skalować w poziomie lub skalować w poziomie. Jednostki oparte na tej sygnaturze są tymczasowe i bezstanowe. Projekt bezstanowy upraszcza operacje i konserwację. Takie podejście jest idealne dla aplikacji o krytycznym znaczeniu. Przykład można znaleźć w temacie Mission-critical baseline with App Service (Punkt odniesienia o krytycznym znaczeniu w usłudze App Service).

    Użyj technologii infrastruktury jako kodu (IaC), takiej jak Bicep, aby wykorzystować jednostki z powtarzalnością i spójnością.

  • Zachowaj bezpieczeństwo środowisk produkcyjnych: utwórz oddzielne plany usługi App Service, aby uruchamiać środowiska produkcyjne i przedprodukcyjne. Nie wprowadzaj zmian bezpośrednio w środowisku produkcyjnym, aby zapewnić stabilność i niezawodność. Oddzielne wystąpienia umożliwiają elastyczność tworzenia i testowania przed podwyższeniem poziomu zmian do środowiska produkcyjnego.

    Korzystaj ze środowisk o niskich poziomach, aby eksplorować nowe funkcje i konfiguracje w sposób izolowany. Zachowaj efemeryczne środowiska programistyczne i testowe.

  • Zarządzanie certyfikatami: w przypadku domen niestandardowych należy zarządzać certyfikatami TLS.

    Mają procesy pozyskiwania, odnawiania i weryfikowania certyfikatów. Odciąż te procesy do usługi App Service, jeśli to możliwe. Jeśli używasz własnego certyfikatu, musisz zarządzać jego odnawianiem. Wybierz podejście, które najlepiej odpowiada wymaganiom w zakresie zabezpieczeń.

Usługa lub plan Zalecenie Korzyści
App Service Monitoruj kondycję wystąpień i aktywuj sondy kondycji wystąpienia.

Skonfiguruj określoną ścieżkę do obsługi żądań sondy kondycji.
Możesz szybko wykrywać problemy i podejmować niezbędne działania w celu utrzymania dostępności i wydajności.
App Service Włącz dzienniki diagnostyczne dla aplikacji i wystąpienia.

Częste rejestrowanie może spowalniać wydajność systemu, dodawać koszty magazynowania i wprowadzać ryzyko, jeśli masz niezabezpieczony dostęp do dzienników. Postępuj zgodnie z następującymi najlepszymi rozwiązaniami:
— Zarejestruj odpowiedni poziom informacji.
- Ustaw zasady przechowywania.
— Zachowaj dziennik inspekcji autoryzowanych prób dostępu i nieautoryzowanych prób.
— Traktuj dzienniki jako dane i zastosuj mechanizmy kontroli ochrony danych.
Dzienniki diagnostyczne zapewniają cenny wgląd w zachowanie aplikacji. Monitorowanie wzorców ruchu i identyfikowanie anomalii.
App Service Skorzystaj z certyfikatów zarządzanych usługi App Service, aby odciążyć zarządzanie certyfikatami na platformie Azure. Usługa App Service automatycznie obsługuje procesy, takie jak zaopatrzenie certyfikatów, weryfikacja certyfikatu, odnawianie certyfikatów i importowanie certyfikatów z usługi Key Vault. Alternatywnie przekaż certyfikat do usługi Key Vault i autoryzuj dostawcę zasobów usługi App Service w celu uzyskania do niego dostępu.
Plan usługi App Service Przed zamianą aplikacji na miejsce produkcyjne zweryfikuj zmiany aplikacji w miejscu przejściowym. Unikaj przestojów i błędów.

Szybko przywróć ostatni znany dobry stan, jeśli wykryjesz problem po zamianie.

Efektywność wydajności

Wydajność polega na utrzymywaniu środowiska użytkownika nawet wtedy, gdy występuje wzrost obciążenia dzięki zarządzaniu pojemnością. Strategia obejmuje skalowanie zasobów, identyfikowanie i optymalizowanie potencjalnych wąskich gardeł oraz optymalizowanie pod kątem szczytowej wydajności.

Zasady projektowania wydajności zapewniają ogólną strategię projektowania w celu osiągnięcia tych celów pojemności w stosunku do oczekiwanego użycia.

Lista kontrolna projektu

Rozpocznij strategię projektowania na podstawie listy kontrolnej przeglądu projektu wydajności w celu zdefiniowania punktu odniesienia na podstawie kluczowych wskaźników wydajności dla usługi Web Apps.

  • Identyfikowanie i monitorowanie wskaźników wydajności: ustaw cele dla kluczowych wskaźników aplikacji, takich jak liczba żądań przychodzących, czas potrzebny aplikacji na odpowiadanie na żądania, oczekujące żądania i błędy w odpowiedziach HTTP. Rozważ kluczowe wskaźniki w ramach planu bazowego wydajności dla obciążenia.

    Przechwyć metryki usługi App Service, które tworzą podstawę wskaźników wydajności. Zbierz dzienniki, aby uzyskać wgląd w użycie zasobów i działania. Użyj narzędzi do monitorowania wydajności aplikacji (APM), takich jak application Szczegółowe informacje, w celu zbierania i analizowania danych wydajności z aplikacji. Aby uzyskać więcej informacji, zobacz Dokumentacja danych monitorowania usługi App Service.

    Uwzględnij instrumentację na poziomie kodu, śledzenie transakcji i profilowanie wydajności.

  • Ocena pojemności: symuluj różne scenariusze użytkownika, aby określić optymalną pojemność, którą należy obsłużyć oczekiwany ruch. Użyj testowania obciążenia, aby dowiedzieć się, jak działa aplikacja na różnych poziomach obciążenia.

  • Wybierz odpowiednią warstwę: użyj dedykowanych zasobów obliczeniowych dla obciążeń produkcyjnych. Warstwy Premium oferują większe jednostki SKU o zwiększonej pojemności pamięci i procesora CPU, więcej wystąpień i więcej funkcji, takich jak nadmiarowość strefy. Aby uzyskać więcej informacji, zobacz Warstwa cenowa Premium V3.

  • Zoptymalizuj strategię skalowania: jeśli to możliwe, użyj skalowania automatycznego zamiast ręcznego dostosowywania liczby wystąpień w miarę zmian obciążenia aplikacji. Dzięki skalowaniu automatycznej usługa App Service dostosowuje pojemność serwera na podstawie wstępnie zdefiniowanych reguł lub wyzwalaczy. Upewnij się, że przeprowadzasz odpowiednie testy wydajnościowe i ustawiasz odpowiednie reguły dla odpowiednich wyzwalaczy.

    Jeśli priorytetem jest prostota podczas początkowej konfiguracji, użyj opcji skalowania automatycznego, która nie wymaga zdefiniowania reguł i trzeba ustawić tylko limity.

    Mieć wystarczające zasoby łatwo dostępne, aby zapewnić optymalną wydajność. Przydziel zasoby odpowiednio, aby zachować cele wydajności, takie jak czas odpowiedzi lub przepływność. Rozważ nadmierną alokację zasobów w razie potrzeby.

    Podczas definiowania reguł autoskalowania należy uwzględnić czas potrzebny na zainicjowanie aplikacji. Rozważ to obciążenie podczas podejmowania wszystkich decyzji dotyczących skalowania.

  • Użyj buforowania: pobieranie informacji z zasobu, który nie zmienia się często i jest kosztowne, aby uzyskać dostęp do wydajności. Złożone zapytania, w tym sprzężenia i wiele odnośników, współtworzyją środowisko uruchomieniowe. Wykonaj buforowanie, aby zminimalizować czas przetwarzania i opóźnienie. Buforuj wyniki zapytań, aby uniknąć powtarzających się rund do bazy danych lub zaplecza i skrócić czas przetwarzania kolejnych żądań.

    Aby uzyskać więcej informacji na temat używania lokalnej i rozproszonej pamięci podręcznej w obciążeniu, zobacz Buforowanie.

  • Przejrzyj antywzorzec wydajności: aby upewnić się, że aplikacja internetowa wykonuje i skaluje zgodnie z wymaganiami biznesowymi, unikaj typowych antywzorzeców. Poniżej przedstawiono niektóre antywzorce, które usługa App Service poprawia.

    Antywzorzec opis
    Obciążony fronton Zadania obciążające zasoby mogą wydłużyć czas odpowiedzi dla żądań użytkowników i spowodować duże opóźnienie.
    Przenieś procesy, które zużywają znaczne zasoby, do oddzielnej wewnętrznej bazy danych. Broker komunikatów umożliwia kolejkowanie zadań intensywnie korzystających z zasobów, które zaplecze pobiera do procesu asynchronicznego.
    Brak buforowania Obsługa żądań z pośredniej pamięci podręcznej przed bazą danych zaplecza w celu zmniejszenia opóźnienia.
    Hałaśliwy sąsiad Wielodostępne systemy współdzielą zasoby między dzierżawami. Działanie jednej dzierżawy może mieć negatywny wpływ na użycie systemu przez inną dzierżawę. Środowisko App Service Environment zapewnia w pełni izolowane i dedykowane środowisko do uruchamiania aplikacji usługi App Service.
Zalecenia
Zalecenie Korzyści
Włącz ustawienie Zawsze włączone, gdy aplikacje współdzielą pojedynczy plan usługi App Service. Aplikacje usługi App Service są automatycznie zwalniane po bezczynności w celu zapisania zasobów. Następne żądanie wyzwala zimny start, co może spowodować przekroczenie limitu czasu żądania. Aplikacja nigdy nie jest zwalniana z włączoną funkcją Always On.
Rozważ użycie protokołu HTTP/2 dla aplikacji w celu zwiększenia wydajności protokołu. Wybierz protokół HTTP/2 za pośrednictwem protokołu HTTP/1.1, ponieważ połączenia HTTP/2 w pełni multipleksów, ponownie używa połączeń, aby zmniejszyć obciążenie i kompresuje nagłówki, aby zminimalizować transfer danych.

Kompromisy

Może być konieczne dokonanie kompromisów projektowych, jeśli używasz metod z list kontrolnych filarów. Oto kilka przykładów zalet i wad.

Gęstość

Kolokowanie wielu aplikacji w ramach tego samego planu usługi App Service w celu zminimalizowania zasobów. Wszystkie aplikacje współdzielą zasoby, takie jak procesor CPU i pamięć, co pozwala zaoszczędzić pieniądze i zmniejszyć złożoność operacyjną. Takie podejście optymalizuje również użycie zasobów. Aplikacje mogą używać zasobów bezczynnych z innej aplikacji, jeśli wzorce obciążenia zmieniają się w czasie.

Należy również wziąć pod uwagę wady. Na przykład wzrost użycia lub niestabilności aplikacji może mieć wpływ na wydajność innych aplikacji. Zdarzenia w jednej aplikacji mogą również przenikać do innych aplikacji w środowisku udostępnionym, co może mieć wpływ na bezpieczeństwo.

Izolacja

Izolacja pomaga uniknąć interferencji. Ta strategia ma zastosowanie do zabezpieczeń, wydajności, a nawet segregacji środowisk deweloperskich, testowych i produkcyjnych.

Środowisko App Service Environment zapewnia lepszą kontrolę nad zabezpieczeniami i ochroną danych, ponieważ każda aplikacja może mieć własne ustawienia zabezpieczeń. Środowisko może zawierać naruszenia, ponieważ izolacja ogranicza promień wybuchu. Rywalizacja o zasoby jest zminimalizowana z perspektywy wydajności. Izolacja umożliwia niezależne skalowanie na podstawie konkretnego zapotrzebowania i indywidualnego planowania pojemności.

W niekorzystnej sytuacji takie podejście jest droższe i wymaga rygoru operacyjnego.

Niezawodna strategia skalowania

Dobrze zdefiniowana strategia skalowania gwarantuje, że aplikacja może obsługiwać różne obciążenia bez naruszania wydajności. Istnieją jednak kompromisy w zakresie kosztów. Operacje skalowania zajmują trochę czasu. Po przydzieleniu nowych zasobów aplikacja musi zostać prawidłowo zainicjowana, zanim będzie mogła efektywnie przetwarzać żądania. W celu zapewnienia sieci bezpieczeństwa można nadmiernie aprowizować zasoby (wystąpienia wstępne). Bez tej dodatkowej pojemności w fazie inicjowania może wystąpić opóźnienie obsługi żądań, co wpływa na środowisko użytkownika. Operacje skalowania automatycznego mogą być wyzwalane wystarczająco wcześnie, aby umożliwić odpowiednie inicjowanie zasobów przez klientów korzystających z zasobów.

W niekorzystnej sytuacji nadmiarowe zasoby kosztują więcej. Opłaty są naliczane za sekundę za każde wystąpienie, w tym wystąpienia z góry. Wyższe warstwy obejmują wystąpienia przedwarmowane. Ustal, czy możliwości z droższymi warstwami są warte inwestycji.

Tworzenie nadmiarowości

Nadmiarowość oferuje odporność, ale także wiąże się z kosztami. Cele poziomu usług (SLO) dla obciążenia określają dopuszczalne progi wydajności. Nadmiarowość staje się stratowna, jeśli nadmiarowość przekracza wymagania SLO. Oceń, czy nadmiarowość poprawia cele SLO, czy zwiększa niepotrzebną złożoność.

Należy również wziąć pod uwagę wady. Na przykład nadmiarowość w wielu regionach zapewnia wysoką dostępność, ale zwiększa złożoność i koszt ze względu na synchronizację danych, mechanizmy trybu failover i komunikację między regionami. Ustal, czy nadmiarowość strefy może spełniać cele SLO.

Zasady platformy Azure

Platforma Azure udostępnia obszerny zestaw wbudowanych zasad związanych z usługą App Service i jej zależnościami. Zestaw zasad platformy Azure może przeprowadzać inspekcję niektórych powyższych zaleceń. Możesz na przykład sprawdzić, czy:

  • Odpowiednie mechanizmy kontroli sieci są w miejscu. Można na przykład uwzględnić segmentację sieci, umieszczając usługę App Service w usłudze Azure Virtual Network za pośrednictwem iniekcji sieci wirtualnej, aby mieć większą kontrolę nad konfiguracją sieci. Aplikacja nie ma publicznych punktów końcowych i łączy się z usługami platformy Azure za pośrednictwem prywatnych punktów końcowych.

  • Kontrolki tożsamości są na miejscu. Na przykład aplikacja używa tożsamości zarządzanych do uwierzytelniania się względem innych zasobów. Wbudowane uwierzytelnianie usługi App Service weryfikuje żądania przychodzące.

  • Możesz wyłączyć funkcje, takie jak zdalne debugowanie i uwierzytelnianie podstawowe, aby zmniejszyć obszar ataków.

Aby uzyskać kompleksowy ład, zapoznaj się z wbudowanymi definicjami usługi Azure Policy i innymi zasadami , które mogą mieć wpływ na bezpieczeństwo warstwy obliczeniowej.

Zalecenia usługi Azure Advisor

Azure Advisor to spersonalizowany konsultant ds. chmury, który pomaga stosować najlepsze rozwiązania w celu zoptymalizowania wdrożeń platformy Azure. Poniżej przedstawiono kilka zaleceń, które mogą pomóc zwiększyć niezawodność, bezpieczeństwo, efektywność kosztową, wydajność i doskonałość operacyjną wystąpień aplikacji internetowych.

Następne kroki

Rozważ następujące artykuły jako zasoby, które przedstawiają zalecenia wyróżnione w tym artykule.

  • Użyj tych architektur referencyjnych jako przykładów sposobu stosowania tych zaleceń do obciążenia.

  • Skorzystaj z następującej dokumentacji produktu, aby utworzyć wiedzę na temat implementacji: