Säkerhetskopiering och haveriberedskap för Azure-program

Haveriberedskap är en process för att återställa programfunktioner efter en oåterkallelig förlust.

I molnet bekräftar vi direkt att fel kommer att inträffa. Målet är att minimera effekten av en enda komponent som havererar snarare än att förhindra fel helt och hållet. Testning är ett sätt att minimera dessa effekter. Automatisera testningen av dina program där det är möjligt, men du måste vara förberedd på när de misslyckas. När ett fel inträffar blir det viktigt att ha säkerhetskopierings- och återställningsstrategier.

Toleransen för minskade funktioner under en katastrof är ett affärsbeslut som varierar från ett program till nästa. Det kan vara acceptabelt för vissa program att vara otillgängliga eller delvis tillgängliga med begränsad funktionalitet eller fördröjd bearbetning ett tag. För andra program är alla reducerade funktioner oacceptabla.

Huvudpunkter

  • Skapa och testa en haveriberedskapsplan regelbundet med hjälp av viktiga felscenarier.
  • Utforma en strategi för haveriberedskap för att köra de flesta program med begränsad funktionalitet.
  • Utforma en säkerhetskopieringsstrategi som är skräddarsydd för programmets affärsbehov och omständigheter.
  • Automatisera steg och processer för redundans och återställning efter fel.
  • Testa och validera metoden för redundans och återställning efter fel minst en gång.

Haveriberedskapsplan

Börja med att skapa en återställningsplan. Planen anses vara slutförd när den har testats fullständigt. Inkludera de personer, processer och program som behövs för att återställa funktioner i serviceavtalet (SLA) som du har definierat för dina kunder.

Överväg följande förslag när du skapar och testar din haveriberedskapsplan:

  • Ta med processen för att kontakta supporten och för att eskalera problem. Den här informationen hjälper dig att undvika långvarig stilleståndstid när du arbetar ut återställningsprocessen för första gången.
  • Utvärdera hur olika programfel påverkar verksamheten.
  • Välj en återställningsarkitektur mellan regioner för verksamhetskritiska program.
  • Identifiera en specifik ägare av haveriberedskapsplanen, inklusive automatisering och testning.
  • Dokumentera processen, särskilt eventuella manuella steg.
  • Automatisera processen så mycket som möjligt.
  • Upprätta en strategi för säkerhetskopiering för alla referens- och transaktionsdata och testa säkerhetskopieringsåterställning regelbundet.
  • Konfigurera aviseringar för stacken för de Azure-tjänster som används av ditt program.
  • Träna driftpersonalen att utföra planen.
  • Utför regelbundna katastrofsimuleringar för att validera och förbättra planen.

Om du använder en Azure Site Recovery replikera virtuella datorer (VM) skapar du en helt automatiserad återställningsplan för att redundansfiska hela programmet.

Testning av driftsberedskap

Utför ett test av driftsberedskap för redundans till den sekundära regionen och för återställning efter fel till den primära regionen. Många Azure-tjänster har stöd för manuell redundans eller redundanstest för programåterställningstester. I stället kan du simulera ett avbrott genom att stänga av eller ta bort Azure-tjänster.

Automatiserade operativa svar bör testas ofta som en del av den normala programlivscykeln för att säkerställa driftseffektivitet.

Testning av redundans och återställning efter fel

Testa redundans och återställning efter fel för att kontrollera att programmets beroende tjänster kommer tillbaka på ett synkroniserat sätt under haveriberedskap. Ändringar av system och åtgärder kan påverka funktionerna för redundans och återställning efter fel, men effekten kan inte identifieras förrän huvudsystemet havererar eller överbelastas. Testa redundansfunktionerna innan de krävs för att kompensera för ett live-problem. Se också till att beroende tjänster redundans och återställning efter fel i rätt ordning.

Om du använder en Azure Site Recovery replikera virtuella datorer kör du haveriberedskapstester regelbundet genom att testa redundans för att verifiera din replikeringsstrategi. Ett redundanstest påverkar inte den pågående VM-replikeringen eller produktionsmiljön. Mer information finns i Köra ett haveriberedskaps-drill till Azure.

Beroende tjänstavbrott

