Failover para continuidade de negócios e recuperação de desastres

Para maximizar seu tempo de atividade, planeje com antecedência para manter a continuidade dos negócios e prepare-se para a recuperação de desastres com o Azure Machine Learning.

A Microsoft se esforça para garantir que os serviços do Azure estejam sempre disponíveis. No entanto, podem ocorrer interrupções de serviço não planejadas. Recomendamos ter um plano de recuperação de desastres em vigor para lidar com interrupções de serviço regionais. Neste artigo, vai aprender a:

  • Planeje uma implantação multirregional do Azure Machine Learning e recursos associados.
  • Maximize as chances de recuperar logs, notebooks, imagens docker e outros metadados.
  • Projete para alta disponibilidade da sua solução.
  • Inicie um failover para outra região.

Importante

O Azure Machine Learning não fornece ativação pós-falha automática nem recuperação após desastre. O backup e a restauração de metadados do espaço de trabalho, como o histórico de execução, não estão disponíveis.

Caso você tenha excluído acidentalmente seu espaço de trabalho ou componentes correspondentes, este artigo também fornece opções de recuperação atualmente suportadas.

Compreender os serviços do Azure para o Azure Machine Learning

O Azure Machine Learning depende de vários serviços do Azure. Alguns desses serviços são provisionados na sua assinatura. Você é responsável pela configuração de alta disponibilidade desses serviços. Outros serviços são criados em uma assinatura da Microsoft e são gerenciados pela Microsoft.

Os serviços do Azure incluem:

  • Infraestrutura do Azure Machine Learning: um ambiente gerenciado pela Microsoft para o espaço de trabalho do Azure Machine Learning.

  • Recursos associados: recursos provisionados em sua assinatura durante a criação do espaço de trabalho do Azure Machine Learning. Esses recursos incluem o Armazenamento do Azure, o Azure Key Vault, o Azure Container Registry e o Application Insights.

    • O armazenamento padrão tem dados como modelo, dados de log de treinamento e referências a ativos de dados.
    • O Cofre de Chaves tem credenciais para o Armazenamento do Azure, o Registro de Contêiner e armazenamentos de dados.
    • O Container Registry tem uma imagem do Docker para ambientes de treinamento e inferência.
    • O Application Insights destina-se a monitorizar o Azure Machine Learning.
  • Recursos de computação: recursos criados após a implantação do espaço de trabalho. Por exemplo, você pode criar uma instância de computação ou cluster de computação para treinar um modelo de Aprendizado de Máquina.

    • Instância de computação e cluster de computação: ambientes de desenvolvimento de modelo gerenciados pela Microsoft.
    • Outros recursos: recursos de computação da Microsoft que você pode anexar ao Azure Machine Learning, como o Serviço Kubernetes do Azure (AKS), o Azure Databricks, as Instâncias de Contêiner do Azure e o Azure HDInsight. Você é responsável por definir as configurações de alta disponibilidade para esses recursos.
  • Outros armazenamentos de dados: o Azure Machine Learning pode montar outros armazenamentos de dados, como o Armazenamento do Azure e o Armazenamento do Azure Data Lake para dados de treinamento. Esses armazenamentos de dados são provisionados em sua assinatura. Você é responsável por definir suas configurações de alta disponibilidade. Para ver outras opções de armazenamento de dados, consulte Criar armazenamentos de dados.

A tabela a seguir mostra os serviços do Azure são gerenciados pela Microsoft e que são gerenciados por você. Ele também indica os serviços que estão altamente disponíveis por padrão.

Serviço Gerido por Alta disponibilidade por padrão
Infraestrutura do Azure Machine Learning Microsoft
Recursos associados
Armazenamento do Azure O utilizador
Key Vault O utilizador
Container Registry O utilizador
Application Insights O utilizador ND
Recursos computacionais
Instância de computação Microsoft
Cluster de cálculo Microsoft
Outros recursos de computação, como AKS,
Azure Databricks, Instâncias de Contêiner, HDInsight
O utilizador
Outros armazenamentos de dados, como Armazenamento do Azure, Banco de Dados SQL,
Banco de Dados do Azure para PostgreSQL, Banco de Dados do Azure para MySQL,
Sistema de Arquivos do Azure Databricks
O utilizador

