Redundans för affärskontinuitet och haveriberedskap

För att maximera drifttiden planerar du framåt för att upprätthålla affärskontinuitet och förbereda för haveriberedskap med Azure Machine Learning.

Microsoft strävar efter att säkerställa att Azure-tjänster alltid är tillgängliga. Oplanerade tjänststopp kan dock inträffa. Vi rekommenderar att du har en plan för haveriberedskap för hantering av regionala servicestopp. I den här artikeln kan du se hur du:

  • Planera för en multiregional distribution av Azure Machine Learning och associerade resurser.
  • Maximera chansen att återställa loggar, notebook-filer, docker-avbildningar och andra metadata.
  • Design för hög tillgänglighet för din lösning.
  • Initiera en redundansväxling till en annan region.

Viktigt!

Azure Machine Learning tillhandahåller inte automatisk redundans eller haveriberedskap. Säkerhetskopiering och återställning av arbetsytemetadata, till exempel körningshistorik, är inte tillgänglig.

Om du av misstag har tagit bort din arbetsyta eller motsvarande komponenter får du även återställningsalternativ som stöds i den här artikeln.

Förstå Azure-tjänster för Azure Machine Learning

Azure Machine Learning är beroende av flera Azure-tjänster. Vissa av dessa tjänster etableras i din prenumeration. Du ansvarar för konfigurationen av dessa tjänster med hög tillgänglighet. Andra tjänster skapas i en Microsoft-prenumeration och hanteras av Microsoft.

Azure-tjänster omfattar:

  • Azure Machine Learning-infrastruktur: En Microsoft-hanterad miljö för Azure Machine Learning-arbetsytan.

  • Associerade resurser: Resurser som etablerats i din prenumeration när Azure Machine Learning-arbetsytan skapas. Dessa resurser omfattar Azure Storage, Azure Key Vault, Azure Container Registry och Application Insights.

    • Standardlagringen innehåller data som modell, träningsloggdata och referenser till datatillgångar.
    • Key Vault har autentiseringsuppgifter för Azure Storage, Container Registry och datalager.
    • Container Registry har en Docker-avbildning för utbildnings- och slutsatsdragningsmiljöer.
    • Application Insights är till för övervakning av Azure Machine Learning.
  • Beräkningsresurser: Resurser som du skapar efter distributionen av arbetsytan. Du kan till exempel skapa en beräkningsinstans eller ett beräkningskluster för att träna en Machine Learning-modell.

    • Beräkningsinstans och beräkningskluster: Utvecklingsmiljöer för Microsoft-hanterade modeller.
    • Andra resurser: Microsofts databehandlingsresurser som du kan koppla till Azure Machine Learning, till exempel Azure Kubernetes Service (AKS), Azure Databricks, Azure Container Instances och Azure HDInsight. Du ansvarar för att konfigurera inställningar för hög tillgänglighet för dessa resurser.
  • Andra datalager: Azure Machine Learning kan montera andra datalager som Azure Storage och Azure Data Lake Storage för träningsdata. Dessa datalager etableras i din prenumeration. Du ansvarar för att konfigurera deras inställningar för hög tillgänglighet. Om du vill se andra alternativ för datalager läser du Skapa datalager.

I följande tabell visas azure-tjänsterna som hanteras av Microsoft och som hanteras av dig. Det anger också de tjänster som är mycket tillgängliga som standard.

Tjänst Hanteras av Hög tillgänglighet som standard
Azure Machine Learning-infrastruktur Microsoft
Associerade resurser
Azure Storage Du
Key Vault Du
Container Registry Du
Programinsikter Du NA
Beräkningsresurser
Beräkningsinstans Microsoft
Beräkningskluster Microsoft
Andra beräkningsresurser som AKS,
Azure Databricks, Container Instances, HDInsight
Du
Andra datalager som Azure Storage, SQL Database,
Azure Database for PostgreSQL, Azure Database for MySQL,
Azure Databricks-filsystem
Du

I resten av den här artikeln beskrivs de åtgärder du behöver vidta för att göra var och en av dessa tjänster mycket tillgängliga.

Planera för distribution med flera regioner