För varje beroende tjänst bör du förstå konsekvenserna av avbrott i tjänsten och hur programmet svarar. Många tjänster innehåller funktioner som stöder återhämtning och tillgänglighet, så utvärdering av varje tjänst oberoende kommer sannolikt att förbättra din haveriberedskapsplan. Till exempel stöder Azure Event Hubs till den sekundära namnrymden.

Nätverksavbrott

När delar av Azure-nätverket inte är tillgängliga kan du kanske inte komma åt ditt program eller dina data. I den här situationen rekommenderar vi att du utformar haveriberedskapsstrategin för att köra de flesta program med begränsad funktionalitet.

Om det inte är ett alternativ att minska funktionaliteten är de återstående alternativen programavbrott eller redundans till en alternativ region.

I ett scenario med begränsad funktionalitet:

  • Om programmet inte kan komma åt sina data på grund av ett avbrott i Azure-nätverket kan du köra lokalt med begränsad programfunktionalitet genom att använda cachelagrade data.
  • Du kan lagra data på en alternativ plats tills anslutningen har återställts.

Återställningsautomatisering

De steg som krävs för att återställa eller redundansiera programmet till en sekundär Azure-region i felsituationer bör kodifieras, helst på ett automatiserat sätt, för att säkerställa att det finns funktioner för att svara effektivt på ett avbrott på ett sätt som begränsar påverkan. Liknande kodifierade steg bör också finnas för att avbilda den process som krävs för att redundansfördela programmet till den primära regionen när ett problem med redundansutlösare har åtgärdats.

När du automatiserar redundansprocedurer bör du se till att de verktyg som används för att samordna redundansen också beaktas i redundansstrategin. Om du till exempel kör redundansen från Jenkins som körs på en virtuell dator får du problem om den virtuella datorn är en del av avbrottet. Azure DevOps Projects är också begränsade till en region.

Strategi för säkerhetskopiering

Det finns många alternativa strategier för implementering av distribuerad beräkning i olika regioner. Dessa strategier måste skräddarsys efter de specifika affärskraven och omständigheterna i programmet. På en hög nivå kan metoderna delas in i följande kategorier:

  • Distribuera om vid katastrof:Med den här metoden omdistribueras programmet från grunden vid tidpunkten för katastrofen. Omdistribution från grunden är lämpligt för icke-kritiska program som inte kräver en garanterad återställningstid.

  • Varm reserv (aktiv/passiv):Skapa en sekundär värdtjänst i en alternativ region och distribuera roller för att garantera minimal kapacitet. Rollerna tar dock inte emot produktionstrafik. Den här metoden är användbar för program som inte har utformats för att distribuera trafik mellan regioner.

  • Snabbreserv (aktiv/aktiv):Programmet är utformat för att ta emot produktionsbelastning i flera regioner. Molntjänsterna i varje region kan konfigureras för högre kapacitet än vad som krävs för haveriberedskap. I stället kan molntjänsterna skalas ut efter behov vid tidpunkten för en katastrof och redundans. Den här metoden kräver en stor investering i programdesign, men den har betydande fördelar. Dessa omfattar låg och garanterad återställningstid, kontinuerlig testning av alla återställningsplatser och effektiv användning av kapacitet.

Planera för regionala fel

Azure är fysiskt och logiskt indelat i enheter som kallas regioner. En region består av ett eller flera datacenter i närheten. Många regioner och tjänster har också stöd för tillgänglighetszoner,som kan användas för att ge bättre återhämtning vid avbrott i ett enda datacenter. Överväg att använda regioner med tillgänglighetszoner för att förbättra tillgängligheten för din lösning.

I sällsynta fall är det möjligt att anläggningar i en hel tillgänglighetszon eller region kan bli otillgängliga, till exempel på grund av nätverksfel. Eller så kan anläggningar gå förlorade helt, till exempel på grund av en naturkatastrofer. Azure har funktioner för att skapa program som distribueras mellan zoner och regioner. En sådan distribution hjälper till att minimera risken för att ett fel i en zon eller region kan påverka andra zoner eller regioner.

Nästa steg

Gå tillbaka till huvudartikeln: Testa