O restante deste artigo descreve as ações que você precisa tomar para tornar cada um desses serviços altamente disponível.

Planejar a implantação multirregional

Uma implantação multirregional depende da criação do Azure Machine Learning e de outros recursos (infraestrutura) em duas regiões do Azure. Se ocorrer uma interrupção regional, você pode alternar para a outra região. Ao planejar onde implantar seus recursos, considere:

  • Disponibilidade regional: Se possível, use uma região na mesma área geográfica, não necessariamente a mais próxima. Para verificar a disponibilidade regional do Azure Machine Learning, consulte Produtos do Azure por região.

  • Regiões emparelhadas do Azure: as regiões emparelhadas coordenam as atualizações da plataforma e priorizam os esforços de recuperação onde necessário. No entanto, nem todas as regiões suportam regiões emparelhadas. Para obter mais informações, consulte Regiões emparelhadas do Azure.

  • Disponibilidade do serviço: decida se os recursos usados pela sua solução devem ser quentes/quentes, quentes/quentes ou quentes/frios.

    • Quente/quente: Ambas as regiões estão ativas ao mesmo tempo, com uma região pronta para começar a ser usada imediatamente.
    • Quente/quente: a região primária ativa, a região secundária tem recursos críticos (por exemplo, modelos implantados) prontos para começar. Os recursos não críticos precisariam ser implantados manualmente na região secundária.
    • Quente/frio: a região primária ativa, a região secundária tem o Azure Machine Learning e outros recursos implantados, juntamente com os dados necessários. Recursos como modelos, implantações de modelos ou pipelines precisariam ser implantados manualmente.

Gorjeta

Dependendo dos seus requisitos de negócios, você pode decidir tratar diferentes recursos do Azure Machine Learning de forma diferente. Por exemplo, você pode querer usar hot/hot para modelos implantados (inferência) e hot/cold para experimentos (treinamento).

O Azure Machine Learning baseia-se em outros serviços. Alguns serviços podem ser configurados para replicar para outras regiões. Outros você deve criar manualmente em várias regiões. A tabela a seguir fornece uma lista de serviços, quem é responsável pela replicação e uma visão geral da configuração:

Serviço do Azure Geo-replicado por Configuração
Espaço de trabalho de Aprendizado de Máquina O utilizador Crie um espaço de trabalho nas regiões selecionadas.
Computação de Machine Learning O utilizador Crie os recursos de computação nas regiões selecionadas. Para recursos de computação que podem ser dimensionados dinamicamente, certifique-se de que ambas as regiões forneçam cota de computação suficiente para suas necessidades.
Registro de aprendizado de máquina O utilizador Crie o registro em várias regiões.
Key Vault Microsoft Use a mesma instância do Cofre da Chave com o espaço de trabalho e os recursos do Azure Machine Learning em ambas as regiões. O Cofre da Chave realiza automaticamente failover para uma região secundária. Para obter mais informações, consulte Disponibilidade e redundância do Azure Key Vault.
Container Registry Microsoft Configure a instância do Registro de Contêiner para replicar geograficamente registros para a região emparelhada do Azure Machine Learning. Use a mesma instância para ambas as instâncias de espaço de trabalho. Para obter mais informações, consulte Replicação geográfica no Registro de Contêiner do Azure.
Conta de Armazenamento O utilizador O Azure Machine Learning não suporta failover de conta de armazenamento padrão usando armazenamento com redundância geográfica (GRS), armazenamento com redundância de zona geográfica (GZRS), armazenamento com redundância geográfica de acesso de leitura (RA-GRS) ou armazenamento com redundância de zona geográfica de acesso de leitura (RA-GZRS). Crie uma conta de armazenamento separada para o armazenamento padrão de cada espaço de trabalho.
Crie contas ou serviços de armazenamento separados para outro armazenamento de dados. Para obter mais informações, veja Redundância do Armazenamento do Microsoft Azure.
Application Insights O utilizador Crie o Application Insights para o espaço de trabalho em ambas as regiões. Para ajustar o período de retenção de dados e os detalhes, consulte Coleta, retenção e armazenamento de dados no Application Insights.