En distribution med flera regioner förlitar sig på att skapa Azure Machine Learning och andra resurser (infrastruktur) i två Azure-regioner. Om ett regionalt avbrott inträffar kan du växla till den andra regionen. När du planerar var du ska distribuera dina resurser bör du tänka på:

  • Regional tillgänglighet: Använd om möjligt en region i samma geografiska område, inte nödvändigtvis den som är närmast. Information om regional tillgänglighet för Azure Machine Learning finns i Azure-produkter per region.

  • Azure-kopplade regioner: Länkade regioner samordnar plattformsuppdateringar och prioriterar återställningsinsatser där det behövs. Alla regioner stöder dock inte parkopplade regioner. Mer information finns i Länkade Azure-regioner.

  • Tjänsttillgänglighet: Bestäm om de resurser som används av lösningen ska vara varma/heta, varma/varma eller varma/kalla.

    • Frekvent/frekvent: Båda regionerna är aktiva samtidigt, med en region redo att börja användas omedelbart.
    • Frekvent/varm: Primär region aktiv, sekundär region har kritiska resurser (till exempel distribuerade modeller) redo att starta. Icke-kritiska resurser skulle behöva distribueras manuellt i den sekundära regionen.
    • Frekvent/kall: Primär region aktiv, sekundär region har Azure Machine Learning och andra resurser distribuerade, tillsammans med nödvändiga data. Resurser som modeller, modelldistributioner eller pipelines måste distribueras manuellt.

Dricks

Beroende på dina affärskrav kan du välja att behandla olika Azure Machine Learning-resurser på olika sätt. Du kanske till exempel vill använda frekvent/frekvent för distribuerade modeller (slutsatsdragning) och frekvent/kall för experiment (träning).

Azure Machine Learning bygger på andra tjänster. Vissa tjänster kan konfigureras för att replikeras till andra regioner. Andra måste du skapa manuellt i flera regioner. Följande tabell innehåller en lista över tjänster, vem som ansvarar för replikering och en översikt över konfigurationen:

Azure-tjänst Geo-replikerad av Konfiguration
Machine Learning-arbetsyta Du Skapa en arbetsyta i de valda regionerna.
Machine Learning-beräkning Du Skapa beräkningsresurserna i de valda regionerna. För beräkningsresurser som kan skalas dynamiskt kontrollerar du att båda regionerna tillhandahåller tillräcklig beräkningskvot för dina behov.
Machine Learning-register Du Skapa registret i flera regioner.
Key Vault Microsoft Använd samma Key Vault-instans med Azure Machine Learning-arbetsytan och resurser i båda regionerna. Key Vault redundansväxlar automatiskt till en sekundär region. Mer information finns i Tillgänglighet och redundans för Azure Key Vault.
Container Registry Microsoft Konfigurera Container Registry-instansen till geo-replikerade register till den kopplade regionen för Azure Machine Learning. Använd samma instans för båda arbetsyteinstanserna. Mer information finns i Geo-replikering i Azure Container Registry.
Lagringskonto Du Azure Machine Learning stöder inte standard redundans för lagringskonton med geo-redundant lagring (GRS), geo-zonredundant lagring (GZRS), geo-redundant lagring med läsåtkomst (RA-GRS) eller geozonredundant lagring med läsbehörighet (RA-GZRS). Skapa ett separat lagringskonto för standardlagringen för varje arbetsyta.
Skapa separata lagringskonton eller tjänster för annan datalagring. Läs mer i Redundansalternativ för Azure Storage.
Programinsikter Du Skapa Application Insights för arbetsytan i båda regionerna. Information om hur du justerar datakvarhållningsperioden och informationen finns i Datainsamling, kvarhållning och lagring i Application Insights.

