Failover para a Continuidade dos Negócios e Recuperação de Desastres

Para maximizar o 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 empenha em garantir que os serviços do Azure estejam sempre disponíveis. No entanto, podem ocorrer interrupções imprevistas do serviço. É recomendável ter um plano de recuperação de desastres em vigor para lidar com interrupções de serviço regionais. Neste artigo, você aprenderá como:

  • Planejar uma implantação de várias regiões do Azure Machine Learning e de seus recursos associados.
  • Maximize as chances de recuperar logs, notebooks, imagens do Docker e outros metadados.
  • Elaborar a sua solução pensando em alta disponibilidade.
  • Iniciar um failover para outra região.

Importante

O Azure Machine Learning por si só não fornece failover automático ou recuperação de desastre. O backup e a restauração de metadados do workspace, 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 com suporte disponível no momento.

Entender os serviços do Azure para Azure Machine Learning

O Azure Machine Learning depende de vários serviços do Azure. Alguns desses serviços são provisionados nasua 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 gerenciados pela Microsoft.

Os serviços do Azure incluem:

  • Azure Machine Learning: um ambiente gerenciado pela Microsoft para o workspace Azure Machine Learning.

  • Recursos associados: recursos provisionados em sua assinatura durante a criação do workspace Azure Machine Learning. Esses recursos incluem Armazenamento do Azure, Azure Key Vault, Registro de Contêiner do Azure e Application Insights.

    • O armazenamento padrão possui dados como modelo, dados de log de treinamento e referências a ativos de dados.
    • Key Vault tem credenciais para armazenamento do Azure, registro de contêiner e armazenamentos de dados.
    • O registro de contêiner tem uma imagem do Docker para ambientes de treinamento e inferência.
    • O Application Insights serve para monitorar o Azure Machine Learning.
  • Recursos de computação: recursos que você cria após a implantação do espaço de trabalho. Por exemplo, você pode criar uma instância de computação ou um cluster de cálculo para treinar um modelo de Machine Learning.

    • Cluster de computação e instância de computação: ambientes de desenvolvimento de modelo gerenciados pela Microsoft.
    • Outros recursos: recursos de computação da Microsoft que você pode anexar a Azure Machine Learning, como o AKS (serviço kubernetes do Azure), Azure Databricks, instâncias de contêiner do Azure e Azure HDInsight. Você é responsável por definir 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 Microsoft Azure e o Azure Data Lake Storage, 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, veja Criar armazenamentos de dados.

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

Serviço Gerenciado por Alta disponibilidade por padrão
Infraestrutura do Azure Machine Learning Microsoft
Recursos associados
Armazenamento do Azure Você
Key Vault Você
Registro de Contêiner Você
Application Insights Você NA
Recursos de computação
Instância de computação Microsoft
Cluster de computação Microsoft
Outros recursos de computação, como AKS,
Azure Databricks, instâncias de contêiner, HDInsight
Você
Outros armazenamentos de dados, como o Armazenamento do Microsoft Azure, o Banco de Dados SQL,
Banco de dados do Azure para PostgreSQL, banco de dados do Azure para MySQL,
Sistema de arquivos do Azure Databricks
Você

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

Planejar para implantação em várias regiões

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ê poderá alternar para a outra região. Ao planejar onde implantar seus recursos, considere:

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

  • Regiões emparelhadas do Azure: as regiões emparelhadas coordenam atualizações de plataforma e priorizam os esforços de recuperação conforme 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 na sua solução devem ser hot/hot, hot/warm ou hot/cold.

    • Hot/hot: ambas as regiões estão ativas ao mesmo tempo, e uma delas está pronta para uso imediato.
    • Hot/warm: região primária ativa, região secundária tem recursos críticos (por exemplo, modelos implantados) prontos para iniciar. Os recursos não críticos precisariam ser implantados manualmente na região secundária.
    • Hot/cold: região primária ativa, região secundária tem o Azure Machine Learning e outros recursos já implantados, assim como os dados necessários. Recursos como modelos, implantações de modelo ou pipelines precisariam ser implantados manualmente.

Dica

A depender dos requisitos de seu negócio, você pode decidir tratar diferentes recursos do Azure Machine Learning de maneira diferente. Por exemplo, talvez você queira usar o modelo 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 precisam ser criados 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 Replicado geograficamente por Configuração
Workspace do Machine Learning Você Crie um espaço de trabalho nas regiões selecionadas.
Computação do Machine Learning Você Crie os recursos de computação nas regiões selecionadas. Para recursos de computação que podem ser dimensionados dinamicamente, verifique se ambas as regiões fornecem cota de computação suficiente para suas necessidades.
Registro de Azure Machine Learning Você Crie o registro em diversas regiões.
Key Vault Microsoft Use a mesma instância de Key Vault com o espaço de trabalho e os recursos do Azure Machine Learning em ambas as regiões. O Key Vault faz failover automático para uma região secundária. Para obter mais informações, confira Disponibilidade e redundância do Azure Key Vault.
Registro de Contêiner 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 mais informações, confira Replicação geográfica no Registro de Contêiner do Azure.
Conta de Armazenamento Você 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 com acesso de leitura (RA-GRS) ou acesso de leitura armazenamento redundante de zona geográfica (RA-GZRS). Crie uma conta de armazenamento separada para o armazenamento padrão de cada espaço de trabalho.
Crie contas de armazenamento ou serviços separadas no caso de outros armazenamento de dados. Para mais informações, confira Redundância do Armazenamento do Microsoft Azure.
Application Insights Você 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 de dados, retenção e armazenamento em Application insights.

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

  • Use o modelo do Azure Resource Manager. Os modelos são "infraestrutura como código", e permitem que você implante rapidamente os serviços em ambas as regiões.
  • Para evitar o descompasso de dados entre as duas regiões, atualize os pipelines de implantação e de integração contínua ao 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 de Kubernetes do Azure.
  • Crie atribuições de função para usuários em ambas as regiões.
  • Crie recursos de rede como as Redes Virtuais do Microsoft Azure e pontos de extremidade privados em 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 utilizados pelo Azure Machine Learning. Por exemplo, você pode usar os Serviços Azure Kubernetes ou o Banco de Dados SQL do Azure. Saiba como configurar esses serviços para alta disponibilidade com base nas informações a seguir.

