Niezawodność w piaskownicach Azure Container Apps (wersja zapoznawcza)

Piaskownice usługi Azure Container Apps zapewniają izolowane środowiska do uruchamiania kodu. Każda piaskownica działa w lekkiej maszynie wirtualnej (microVM), która uruchamia się w czasie krótszym niż sekunda i po zawieszeniu może zachować stan pamięci. Usługa zapewnia niezawodność obciążeń roboczych w środowisku izolowanym dzięki funkcjom, które konfigurujesz, oraz funkcjom, którymi platforma zarządza w Twoim imieniu.

W przypadku korzystania z platformy Azure niezawodność jest wspólną odpowiedzialnością. Microsoft oferuje szereg funkcjonalności wspierających odporność i odzyskiwanie. Odpowiadasz za zrozumienie, jak te możliwości działają w ramach wszystkich używanych usług oraz za wybór tych, które są potrzebne do osiągnięcia Twoich celów biznesowych i celów dotyczących niezawodności.

W tym artykule opisano, jak zwiększyć odporność piaskownic usługi Container Apps na błędy przejściowe, awarie stref dostępności, awarie obejmujące cały region i prace konserwacyjne usługi. W tym artykule opisano również opcje tworzenia i przywracania kopii zapasowych oraz kluczowe informacje o umowie dotyczącej poziomu usług (SLA).

Important

Funkcja Container Apps Sandboxes jest obecnie dostępna w wersji zapoznawczej. Zobacz dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej.

Zalecenia dotyczące wdrażania produkcyjnego pod kątem niezawodności

W przypadku obciążeń produkcyjnych zalecamy:

  • Przechowuj trwałe dane poza pamięcią środowiska izolowanego i wybierz opcję nadmiarowości magazynowania zgodną z wymaganiami dotyczącymi odzyskiwania danych. Użyj woluminów sandbox do przechowywania danych, które muszą zostać zachowane po zatrzymaniu sandboxu. Aby zapewnić odporność na awarię całego regionu, użyj zewnętrznego magazynu danych, który replikuje dane do innego regionu.

    Gdy używasz usługi Azure Blob Storage, magazynowanie geograficznie nadmiarowe (GRS) replikuje dane do sparowanego regionu. W przypadku regionów niepołączonych w pary należy wdrożyć oddzielne konta magazynu i skonfigurować jedną z obsługiwanych metod replikacji, taką jak replikacja obiektów blob typu blokowego. Aby uzyskać więcej informacji, zobacz Niestandardowe rozwiązania wieloregionowe dla Azure Blob Storage.

  • Wdróż oddzielne grupy środowisk testowych w wielu regionach, jeśli docelowego poziomu dostępności nie da się osiągnąć za pomocą wdrożenia jednoregionowego. Aby uzyskać więcej informacji, zobacz Odporność na awarie całego regionu.

Omówienie architektury niezawodności

W tej sekcji opisano niektóre ważne aspekty działania usługi, które są najbardziej istotne z perspektywy niezawodności. W sekcji przedstawiono architekturę logiczną, która zawiera niektóre z zasobów i funkcji wdrażanych i używanych. Omówiono również architekturę fizyczną, która zawiera szczegółowe informacje na temat działania usługi za kulisami.

Architektura logiczna

Azure Container Apps udostępnia różne opcje obliczeniowe dla aplikacji, zadań, sesji dynamicznych i piaskownic. Grupy izolowane nie wymagają środowiska Container Apps. Aby uzyskać szczegółowe informacje na temat niezawodności innych składników usługi Container Apps, zobacz Niezawodność w Azure Container Apps.

Główne zasoby w piaskownicach usługi Container Apps to:

  • Grupa piaskownicy:Grupa piaskownicy jest nadrzędną granicą regionalnego zarządzania dla piaskownic i korzysta z Microsoft.App/sandboxGroups typu zasobu. Wszystkie sandboxy, obrazy dysków, migawki, woluminy i wrażliwe wartości konfiguracyjne (poufne dane) należą do grupy sandboxa.

  • Piaskownica: Każda piaskownica to uproszczona, izolowana maszyna microVM uruchamiana z obrazu dysku lub migawki i ma własny procesor CPU, pamięć, dysk lokalny i granicę sieci.

    Obraz dysku to obraz kontenera Open Container Initiative (OCI), który został przekonwertowany do użycia jako główny system plików piaskownicy.

    Migawka to zapis pełnego stanu piaskownicy w danym momencie, który istnieje niezależnie od piaskownicy źródłowej.

    Stan piaskownicy może być uruchomiony lub zatrzymany. Gdy piaskownica zatrzymuje się — automatycznie lub na żądanie — zwalnia swoje zasoby obliczeniowe. Tryb pamięci zachowuje pełny obraz pamięci piaskownicy i dysk lokalny. Tryb dyskowy zachowuje tylko dysk lokalny, więc po wznowieniu piaskownicy microVM i jego procesy uruchamiają się ponownie.

  • Wolumeny: Dysk lokalny należy do pojedynczej piaskownicy. Piaskownicowy wolumin zapewnia trwałą pamięć masową, która istnieje niezależnie od pojedynczej piaskownicy. Woluminy Azure Blob Storage można zainstalować w wielu piaskownicach jednocześnie, podczas gdy woluminy dysku danych obsługiwane przez Azure Disk Storage mogą być zainstalowane tylko w jednej piaskownicy jednocześnie. Usługa magazynu danych określa trwałość danych na woluminie oraz opcje ich odzyskiwania.