För att aktivera snabb återställning och omstart i den sekundära regionen rekommenderar vi följande utvecklingsmetoder:

  • Använd Azure Resource Manager-mallar. Mallar är "infrastruktur som kod" och gör att du snabbt kan distribuera tjänster i båda regionerna.
  • För att undvika drift mellan de två regionerna uppdaterar du dina pipelines för kontinuerlig integrering och distribution för att distribuera till båda regionerna.
  • När du automatiserar distributioner ska du inkludera konfigurationen av anslutna beräkningsresurser för arbetsytan, till exempel Azure Kubernetes Service.
  • Skapa rolltilldelningar för användare i båda regionerna.
  • Skapa nätverksresurser som Azure Virtual Networks och privata slutpunkter för båda regionerna. Kontrollera att användarna har åtkomst till båda nätverksmiljöerna. Till exempel VPN- och DNS-konfigurationer för båda de virtuella nätverken.

Beräknings- och datatjänster

Beroende på dina behov kan du ha fler beräknings- eller datatjänster som används av Azure Machine Learning. Du kan till exempel använda Azure Kubernetes Services eller Azure SQL Database. Använd följande information för att lära dig hur du konfigurerar dessa tjänster för hög tillgänglighet.

Beräkningsresurser

Datatjänster

Dricks

Om du anger en egen kundhanterad nyckel för att distribuera en Azure Machine Learning-arbetsyta etableras även Azure Cosmos DB i din prenumeration. I så fall ansvarar du för att konfigurera dess inställningar för hög tillgänglighet. Se Hög tillgänglighet med Azure Cosmos DB.

Utforma för hög tillgänglighet

Tillgänglighetszoner

Vissa Azure-tjänster stöder tillgänglighetszoner. För regioner som har stöd för tillgänglighetszoner pausar en zon eventuella arbetsbelastningar och data ska sparas. Data är dock inte tillgängliga för uppdatering förrän zonen är online igen.

Mer information finns i Tjänst för tillgänglighetszon och regional support.

Distribuera kritiska komponenter till flera regioner

Fastställ den affärskontinuitetsnivå som du strävar efter. Nivån kan skilja sig åt mellan komponenterna i lösningen. Du kanske till exempel vill ha en frekvent/frekvent konfiguration för produktionspipelines eller modelldistributioner och frekvent/kall för experimentering.

Hantera träningsdata på isolerad lagring

Genom att hålla datalagringen isolerad från standardlagringen som arbetsytan använder för loggar kan du:

  • Koppla samma lagringsinstanser som datalager till de primära och sekundära arbetsytorna.
  • Använd geo-replikering för datalagringskonton och maximera din drifttid.

Hantera maskininlärningstillgångar som kod

Kommentar

Säkerhetskopiering och återställning av arbetsytemetadata, till exempel körningshistorik, modeller och miljöer, är inte tillgänglig. Om du anger tillgångar och konfigurationer som kod med YAML-specifikationer kan du återskapa tillgångar mellan arbetsytor i händelse av en katastrof.

Jobb i Azure Machine Learning definieras av en jobbspecifikation. Den här specifikationen innehåller beroenden för indataartefakter som hanteras på arbetsyteinstansnivå, inklusive miljöer och beräkning. För jobböverföring och distributioner i flera regioner rekommenderar vi följande metoder:

  • Hantera din kodbas lokalt, som backas upp av en Git-lagringsplats.

    • Exportera viktiga notebook-filer från Azure Machine Learning-studio.
    • Exportera pipelines som skapats i studio som kod.
  • Hantera konfigurationer som kod.

    • Undvik hårdkodade referenser till arbetsytan. Konfigurera i stället en referens till arbetsyteinstansen med hjälp av en konfigurationsfil och använd MLClient.from_config() för att initiera arbetsytan.
    • Använd en Dockerfile om du använder anpassade Docker-avbildningar.

Initiera en redundansväxling

Fortsätt arbetet på redundansarbetsytan

När den primära arbetsytan blir otillgänglig kan du växla över den sekundära arbetsytan för att fortsätta experimentera och utveckla. Azure Machine Learning skickar inte automatiskt jobb till den sekundära arbetsytan om det uppstår ett avbrott. Uppdatera kodkonfigurationen så att den pekar på den nya arbetsyteresursen. Vi rekommenderar att du undviker hårdkodning av arbetsytereferenser. Använd i stället en konfigurationsfil för arbetsytan för att minimera manuella användarsteg när du ändrar arbetsytor. Se även till att uppdatera all automatisering, till exempel kontinuerlig integrering och distributionspipelines till den nya arbetsytan.