Recursos de computação

Serviços de Dados

Dica

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

Projetando para a alta disponibilidade

Zonas de disponibilidade

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

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

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

Determine o nível de continuidade de negócios que você deseja. O nível pode diferir entre os componentes da sua solução. Por exemplo, talvez você queira 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 no armazenamento isolado

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

  • Anexar as mesmas instâncias de armazenamento como armazenamentos de dados nos espaços de trabalho primários e secundários.
  • Usar a replicação geográfica para contas de armazenamento de dados e maximizar seu tempo de atividade.

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

Observação

O backup e a restauração de metadados do workspace, 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 workspaces 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 no nível da instância do espaço de trabalho, incluindo ambientes e computação. Para envios e implantações de trabalho em várias regiões, recomendamos as seguintes práticas:

  • Gerencie sua base de código localmente, com a garantia de um repositório Git.

    • Exporte notebooks importantes do Estúdio do Azure Machine Learning.
    • Exporte pipelines criados no estúdio como código.
  • Gerencie configurações como código.

    • Evite referências codificadas no espaço de trabalho. Em vez disso, configure uma referência para a 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ê estiver usando imagens personalizadas do Docker.

Iniciar um failover

Continuar o trabalho no espaço de trabalho de failover

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

Azure Machine Learning não pode sincronizar ou recuperar artefactos ou metadados entre instâncias de espaço de trabalho. Dependendo da sua estratégia de implantação de aplicações, poderá ter de mover artefactos ou recriar entradas de experimentação, como ativos de dados, no espaço de trabalho de failover para continuar a submissão do trabalho. Caso você tenha configurado o espaço de trabalho primário e os recursos de espaço de trabalho secundário para compartilhar recursos associados com a replicação geográfica habilitada, alguns objetos podem estar diretamente disponíveis no espaço de trabalho de failover. Por exemplo, se ambos os espaços de trabalho compartilharem as mesmas imagens do Docker, os repositórios de dados configurados e os recursos do Azure Key Vault. O diagrama a seguir mostra uma configuração em que dois espaços de trabalho compartilham as mesmas imagens (1), repositórios de dados (2) e Key Vault (3).

Diagrama de failover entre regiões emparelhadas.

Observação

Qualquer trabalho que estiver em execução quando ocorrer uma interrupção do serviço não será transferido automaticamente 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 primário quando a interrupção for resolvida. Em vez disso, esses trabalhos devem ser reenviados, seja no espaço de trabalho secundário, seja no primário (assim que a interrupção for resolvida).

Mover artefatos entre espaços de trabalho

Dependendo da sua abordagem de recuperação, poderá ser necessário copiar artefactos entre os espaços de trabalho para continuar o seu trabalho. Atualmente, a portabilidade dos artefatos entre espaços de trabalho é limitada. É recomendável gerenciar artefatos como código sempre que possível, para que eles 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 do CLI do Azure para aprendizado de máquina:

Artefato Exportação Importar
Modelos download do modelo az ml --name {NAME} --version {VERSION} criação de modelo ml
Ambientes compartilhamento de ambiente az ml --name meu-ambiente --version {VERSION} --resource-group {RESOURCE_GROUP} --workspace-name {WORKSPACE} --share-with-name {NEW_NAME_IN_REGISTRY} --share-with-version { NEW_VERSION_IN_REGISTRY} --nome do registro {REGISTRY_NAME} ambiente az ml criar
Trabalhos do Azure Machine Learning download de trabalho az ml -n {NAME} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME} criação de trabalho az ml -f {FILE} -g {RESOURCE_GROUP} -w {WORKSPACE_NAME}
Ativos de dados compartilhamento de dados az ml --nome {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} --nome do registro {REGISTRY_NAME} criação de dados az ml -f {FILE} -g {RESOURCE_GROUP} --nome do registro {REGISTRY_NAME}

Dica

  • 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 se tornar inacessíveis na interface do usuário do estúdio no caso de uma interrupção do serviço, você pode acessar diretamente os dados por meio da conta de armazenamento. Para mais informações sobre como trabalhar com dados armazenados em blobs, consulte Criar, baixar e listar blobs com o CLI do Azure.

Opções de recuperação

Exclusão do Workspace

Se você acidentalmente excluiu seu espaço de trabalho, talvez seja possível recuperá-lo. Para ver as etapas de recuperação, consulte Recuperar os dados do espaço de trabalho após a exclusão acidental com a exclusão temporária.

Mesmo que o seu espaço de trabalho não possa ser recuperado, ainda poderá recuperar os seus cadernos do recurso de armazenamento do Azure associado ao espaço de trabalho seguindo essas etapas:

  • No portal do Azure, navegue até a conta de armazenamento vinculada ao espaço de trabalho do Azure Machine Learning excluído.
  • Na seção armazenamento de dados à esquerda, clique em Compartilhamentos de arquivos.
  • Seus notebooks estão localizados no compartilhamento de arquivos com o nome que contém a ID do espaço de trabalho.

Próximas etapas

Para saber mais sobre implantações de infraestrutura repetíveis com o Azure Machine Learning, use um modelo Bicep ou modelo Terraform.