Para permitir a recuperação e a reinicialização rápidas na região secundária, recomendamos as seguintes práticas de desenvolvimento:

  • Use modelos do Azure Resource Manager. Os modelos são "infraestrutura como código" e permitem que você implante rapidamente serviços em ambas as regiões.
  • Para evitar desvios entre as duas regiões, atualize seus pipelines contínuos de integração e implantação para implantar em ambas as regiões.
  • Ao automatizar implantações, inclua a configuração de recursos de computação anexados ao espaço de trabalho, como o Serviço Kubernetes do Azure.
  • Crie atribuições de função para usuários em ambas as regiões.
  • Crie recursos de rede, como Redes Virtuais do Azure e pontos de extremidade privados para ambas as regiões. Certifique-se de que os usuários tenham acesso a ambos os ambientes de rede. Por exemplo, configurações de VPN e DNS para ambas as redes virtuais.

Serviços de computação e dados

Dependendo das suas necessidades, poderá ter mais serviços de computação ou de dados que são utilizados pelo Azure Machine Learning. Por exemplo, você pode usar os Serviços Kubernetes do Azure ou o Banco de Dados SQL do Azure. Use as informações a seguir para saber como configurar esses serviços para alta disponibilidade.

Recursos computacionais

Serviços de dados

Gorjeta

Se você fornecer sua própria chave gerenciada pelo cliente para implantar um espaço de trabalho do Azure Machine Learning, o Azure Cosmos DB também será provisionado em sua assinatura. Nesse caso, você é responsável por definir suas configurações de alta disponibilidade. Consulte Alta disponibilidade com o Azure Cosmos DB.

Criar para elevada disponibilidade

Zonas de disponibilidade

Determinados serviços do Azure suportam zonas de disponibilidade. Para regiões que oferecem suporte a zonas de disponibilidade, se uma zona ficar inativa, a carga de trabalho será pausada e os dados deverão ser salvos. No entanto, os dados não estão disponíveis para atualização até que a zona esteja online novamente.

Para obter mais informações, consulte Serviço de zonas de disponibilidade e suporte regional.

Implante componentes críticos em várias regiões

Determine o nível de continuidade de negócios que você está almejando. O nível pode diferir entre os componentes da sua solução. Por exemplo, você pode querer ter uma configuração quente/quente para pipelines de produção ou implantações de modelo e quente/frio para experimentação.

Gerenciar dados de treinamento em armazenamento isolado

Ao manter o armazenamento de dados isolado do armazenamento padrão que o espaço de trabalho usa para logs, você pode:

  • Anexe as mesmas instâncias de armazenamento de dados aos espaços de trabalho primário e secundário.
  • Faça uso da replicação geográfica para contas de armazenamento de dados e maximize seu tempo de atividade.

Gerencie ativos de aprendizado de máquina como código

Nota

O backup e a restauração de metadados do espaço de trabalho, como histórico de execução, modelos e ambientes, não estão disponíveis. Especificar ativos e configurações como código usando especificações YAML ajudará você a recriar ativos em espaços de trabalho em caso de desastre.

Os trabalhos no Azure Machine Learning são definidos por uma especificação de trabalho. Essa especificação inclui dependências em artefatos de entrada que são gerenciados em um nível de instância de espaço de trabalho, incluindo ambientes e computação. Para envio e implantações de trabalhos em várias regiões, recomendamos as seguintes práticas:

  • Gerencie sua base de código localmente, apoiada por um repositório Git.

    • Exporte blocos de anotações importantes do estúdio do Azure Machine Learning.
    • Pipelines de exportação criados em estúdio como código.
  • Gerencie configurações como código.

    • Evite referências codificadas ao espaço de trabalho. Em vez disso, configure uma referência à instância do espaço de trabalho usando um arquivo de configuração e use MLClient.from_config() para inicializar o espaço de trabalho.
    • Use um Dockerfile se você usar imagens personalizadas do Docker.

Iniciar uma ativação pós-falha

Continuar o trabalho no espaço de trabalho de failover