Azure Machine Learning kan inte synkronisera eller återställa artefakter eller metadata mellan arbetsyteinstanser. Beroende på din programdistributionsstrategi kan du behöva flytta artefakter eller återskapa experimenteringsindata, till exempel datatillgångar, i redundansarbetsytan för att kunna fortsätta skicka jobb. Om du har konfigurerat dina primära arbetsytor och sekundära arbetsyteresurser för att dela associerade resurser med geo-replikering aktiverat, kan vissa objekt vara direkt tillgängliga för redundansarbetsytan. Om båda arbetsytorna till exempel delar samma Docker-avbildningar, konfigurerade datalager och Azure Key Vault-resurser. Följande diagram visar en konfiguration där två arbetsytor delar samma avbildningar (1), datalager (2) och Key Vault (3).

Diagram över redundans mellan parkopplade regioner.

Kommentar

Alla jobb som körs när ett tjänststopp inträffar övergår inte automatiskt till den sekundära arbetsytan. Det är också osannolikt att jobben återupptas och slutförs på den primära arbetsytan när avbrottet har lösts. I stället måste de här jobben skickas på nytt, antingen på den sekundära arbetsytan eller i den primära (när avbrottet har lösts).

Flytta artefakter mellan arbetsytor

Beroende på återställningsmetoden kan du behöva kopiera artefakter mellan arbetsytorna för att fortsätta ditt arbete. För närvarande är portabiliteten för artefakter mellan arbetsytor begränsad. Vi rekommenderar att du hanterar artefakter som kod där det är möjligt så att de kan återskapas i redundansinstansen.

Följande artefakter kan exporteras och importeras mellan arbetsytor med hjälp av Azure CLI-tillägget för maskininlärning:

Artefakt Exportera Importera
Modeller az ml model download --name {NAME} --version {VERSION} az ml model create
Miljöer az ml environment share --name my-environment --version {VERSION} --resource-group {RESOURCE_GROUP} --workspace-name {WORKSPACE} --share-with-name {NEW_NAME_IN_REGISTRY} --share-with-version {NEW_VERSION_IN_REGISTRY} --registry-name {REGISTRY_NAME} az ml environment create
Azure Machine Learning-jobb az ml job download -n {NAME} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME} az ml job create -f {FILE} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME}
Datatillgångar az ml data share --name {DATA_NAME} --version {VERSION} --resource-group {RESOURCE_GROUP} --workspace-name {WORKSPACE} --share-with-name {NEW_NAME_IN_REGISTRy} --share-with-version {NEW_VERSION_IN_REGISTRY} --registry-name {REGISTRY_NAME} az ml data create -f {FILE} -g {RESOURCE_GROUP} --registry-name {REGISTRY_NAME}

Dricks

  • Jobbutdata lagras i standardlagringskontot som är associerat med en arbetsyta. Även om jobbutdata kan bli otillgängliga från studiogränssnittet vid ett tjänstfel, kan du komma åt data direkt via lagringskontot. Mer information om hur du arbetar med data som lagras i blobar finns i Skapa, ladda ned och lista blobar med Azure CLI.

Återställningsalternativ

Borttagen arbetsyta

Om du av misstag har tagit bort din arbetsyta kan du återställa den. Information om återställningssteg finns i Återställ arbetsytedata efter oavsiktlig borttagning med mjuk borttagning.

Även om arbetsytan inte kan återställas kanske du fortfarande kan hämta dina notebook-filer från den arbetsyteassocierad Azure Storage-resursen genom att följa dessa steg:

  • I Azure-portalen går du till lagringskontot som var länkat till den borttagna Azure Machine Learning-arbetsytan.
  • I avsnittet Datalagring till vänster väljer du Filresurser.
  • Dina anteckningsböcker finns på filresursen med namnet som innehåller ditt arbetsyte-ID.

Nästa steg

Om du vill veta mer om upprepningsbara infrastrukturdistributioner med Azure Machine Learning använder du en Azure Resource Manager-mall.