Aby uzyskać więcej informacji na temat architektury i zasobów piaskownicy, zobacz omówienie piaskownicy Azure Container Apps.

Architektura fizyczna

Piaskownice działają w wielu niezależnych klastrach obliczeniowych obsługiwanych przez firmę Microsoft. Odpowiadasz za konfigurację grup piaskownic, piaskownic i innych zasobów, które wdrażasz. Microsoft odpowiada za wdrażanie klastra, konfigurację, zarządzanie pojemnością, monitorowanie kondycji i konserwację. Nie wybierasz, wdrażaj, konfigurujesz ani nie zarządzasz klastrami. Usługa planuje nowe środowiska izolowane i ponownie uruchamia zatrzymane środowiska izolowane w sprawnych klastrach oraz kieruje ich rozmieszczanie z dala od niesprawnych klastrów.

Microsoft utrzymuje nadmiarowe repozytoria stanu na potrzeby konfiguracji usługi, metadanych środowiska izolowanego oraz artefaktów, takich jak obrazy dysków i migawki.

Odporność na błędy przejściowe

Błędy przejściowe to krótkotrwałe, sporadyczne awarie w komponentach. Występują one często w środowisku rozproszonym, takich jak chmura, i są one normalną częścią operacji. Błędy przejściowe naprawiają się po krótkim czasie. Ważne jest, aby aplikacje mogły obsługiwać błędy przejściowe, zwykle ponawiając próby żądań, których dotyczy problem.

Wszystkie aplikacje hostowane w chmurze powinny postępować zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych platformy Azure podczas komunikowania się z dowolnymi interfejsami API hostowanymi w chmurze, bazami danych i innymi składnikami. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące obsługi błędów przejściowych.

W przypadku korzystania z piaskownic usługi Container Apps rozważ błędy przejściowe w następujących częściach rozwiązania:

  • Operacje zarządzania piaskownicami: Gdy automatyzacja zarządza grupami piaskownic, piaskownicami lub powiązanymi zasobami, ponawiaj żądania, które kończą się niepowodzeniem z powodu przejściowych błędów, i stosuj wykładnicze wydłużanie czasu między ponowieniami. Ogranicz liczbę ponownych prób i spróbuj ponownie wykonać tylko operacje, które są bezpieczne do powtórzenia.

  • Kod uruchomiony w piaskownicy: Zaimplementuj obsługę błędów przejściowych dla wywołań zewnętrznych interfejsów API, baz danych i innych usług. Postępuj zgodnie z zaleceniami dotyczącymi ponawiania prób dla każdej zależności, ponieważ sposób ponawiania prób oraz operacje, które można bezpiecznie powtórzyć, różnią się w zależności od usługi.

Odporność na błędy strefy dostępności

Piaskownice Container Apps nie obsługują wdrażania do określonej strefy dostępności ani nadmiarowości strefowej dla grupy piaskownic. Aby zapewnić odporność obciążenia na awarie stref dostępności, wdróż oddzielne grupy izolowane w wielu regionach. Aby uzyskać więcej informacji, zobacz Odporność na awarie całego regionu.

Odporność na awarie całego regionu

Container Apps Sandboxes to usługa dostępna w jednym regionie. Jeśli region stanie się niedostępny, grupy piaskownic i piaskownice, które zawierają, również staną się niedostępne. Usługa nie replikuje grup piaskownicy ani piaskownic między regionami i nie przełącza się automatycznie awaryjnie do innego regionu. Można jednak wdrożyć oddzielne grupy piaskownicy w wielu regionach. Odpowiadasz za udostępnianie zależności w każdym regionie oraz zarządzanie rozkładem obciążenia i mechanizmami przełączania awaryjnego. Aby uzyskać więcej informacji, zobacz Niestandardowe rozwiązania wieloregionowe w celu zapewnienia odporności.

Podczas awarii w całym regionie możesz utracić cały stan przechowywany wyłącznie w pamięci działającego sandboxa. Grupy piaskownicy, piaskownice i artefakty zarządzane przez usługę w danym regionie pozostają niedostępne do czasu odzyskania regionu.

Woluminy piaskownicy zapewniają pamięć masową, która pozostaje dostępna po zakończeniu cyklu życia pojedynczej piaskownicy. Podczas awarii całego regionu dostępność woluminu i odzyskiwanie zależą od usługi magazynu zapasowego i jej konfiguracji. Piaskownice usługi Container Apps nie zapewniają replikacji między regionami ani trybu failover dla danych woluminu. Zamiast tego usługa magazynu zapasowego zapewnia te możliwości podczas konfigurowania. Aby uzyskać na przykład informacje o woluminach Azure Blob Storage, zobacz Niezawodność w Azure Blob Storage.

