Failover para continuidade de 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. Tenha um plano de recuperação de desastre em vigor para lidar com interrupções de serviço regionais. Neste artigo, você aprenderá como:

  • Planeje uma implantação multirregional do Azure Machine Learning e dos recursos associados.
  • Maximizar 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 próprio Azure Machine Learning não oferece failover automático ou recuperação de desastres. O backup e a restauração de metadados do workspace, como o histórico de execuções, não estão disponíveis.

Se você excluiu acidentalmente seu espaço de trabalho ou os componentes associados, este artigo também apresenta as opções de recuperação atualmente compatíveis.

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:

  • Infraestrutura do Azure Machine Learning: um ambiente gerenciado pela Microsoft para o workspace do 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 de Azure são gerenciados por Microsoft e que 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ê
Cofre de Chaves 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: a região primária está ativa, e a região secundária possui recursos críticos (por exemplo, modelos implantados) prontos para entrar em operação. 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

Dependendo dos 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 em produção (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
Espaço de trabalho de aprendizado de máquina Você Crie um espaço de trabalho nas regiões selecionadas.
Capacidade computacional para 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 Machine Learning Você Crie o registro em diversas regiões.
Cofre de Chaves 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 muda automaticamente 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 as duas instâncias do 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 oferece suporte a failover da conta de armazenamento padrão usando armazenamento com redundância geográfica (GRS), armazenamento com redundância geográfica de zona (GZRS), armazenamento com redundância geográfica com acesso de leitura (RA-GRS) ou armazenamento com redundância geográfica de zona com acesso de leitura (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 divergência entre as duas regiões, atualize seus pipelines de integração contínua e implantação para implantar nas duas 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.

Projetar para 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 mais informações, confira Suporte de serviço da zona de disponibilidade.

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:

  • Anexe as mesmas instâncias de armazenamento como datastores aos espaços de trabalho primário e secundário.
  • Use a georreplicação nas contas de armazenamento de dados e maximize o 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 ajuda 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 Studio 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 trabalhando 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. Recomendamos evitar codificar manualmente referências ao 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 integração contínua e implantação, para o 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 estratégia de implantação do seu aplicativo, talvez seja necessário mover artefatos ou recriar insumos de experimentação, como ativos de dados, no espaço de trabalho de failover para continuar enviando trabalhos. Caso você tenha configurado seu espaço de trabalho primário e os recursos do espaço de trabalho secundário para compartilhar recursos associados com a geo-replicação habilitada, alguns objetos poderão estar diretamente disponíveis no espaço de trabalho de contingência. 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

Todos os trabalhos em execução quando ocorre uma interrupção de serviço não serão automaticamente transferidos para o workspace secundário. Também é improvável que os trabalhos sejam retomados e concluídos com êxito no espaço de trabalho primário depois que 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} az ml model create
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 environment create
Trabalhos do 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}

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 do trabalho possam ficar inacessíveis na interface do usuário do Studio em caso de indisponibilidade do serviço, você pode acessar os dados diretamente 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 cujo nome contém o identificador do seu 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.