Tillförlitlighet i Azure Container Apps sandbox-miljö

Azure Container Apps sandbox-miljöer tillhandahåller isolerade miljöer för att köra kod. Varje sandbox-miljö körs i en enkel virtuell dator (microVM) som startar på mindre än en sekund och kan bevara sitt minnesinterna tillstånd när den pausas. Tjänsten stöder tillförlitligheten för sandbox-arbetsbelastningar via funktioner som du konfigurerar och funktioner som plattformen hanterar åt dig.

När du använder Azure är tillförlitlighet ett delat ansvar. Microsoft tillhandahåller en rad funktioner för att stödja återhämtning och återställning. Du ansvarar för att förstå hur dessa funktioner fungerar inom alla tjänster som du använder och välja de funktioner du behöver för att uppfylla dina affärsmål och drifttidsmål.

Den här artikeln beskriver hur du gör Container Apps-sandbox-miljöer motståndskraftiga mot tillfälliga fel, fel i tillgänglighetszonen, regionomfattande fel och serviceunderhåll. Den beskriver också alternativ för säkerhetskopiering och återställning samt viktig information om serviceavtalet (SLA).

Rekommendationer för produktionsdistribution för tillförlitlighet

För produktionsarbetsbelastningar rekommenderar vi att du:

  • Lagra varaktiga data utanför sandbox-minnet och välj ett alternativ för lagringsredundans som matchar dina återställningsmål. Använd sandbox-volymer för data som måste bevaras när en sandbox stoppas. För motståndskraft mot ett regionomfattande fel använder du ett externt datalager som replikerar data till en annan region.

    När du använder Azure Blob Storage replikerar geo-redundant lagring (GRS) data till en parad region. För regioner som inte är parade distribuerar du separata lagringskonton och konfigurerar en replikeringsmetod som stöds, till exempel objektreplikering för blockblobar. Mer information finns i Anpassade lösningar för flera regioner för Azure Blob Storage.

  • Distribuera separata sandbox-grupper i flera regioner om ditt drifttidsmål inte kan uppfyllas av en distribution med en enda region. Mer information finns i Motståndskraft mot regionomfattande fel.

Översikt över tillförlitlighetsarkitektur

I det här avsnittet beskrivs några av de viktiga aspekterna av hur tjänsten fungerar som är mest relevant ur ett tillförlitlighetsperspektiv. I avsnittet beskrivs den logiska arkitekturen, som innehåller några av de resurser och funktioner som du distribuerar och använder. Den diskuterar också den fysiska arkitekturen, som innehåller information om hur tjänsten fungerar under täcket.

Logisk arkitektur

Azure Container Apps innehåller distinkta beräkningsalternativ för appar, jobb, dynamiska sessioner och sandbox-miljö. Sandbox-grupper kräver inte en Container Apps-miljö. Mer information om tillförlitligheten för andra Container Apps-komponenter finns i Tillförlitlighet i Azure Container Apps.

De viktigaste resurserna i Container Apps sandbox-miljö är:

  • Sandbox-grupp: En sandbox-grupp är den högsta regionala hanteringsgränsen för sandbox-områden och använder Microsoft.App/sandboxGroups resurstypen. Alla sandbox-miljöer, diskbilder, ögonblicksbilder, volymer och känsliga konfigurationsvärden (hemligheter) är begränsade till en sandbox-grupp.

  • Sandbox: Varje sandbox är en lättviktig, isolerad mikro-VM som körs från en diskavbild eller ögonblicksbild och har sin egen CPU, sitt eget minne, sin egen lokala disk och sin egen nätverksgräns.

    En diskavbildning är en OCI-containeravbildning (Open Container Initiative) som konverteras för användning som ett sandbox-rotfilsystem.

    En ögonblicksbild är en punkt-i-tid-avbildning av en sandbox-miljös fullständiga tillstånd som bevaras oberoende av källans sandbox-miljö.

    En sandlådas tillstånd kan antingen vara igång eller stoppad. När en sandbox-miljö stoppas, antingen automatiskt eller på begäran, släpper den sina beräkningsresurser. Minnesläget bevarar sandbox-miljöns fullständiga minnesbild och lokala disk. Diskläget bevarar endast den lokala disken, så microVM och dess processer startas om när du återupptar sandbox-miljön.

  • Volymer: Den lokala disken tillhör en enskild sandbox-miljö. En sandbox-volym ger beständig lagring som finns oberoende av en enskild sandbox-miljö. Du kan montera Azure Blob Storage volymer i flera sandbox-miljö samtidigt, medan datadiskvolymer som backas upp av Azure-disklagring bara kan monteras i en sandbox-miljö i taget. Lagringstjänsten för säkerhetskopiering avgör hållbarhets- och återställningsalternativen för volymdata.