Niestandardowe rozwiązania wieloregionowe zapewniające odporność

Azure Container Apps Sandboxes nie koordynuje wdrożeń wieloregionowych ani nie replikuje grup sandboxów, sandboxów ani zasobów z nimi powiązanych między regionami. Aby utworzyć niestandardowe rozwiązanie wieloregionowe, masz następujące obowiązki:

  • Wdrożenia regionalne i zależności: Wdróż oddzielne środowisko testowe w każdym regionie, z którego planujesz korzystać. Zapewnij dostępność konfiguracji, obrazów dysków, sekretów i innych zależności w każdym regionie.

  • Wykrywanie awarii i przywracanie obciążeń: Skonfiguruj warstwę aplikacji lub warstwę orkiestracji tak, aby wykrywała, kiedy region jest niedostępny, kierowała tworzenie nowych piaskownic i przetwarzanie obciążeń do sprawnego regionu oraz określała, jak wznowić przerwane zadania.

  • Routing ruchu: Jeśli klienci łączą się za pośrednictwem punktów końcowych specyficznych dla regionu udostępnianych przez aplikację, użyj globalnej usługi równoważenia obciążenia, takiej jak Azure Front Door lub Azure Traffic Manager, aby kierować ruch do punktu końcowego w dobrej kondycji.

  • Replikacja i odzyskiwanie danych: Przechowuj dowolny stan wymagany po przejściu w tryb failover w zewnętrznym magazynie danych, który obsługuje replikację i odzyskiwanie między regionami. Jeśli usługa magazynu zapasowego zapewnia replikację między regionami dla danych woluminów, usługa określa zachowanie replikacji i trybu failover. Piaskownice usługi Azure Container Apps nie replikują danych woluminów ani nie zapewniają przełączenia awaryjnego między regionami.

Tworzenie kopii zapasowej i przywracanie

Nie używaj pamięci środowiska izolowanego ani dysku lokalnego jako jedynego trwałego miejsca przechowywania danych. Wstrzymanie środowiska izolowanego powoduje zachowanie lokalnego dysku, a w trybie pamięciowym także stanu pamięci. Można również tworzyć migawki, które są utrwalane niezależnie od piaskownicy źródłowej. Stan zawieszenia i migawki są ograniczone do regionalnej grupy sandbox i nie są kopiami zapasowymi obejmującymi wiele regionów.

Użyj woluminu sandboxa do przechowywania danych, które muszą przetrwać dłużej niż trwa cykl życia pojedynczego sandboxa. Usługa magazynu kopii zapasowej i jej konfiguracja określają możliwości tworzenia kopii zapasowych i przywracania danych woluminu. W przypadku zarządzanych zewnętrznych magazynów danych odpowiadasz za konfigurowanie kopii zapasowych i odzyskiwania między regionami w celu spełnienia celów trwałości i odzyskiwania.

Aby ponownie utworzyć wdrożenie środowiska piaskownicy po przypadkowym usunięciu lub awarii obejmującej cały region, zapisz konfigurację grupy środowiska piaskownicy w objętych kontrolą wersji szablonach infrastruktury jako kodu, takich jak Bicep lub Terraform. Zachowaj obrazy dysków źródłowych w rejestrze spełniającym wymagania dotyczące odzyskiwania.

W przypadku większości rozwiązań nie należy polegać wyłącznie na kopiach zapasowych. Zamiast tego skorzystaj z innych możliwości opisanych w tym przewodniku, aby spełnić wymagania dotyczące odporności. Jednak kopie zapasowe chronią przed pewnymi zagrożeniami, których nie zapewniają inne podejścia. Aby uzyskać więcej informacji, zobacz Co to jest nadmiarowość, replikacja i kopia zapasowa?.

Odporność usługi na prace konserwacyjne

Firma Microsoft regularnie stosuje aktualizacje usług i wykonuje inną konserwację. Platforma Azure automatycznie obsługuje te działania, zapewniając bezproblemową i przejrzystą konserwację. Podczas operacji konserwacji mogą wystąpić krótkie przerwy. Zazwyczaj te przerwy trwają kilka sekund. Upewnij się, że aplikacje klienckie są skonfigurowane do obsługi błędów przejściowych , aby były odporne na krótkie przerwy.

Gdy konserwacja wpływa na działającą piaskownicę, platforma zachowuje jej stan, przenosi ją do sprawnych zasobów obliczeniowych i automatycznie wznawia jej działanie. W przypadku piaskownic korzystających z trybu pamięci platforma zachowuje stan pamięci i dysku lokalnego. W przypadku piaskownic korzystających z trybu dyskowego platforma zachowuje tylko stan dysku lokalnego.

Umowa dotycząca poziomu usług

Usługa Azure Container Apps Sandboxes nie oferuje umowy SLA dotyczącej dostępności. Usługi magazynu obsługujące woluminy piaskownicy i zewnętrzne magazyny danych używane przez rozwiązanie mogą mieć oddzielne umowy SLA. Aby uzyskać więcej informacji, zobacz Umowy dotyczące poziomu usług online.