Katastrofer kan vara maskinvarufel, naturkatastrofer eller programvarufel. Processen för att förbereda för och återställa från en katastrof kallas haveriberedskap (DR). I den här artikeln beskrivs rekommenderade metoder för att uppnå affärskontinuitet och haveriberedskap (BCDR) för Azure Data Factory- och Azure Synapse Analytics-pipelines.
BCDR-strategier omfattar redundans i tillgänglighetszoner, automatisk återställning som tillhandahålls av Azure-haveriberedskap och användarhanterad återställning med kontinuerlig integrering och kontinuerlig leverans (CI/CD).
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
Data Factory- och Azure Synapse-pipelines ger återhämtning med hjälp av Azure-regioner och Azure-tillgänglighetszoner.
- Varje Azure-region har en uppsättning datacenter som distribueras inom en svarstidsdefinierad perimeter.
- Azure-tillgänglighetszoner är fysiskt separata platser i varje Azure-region som är toleranta mot lokala fel.
- Alla Azure-regioner och tillgänglighetszoner är anslutna via ett dedikerat, regionalt nätverk med låg latens och ett nätverk med höga prestanda.
- Alla tillgänglighetszonaktiverade regioner har minst tre separata tillgänglighetszoner för att säkerställa återhämtning.
När ett datacenter, en del av ett datacenter eller en tillgänglighetszon i en region går ner sker redundans med noll driftstopp för zontåliga Data Factory- och Azure Synapse-pipelines.
Komponenter
- Azure Data Factory
- Azure Synapse Analytics - och Azure Synapse-pipelines
- GitHub
- Azure-lagringsplatser
Information om scenario
Data Factory- och Azure Synapse-pipelines lagrar artefakter som innehåller följande data:
Metadata
- Pipeline
- Datauppsättningar
- Länkade tjänster
- Integration runtime
- Utlösare
Övervaka data
- Pipeline
- Utlösare
- Aktivitetskörningar
Katastrofer kan inträffa på olika sätt, till exempel maskinvarufel, naturkatastrofer eller programvarufel som orsakas av mänskliga fel eller cyberattacker. Beroende på typen av fel kan deras geografiska inverkan vara regional eller global. När du planerar en strategi för haveriberedskap bör du överväga både katastrofens natur och dess geografiska inverkan.
BCDR i Azure fungerar på en modell med delat ansvar. Många Azure-tjänster kräver att kunderna uttryckligen konfigurerar sin DR-strategi, medan Azure tillhandahåller baslinjeinfrastrukturen och plattformstjänsterna efter behov.
Du kan använda följande rekommenderade metoder för att uppnå BCDR för Data Factory- och Azure Synapse-pipelines under olika felscenarier. För implementering, se Distribuera det här scenariot.
Automatiserad återställning med Azure-haveriberedskap
Med automatiserad återställning tillhandahållen Azure Backup och haveriberedskap redundansväxlar Data Factory- eller Azure Synapse-pipelines automatiskt över till den kopplade regionen när du konfigurerar automatisk återställning när du konfigurerar automatisk återställning. Undantagen är regionerna Sydostasien och Brasilien, där kraven på datahemvist kräver att data finns kvar i dessa regioner.
Vid dr-redundans återställer Data Factory produktionspipelines. Om du behöver verifiera dina återställda pipelines kan du säkerhetskopiera Azure Resource Manager-mallarna för dina produktionspipelines i hemlig lagring och jämföra de återställda pipelinerna med säkerhetskopiorna.
Azure Global-teamet genomför regelbundna BCDR-övningar och Azure Data Factory och Azure Synapse Analytics deltar i dessa övningar. BCDR-detaljtestet simulerar ett regionfel och redundansväxlar Azure-tjänster till en länkad region utan någon kunds inblandning. Mer information om BCDR-detaljnivån finns i Testning av tjänster.
Användarhanterad redundans med CI/CD
För att uppnå BCDR i händelse av ett fel i hela regionen behöver du en datafabrik eller en Azure Synapse-arbetsyta i den sekundära regionen. Om datafabriken eller Azure Synapse-pipelinen tas bort av misstag, avbrott eller interna underhållshändelser kan du använda Git och CI/CD för att återställa pipelines manuellt.
Du kan också använda en aktiv/passiv implementering. Den primära regionen hanterar normala åtgärder och förblir aktiv, medan den sekundära DR-regionen kräver förplanerade steg, beroende på specifik implementering, som ska höjas till primär. I det här fallet är alla nödvändiga konfigurationer för infrastruktur tillgängliga i den sekundära regionen, men de är inte etablerade.
Potentiella användningsfall
Användarhanterad redundans är användbar i scenarier som:
- Oavsiktlig borttagning av pipelineartefakter via mänskliga fel.
- Utökade avbrott eller underhållshändelser som inte utlöser BCDR eftersom ingen katastrof har rapporterats.
Du kan snabbt flytta dina produktionsarbetsbelastningar till andra regioner och inte påverkas.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Översikt över tillförlitlighetspelare.
Data Factory- och Azure Synapse-pipelines är vanliga Azure-tjänster som stöder tillgänglighetszoner, och de är utformade för att ge rätt återhämtningsnivå och flexibilitet tillsammans med ultralåg svarstid.
Med den användarhanterade återställningsmetoden kan du fortsätta att arbeta om det finns underhållshändelser, avbrott eller mänskliga fel i den primära regionen. Genom att använda CI/CD kan datafabriken och Azure Synapse-pipelines integreras till en Git-lagringsplats och distribueras till en sekundär region för omedelbar återställning.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
Användarhanterad återställning integrerar Data Factory med Git med hjälp av CI/CD och använder eventuellt en sekundär DR-region som har alla nödvändiga infrastrukturkonfigurationer som en säkerhetskopia. Det här scenariot kan medföra extra kostnader. Om du vill beräkna kostnaderna använder du Priskalkylatorn för Azure.
Exempel på priser för Data Factory och Azure Synapse Analytics finns i:
Driftsäkerhet
Driftskvalitet omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Översikt över grundpelare för driftskvalitet.
Genom att använda den användarhanterade CI/CD-återställningsmetoden kan du integrera till Azure Repos eller GitHub. Mer information om bästa CI/CD-metoder finns i Metodtips för CI/CD.
Distribuera det här scenariot
Utför följande åtgärder för att konfigurera automatiserade eller användarhanterade DR för Data Factory- och Azure Synapse-pipelines.
Konfigurera automatisk återställning
I Data Factory kan du ange IR-regionen (Azure Integration Runtime) för aktivitetskörningen eller sändningen i konfigurationen av Integration Runtime. Om du vill aktivera automatisk redundans vid ett fullständigt regionalt avbrott ställer du in regionen på Lös automatiskt.
I samband med integreringskörningarna redundansväxlar IR automatiskt till den kopplade regionen när du väljer Lös automatiskt som IR-region. För andra specifika platsregioner kan du skapa en sekundär datafabrik i en annan region och använda CI/CD för att etablera din datafabrik från Git-lagringsplatsen.
För hanterade virtuella nätverk växlar Data Factory också automatiskt över till den hanterade IR:en.
Automatisk redundansväxling i Azure gäller inte för lokalt installerad integrationskörning (SHIR), eftersom infrastrukturen är kundhanterad. Information om hur du konfigurerar flera noder för högre tillgänglighet med SHIR finns i Skapa och konfigurera en lokalt installerad integrationskörning.
Information om hur du konfigurerar BCDR för Azure-SSIS IR finns i Konfigurera Azure-SSIS-integreringskörning för affärskontinuitet och haveriberedskap (BCDR).
Länkade tjänster är inte helt aktiverade efter redundansväxling på grund av väntande privata slutpunkter i det nyare nätverket i regionen. Du måste konfigurera privata slutpunkter i den återställda regionen. Du kan automatisera skapandet av privata slutpunkter med hjälp av API:et för godkännande.
Konfigurera användarhanterad återställning via CI/CD
Du kan använda Git och CI/CD för att återställa pipelines manuellt vid borttagning eller avbrott i Data Factory- eller Azure Synapse-pipelinen.
Information om hur du använder Data Factory-pipeline-CI/CD finns i Kontinuerlig integrering och leverans i Azure Data Factory och Källkontroll i Azure Data Factory.
Information om hur du använder Azure Synapse-pipeline-CI/CD finns i Kontinuerlig integrering och leverans för en Azure Synapse Analytics-arbetsyta. Var noga med att initiera Azure Synapse-arbetsytan först. Mer information finns i Källkontroll i Synapse Studio.
När du distribuerar användarhanterad redundans med hjälp av CI/CD vidtar du följande åtgärder:
Inaktivera utlösare
Inaktivera utlösare i den ursprungliga primära datafabriken när den är online igen. Du kan inaktivera utlösarna manuellt eller implementera automatisering för att regelbundet kontrollera tillgängligheten för den ursprungliga primära. Inaktivera alla utlösare på den ursprungliga primära datafabriken omedelbart efter att fabriken har återställts.
Information om hur du använder Azure PowerShell för att inaktivera eller aktivera Data Factory-utlösare finns i Exempel på för- och efterdistributionsskript och CI/CD-förbättringar relaterade till distribution av pipelineutlösare.
Hantera duplicerade skrivningar
De flesta ETL-pipelines (extract, transform, load) är utformade för att hantera duplicerade skrivningar, eftersom återfyllnad och omformning kräver dem. Datamottagare som stöder transparent redundans kan hantera duplicerade skrivningar med sammanslagning av poster eller genom att ta bort och infoga alla poster inom det specifika tidsintervallet.
För datamottagare som ändrar slutpunkter efter redundansväxling kan den primära och sekundära lagringen ha duplicerade eller partiella data. Du måste sammanfoga data manuellt.
Kontrollera vittnet och kontrollera pipelineflödet (valfritt)
I allmänhet måste du utforma dina pipelines så att de omfattar aktiviteter, till exempel misslyckade aktiviteter och uppslagsaktiviteter, för att starta om misslyckade pipelines från den intressanta platsen.
Lägg till en global parameter i datafabriken för att ange regionen, till exempel
region='EastUS'
i den primära ochregion='CentralUS'
i den sekundära datafabriken.Skapa ett vittne i en tredje region. Vittnet kan vara ett REST-anrop eller någon typ av lagring. Vittnet returnerar den aktuella primära regionen, till exempel
'EastUS'
, som standard.När en katastrof inträffar uppdaterar du vittnet manuellt för att returnera den nya primära regionen, till exempel
'CentralUS'
.Lägg till en aktivitet i pipelinen för att leta upp vittnet och jämföra det aktuella primära värdet med den globala parametern.
- Om parametrarna matchar körs den här pipelinen i den primära regionen. Fortsätt med det verkliga arbetet.
- Om parametrarna inte matchar körs den här pipelinen i den sekundära regionen. Returnera bara resultatet.
Kommentar
Den här metoden introducerar ett beroende av vittnessökningen i din pipeline. Det går inte att läsa vittnet stoppar alla pipelinekörningar.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
Krishnakumar Rukmangathan | Senior Program Manager – Azure Data Factory-teamet
Sunil Sabat | Principal Program Manager – Azure Data Factory-teamet
Övriga medarbetare:
Mario Zimmermann | Principal Software Engineering Manager – Azure Data Factory-teamet
Wee Hyong Tok | Huvudansvarig för PM – Azure Data Factory-teamet
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Hantering av affärskontinuitet i Azure
- Återhämtning i Azure
- Terminologi för Azure-återhämtning
- Regioner och tillgänglighetszoner
- Replikering mellan regioner i Azure
- Beslutsguide för Azure-regioner
- Azure-tjänster som stöder tillgänglighetszoner
- Delat ansvar i molnet
- Dataredundans i Azure Data Factory
- Integration Runtime i Azure Data Factory
- Pipelines och aktiviteter i Azure Data Factory och Azure Synapse Analytics
- Dataintegrering i Azure Synapse Analytics jämfört med Azure Data Factory