Quando o espaço de trabalho principal ficar indisponível, você poderá alternar o espaço de trabalho secundário para continuar a experimentação e o desenvolvimento. O Azure Machine Learning não envia trabalhos automaticamente para o espaço de trabalho secundário se houver uma interrupção. Atualize a configuração do código para apontar para o novo recurso de espaço de trabalho. Recomendamos evitar referências de espaço de trabalho de codificação. Em vez disso, use um arquivo de configuração de espaço de trabalho para minimizar as etapas manuais do usuário ao alterar espaços de trabalho. Certifique-se também de atualizar qualquer automação, como integração contínua e pipelines de implantação para o novo espaço de trabalho.

O Azure Machine Learning não pode sincronizar ou recuperar artefatos ou metadados entre instâncias de espaço de trabalho. Dependendo da estratégia de implantação do aplicativo, talvez seja necessário mover artefatos ou recriar entradas de experimentação, como ativos de dados, no espaço de trabalho de failover para continuar o envio do trabalho. Caso você tenha configurado seu espaço de trabalho primário e recursos do espaço de trabalho secundário para compartilhar recursos associados com a replicação geográfica habilitada, alguns objetos podem estar diretamente disponíveis para o espaço de trabalho de failover. Por exemplo, se ambos os espaços de trabalho compartilharem as mesmas imagens do docker, armazenamentos de dados configurados e recursos do Cofre de Chaves do Azure. O diagrama a seguir mostra uma configuração em que dois espaços de trabalho compartilham as mesmas imagens (1), datastores (2) e Key Vault (3).

Diagrama de failover entre regiões emparelhadas.

Nota

Os trabalhos em execução quando ocorre uma interrupção de serviço não farão a transição automática para o espaço de trabalho secundário. Também é improvável que os trabalhos sejam retomados e concluídos com êxito no espaço de trabalho principal assim que a interrupção for resolvida. Em vez disso, esses trabalhos devem ser reenviados, seja no espaço de trabalho secundário ou no principal (assim que a interrupção for resolvida).

Movendo artefatos entre espaços de trabalho

Dependendo da sua abordagem de recuperação, talvez seja necessário copiar artefatos entre os espaços de trabalho para continuar seu trabalho. Atualmente, a portabilidade de artefatos entre espaços de trabalho é limitada. Recomendamos o gerenciamento de artefatos como código sempre que possível para que possam ser recriados na instância de failover.

Os seguintes artefatos podem ser exportados e importados entre espaços de trabalho usando a extensão da CLI do Azure para aprendizado de máquina:

Artefacto Exportar Importar
Modelos az ml model download --name {NAME} --version {VERSION} az ml modelo criar
Ambientes 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 ambiente criar
Vagas de Azure Machine Learning az ml job download -n {NAME} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME} az ml job create -f {FILE} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME}
Ativos de dados 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}

Gorjeta

  • As saídas de trabalho são armazenadas na conta de armazenamento padrão associada a um espaço de trabalho. Embora as saídas de trabalho possam ficar inacessíveis a partir da interface do usuário do estúdio no caso de uma interrupção de serviço, você pode acessar diretamente os dados por meio da conta de armazenamento. Para obter mais informações sobre como trabalhar com dados armazenados em blobs, consulte Criar, baixar e listar blobs com a CLI do Azure.

Opções de recuperação

Eliminação de espaços de trabalho

Se eliminou acidentalmente o seu espaço de trabalho, talvez seja possível recuperá-lo. Para ver as etapas de recuperação, consulte Recuperar dados do espaço de trabalho após uma eliminação acidental com a eliminação recuperável.

Mesmo que seu espaço de trabalho não possa ser recuperado, você ainda poderá recuperar seus blocos de anotações do recurso de armazenamento do Azure associado ao espaço de trabalho seguindo estas etapas:

  • No portal do Azure, navegue até a conta de armazenamento que foi vinculada ao espaço de trabalho excluído do Azure Machine Learning.
  • Na secção Armazenamento de dados à esquerda, selecione Partilhas de arquivos.
  • Os seus blocos de anotações estão localizados na partilha de arquivos com o nome que contém a ID do espaço de trabalho.

Próximos passos

Para saber mais sobre implantações de infraestrutura repetíveis com o Azure Machine Learning, use um modelo do Azure Resource Manager.