Mer information om sandbox-arkitektur och resurser finns i Azure Container Apps Översikt över sandbox-miljöer.

Fysisk arkitektur

Sandlådemiljöer körs i flera oberoende beräkningskluster som Microsoft driver. Du ansvarar för att konfigurera sandbox-grupper, sandboxar och andra resurser som du distribuerar. Microsoft ansvarar för klusterdistribution, konfiguration, kapacitetshantering, hälsoövervakning och underhåll. Du väljer, distribuerar, konfigurerar eller hanterar inte klustren. Tjänsten schemalägger nya sandlådor och startar om stoppade sandlådor på felfria kluster samt styr placeringar förbi kluster med fel.

Microsoft underhåller redundanta tillståndslager för tjänstkonfiguration, sandbox-metadata och artefakter som diskbilder och ögonblicksbilder.

Motståndskraft mot tillfälliga fel

Tillfälliga fel är kortvariga, intermittenta fel i komponenter. De förekommer ofta i en distribuerad miljö som molnet, och de är en normal del av åtgärderna. Tillfälliga fel korrigerar sig själva efter en kort tidsperiod. Det är viktigt att dina program kan hantera tillfälliga fel, vanligtvis genom att försöka igen.

Alla molnbaserade program bör följa vägledningen för tillfälliga felhantering i Azure när de kommunicerar med molnbaserade API:er, databaser och andra komponenter. Mer information finns i Rekommendationer för hantering av övergående fel.

När du använder Sandbox-miljön för Container Apps bör du överväga tillfälliga fel i följande delar av lösningen:

  • Hanteringsåtgärder för sandbox-miljö: När din automatisering hanterar sandbox-grupper, sandbox-miljöer eller relaterade resurser försöker du igen begäranden som misslyckas på grund av tillfälliga fel och använder exponentiell backoff. Begränsa antalet återförsök och försök endast igen åtgärder som är säkra att upprepa.

  • Kod som körs i en sandbox-miljö: Implementera tillfällig felhantering för anrop till externa API:er, databaser och andra tjänster. Följ återförsöksvägledningen för varje beroende eftersom återförsöksbeteende och åtgärder som är säkra att upprepa varierar beroende på tjänst.

Motståndskraft mot fel i tillgänglighetszonen

Container Apps-sandlådor stöder inte distribution till en specifik tillgänglighetszon eller zonredundans för en sandlådegrupp. Distribuera separata sandbox-grupper i flera regioner för att göra arbetsbelastningen motståndskraftig mot fel i tillgänglighetszonen. Mer information finns i Motståndskraft mot regionomfattande fel.

Motståndskraft mot regionomfattande fel

Container Apps Sandboxes är en tjänst för en region. Om regionen blir otillgänglig blir även dina sandboxgrupper och sandboxarna de innehåller otillgängliga. Tjänsten replikerar varken sandboxgrupper eller sandboxmiljöer mellan regioner och växlar inte heller automatiskt över till en annan region. Du kan dock distribuera separata sandbox-grupper i flera regioner. Du ansvarar för att göra beroenden tillgängliga i varje region och hantera arbetsbelastningsdistribution och redundans. Mer information finns i Anpassade lösningar för flera regioner för återhämtning.

Under ett regionomfattande fel kan du förlora alla tillstånd som endast lagras i minnet av en sandbox-miljö som körs. Sandbox-grupper, sandbox-miljöer och tjänsthanterade artefakter i den berörda regionen förblir otillgängliga tills regionen har återställts.

Sandbox-volymer tillhandahåller lagring som finns kvar utanför livscykeln för en enskild sandbox-miljö. Under ett regionomfattande fel beror volymtillgängligheten och återställningen på lagringstjänsten och dess konfiguration. Container Apps-sandbox-miljön tillhandahåller inte replikering mellan regioner eller redundans för volymdata. I stället tillhandahåller lagringstjänsten för säkerhetskopiering dessa funktioner när den konfigureras. Information om Azure Blob Storage volymer finns till exempel i Tillförlitlighet i Azure Blob Storage.

Anpassade lösningar för flera regioner för återhämtning

Azure Container Apps sandbox-miljöer samordnar inte distributioner i flera regioner eller replikerar sandbox-grupper, sandbox-miljöer eller deras relaterade resurser mellan regioner. För att skapa en anpassad lösning för flera regioner har du följande ansvarsområden:

  • Regionala distributioner och beroenden: Distribuera en separat sandbox-grupp i varje region som du planerar att använda. Behåll konfiguration, diskbilder, hemligheter och andra beroenden tillgängliga i varje region.

  • Felidentifiering och återställning av arbetsbelastning: Konfigurera ditt program- eller orkestreringslager för att identifiera när en region inte är tillgänglig, dirigera ny skapande av sandbox-miljö och bearbetning av arbetsbelastningar till en felfri region och bestämma hur du startar om avbrutet arbete.

  • Trafikroutning: Om klienter ansluter via regionspecifika slutpunkter som ditt program exponerar använder du en global belastningsutjämningstjänst, till exempel Azure Front Door eller Azure Traffic Manager, för att dirigera trafik till en felfri slutpunkt.

  • Datareplikering och återställning: Lagra alla tillstånd som krävs efter redundansväxling i ett externt datalager som stöder replikering och återställning mellan regioner. Om en lagringstjänst för säkerhetskopiering tillhandahåller replikering mellan regioner för volymdata avgör tjänsten replikerings- och redundansbeteendet. Azure Container Apps Sandbox-miljön replikeras inte eller redundansväxlar inte volymdata mellan regioner.

Säkerhetskopiering och återställning

Använd inte sandbox-minne eller lokal disk som ditt enda hållbara datalager. Att pausa en sandbox bevarar dess lokala disk och, i minnesläge, dess minnestillstånd. Du kan också skapa ögonblicksbilder som bevaras oberoende av källans sandbox-miljö. Suspenderat tillstånd och ögonblicksbilder är fortfarande begränsade till den regionala sandboxgruppen och är inte säkerhetskopior mellan regioner.

Använd en sandbox-volym för data som måste finnas kvar efter livscykeln för en enskild sandbox. Säkerhetskopieringslagringstjänsten och dess konfiguration avgör säkerhetskopierings- och återställningsfunktionerna för volymdata. För externa datalager som du hanterar ansvarar du för att konfigurera säkerhetskopiering och återställning mellan regioner för att uppfylla dina hållbarhets- och återställningsmål.

Om du vill återskapa sandbox-distributionen efter oavsiktlig borttagning eller ett regionomfattande fel lagrar du sandbox-gruppkonfigurationen i versionsstyrda mallar för infrastruktur som kod, till exempel Bicep eller Terraform. Behåll källdiskens avbildningar i ett register som uppfyller dina återställningskrav.

För de flesta lösningar bör du inte enbart förlita dig på säkerhetskopior. Använd i stället de andra funktionerna som beskrivs i den här guiden för att stödja dina återhämtningskrav. Säkerhetskopior skyddar dock mot vissa risker som andra metoder inte gör. Mer information finns i Vad är redundans, replikering och säkerhetskopiering?.

Motståndskraft mot serviceunderhåll

Microsoft tillämpar regelbundet tjänstuppdateringar och utför annat underhåll. Den Azure plattformen hanterar dessa aktiviteter automatiskt, vilket säkerställer att underhållet är sömlöst och transparent för dig. Under underhållsåtgärder kan du observera korta avbrott. Dessa avbrott varar vanligtvis några sekunder. Se till att klientprogram är konfigurerade för att hantera tillfälliga fel så att de är motståndskraftiga mot korta avbrott.

När underhåll påverkar en sandbox-miljö som är igång bevarar plattformen dess tillstånd, flyttar den till fungerande beräkningskapacitet och återupptar den sedan automatiskt. För sandbox-miljöer som använder minnesläge bevarar plattformen minne och lokalt disktillstånd. För sandbox-miljöer som använder diskläge bevarar plattformen endast lokalt disktillstånd.

Serviceavtal

Azure Container Apps Sandbox-miljön erbjuder inte något serviceavtal (SLA) för tillgänglighet. Lagringstjänster som stöder dina sandbox-volymer och externa datalager som används av lösningen kan ha separata serviceavtal. Mer information finns i Servicenivåavtal för onlinetjänster.