Falha na continuidade do negócio e recuperação de desastres

Para maximizar o seu tempo de validade, planeie com antecedência para manter a continuidade do negócio e prepare-se para a recuperação de desastres com a Azure Machine Learning.

A Microsoft esforça-se por garantir que os serviços Azure estão sempre disponíveis. No entanto, podem ocorrer interrupções de serviço não planeadas. Recomendamos a realização de um plano de recuperação de desastres para a gestão das interrupções dos serviços regionais. Neste artigo, vai aprender a:

  • Plano para uma implantação multi-regional de Azure Machine Learning e recursos associados.
  • Design para alta disponibilidade da sua solução.
  • Inicie uma falha para outra região.

Nota

A Azure Machine Learning em si não fornece falha automática ou recuperação de desastres.

Compreenda os serviços da Azure para a Azure Machine Learning

A Azure Machine Learning depende de vários serviços Azure e tem várias camadas. Alguns destes serviços são prestados na sua subscrição (cliente). Você é responsável pela configuração de alta disponibilidade destes serviços. Outros serviços são criados numa subscrição da Microsoft e geridos pela Microsoft.

Os serviços Azure incluem:

  • Azure Machine Learning infrastructure: Um ambiente gerido pela Microsoft para o espaço de trabalho Azure Machine Learning.

  • Recursos associados: Recursos a provisionados na sua subscrição durante a criação do espaço de trabalho Azure Machine Learning. Estes recursos incluem armazenamento Azure, Cofre de Chaves Azure, Registo de Contentores Azure e Insights de Aplicação. Você é responsável por configurar configurações de alta disponibilidade para estes recursos.

    • O armazenamento predefinido tem dados como modelo, dados de registo de treino e conjunto de dados.
    • O Key Vault tem credenciais para armazenamento de Azure, registo de contentores e lojas de dados.
    • O Registo de Contentores tem uma imagem estival para ambientes de treino e inferenculação.
    • Application Insights destina-se a monitorizar a aprendizagem automática Azure.
  • Recursos de cálculo: Recursos que cria após a implantação do espaço de trabalho. Por exemplo, pode criar um conjunto de computação ou de cálculo para treinar um modelo de Machine Learning.

    • Caso de cálculo e cluster de computação: ambientes de desenvolvimento de modelos geridos pela Microsoft.
    • Outros recursos: Recursos de computação da Microsoft que pode anexar à Azure Machine Learning, tais como Azure Kubernetes Service (AKS), Azure Databricks, Azure Container Instances e Azure HDInsight. Você é responsável por configurar configurações de alta disponibilidade para estes recursos.
  • Outras lojas de dados: Azure Machine Learning pode montar outras lojas de dados, tais como Azure Storage, Azure Data Lake Storage e Azure SQL Database para dados de formação. Estas lojas de dados são advisionadas dentro da sua subscrição. É responsável por configurar as suas definições de alta disponibilidade.

A tabela seguinte mostra que os serviços Azure são geridos pela Microsoft e que são geridos por si. 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 de aprendizagem automática Azure Microsoft
Recursos associados
Armazenamento do Azure O utilizador
Key Vault O utilizador
Container Registry O utilizador
Application Insights O utilizador ND
Recursos de cálculo
Instância de computação Microsoft
Cluster de cálculo Microsoft
Outros recursos computacional, tais como AKS,
Azure Databricks, Container Instances, HDInsight
O utilizador
Outras lojas de dados, tais como Azure Storage, SQL Database,
Base de Dados Azure para PostgreSQL, Base de Dados Azure para MySQL,
Sistema de ficheiros Azure Databricks
O utilizador

O resto deste artigo descreve as ações que precisa de tomar para tornar cada um destes serviços altamente disponível.

Plano de implantação multi-regional

Uma implantação multi-regional baseia-se na criação de Azure Machine Learning e outros recursos (infraestruturas) em duas regiões do Azure. Se ocorrer uma paralisação regional, pode mudar para a outra região. Ao planear onde utilizar os seus recursos, considere:

  • Disponibilidade regional: Utilize regiões próximas dos seus utilizadores. Para verificar a disponibilidade regional para a Azure Machine Learning, consulte os produtos Azure por região.

  • Regiões emparelhadas Azure: As regiões emparelhadas coordenam as atualizações das plataformas e priorizam os esforços de recuperação sempre que necessário. Para mais informações, consulte as regiões emparelhadas Azure.

  • Disponibilidade do serviço: Decida se os recursos utilizados 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 a começar imediatamente a ser utilizada.
    • Quente/quente: 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 teriam de ser utilizados manualmente na região secundária.
    • Quente/frio: Região primária ativa, região secundária tem Azure Machine Learning e outros recursos implantados, juntamente com os dados necessários. Recursos como modelos, implantações de modelos ou oleodutos teriam de ser implantados manualmente.

Dica

Dependendo dos requisitos do seu negócio, pode decidir tratar diferentes recursos de Aprendizagem automática Azure de forma diferente. Por exemplo, pode querer utilizar modelos quentes/quentes para modelos implantados (inferência) e quente/frio para experiências (treino).

A Azure Machine Learning baseia-se em outros serviços. Alguns serviços podem ser configurados para se replicarem noutras regiões. Outros deve criar manualmente em várias regiões. A tabela a seguir fornece uma lista de serviços, responsáveis 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 aprendizagem automática O utilizador Criar um espaço de trabalho nas regiões selecionadas.
Cálculo de Aprendizagem automática O utilizador Crie os recursos computacional nas regiões selecionadas. Para obter recursos compute que possam escalar dinamicamente, certifique-se de que ambas as regiões fornecem quota de cálculo suficiente para as suas necessidades.
Key Vault Microsoft Use a mesma instância key vault com o espaço de trabalho de aprendizagem da máquina Azure e recursos em ambas as regiões. O Cofre-Chave falha automaticamente numa região secundária. Para mais informações, consulte a disponibilidade e redundância do Azure Key Vault.
Container Registry Microsoft Configure a instância do registo do contentor para geo-replicar registos para a região emparelhada para a aprendizagem automática Azure. Use o mesmo exemplo em ambas as instâncias do espaço de trabalho. Para obter mais informações, consulte a geo-replicação no Registo de Contentores Azure.
Conta de Armazenamento O utilizador A Azure Machine Learning não suporta o failover da conta de armazenamento padrão utilizando armazenamento geo-redundante (GRS), armazenamento redundante de geo-zona (GZRS), armazenamento geo-redundante de acesso à leitura (RA-GRS) ou armazenamento de geo-zona-redundante de acesso à leitura (RA-GZRS). Crie uma conta de armazenamento separada para o armazenamento predefinido de cada espaço de trabalho.
Criar contas ou serviços de armazenamento separados para outros armazenamentos de dados. Para obter mais informações, veja Redundância do Armazenamento do Microsoft Azure.
Application Insights O utilizador Criar Insights de Aplicação para o espaço de trabalho em ambas as regiões. Para ajustar o período de retenção de dados e detalhes, consulte a recolha, retenção e armazenamento de dados em Insights de Aplicação.

Para permitir uma rápida recuperação e reinício na região secundária, recomendamos as seguintes práticas de desenvolvimento:

  • Utilize modelos de Gestor de Recursos Azure. Os modelos são "infra-estrutura-como código", e permitem-lhe implementar rapidamente serviços em ambas as regiões.
  • Para evitar a deriva entre as duas regiões, atualize os seus gasodutos de integração e implantação contínua para implantar em ambas as regiões.
  • Ao automatizar implementações, inclua a configuração de recursos computacional anexados ao espaço de trabalho, como o Serviço Azure Kubernetes.
  • Criar atribuições de funções para utilizadores em ambas as regiões.
  • Crie recursos de rede como redes virtuais Azure e pontos finais privados para ambas as regiões. Certifique-se de que os utilizadores têm acesso a ambos os ambientes de rede. Por exemplo, configurações 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 dados que são utilizados pela Azure Machine Learning. Por exemplo, pode utilizar os Serviços Azure Kubernetes ou a Base de Dados Azure SQL. Utilize as seguintes informações para aprender a configurar estes serviços para uma elevada disponibilidade.

Recursos de cálculo

Serviços de dados

Dica

Se fornecer a sua própria chave gerida pelo cliente para implementar um espaço de trabalho Azure Machine Learning, a Azure Cosmos DB também está alojada dentro da sua subscrição. Nesse caso, é responsável por configurar as suas definições de alta disponibilidade. Ver Alta disponibilidade com Azure Cosmos DB.

Criar para elevada disponibilidade

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

Determine o nível de continuidade do negócio que pretende. O nível pode diferir entre os componentes da sua solução. Por exemplo, pode querer ter uma configuração quente/quente para gasodutos de produção ou implantações de modelos, e quente/frio para experimentação.

Gerir dados de formação sobre armazenamento isolado

Mantendo o armazenamento de dados isolado do armazenamento predefinido que o espaço de trabalho utiliza para registos, pode:

  • Anexar as mesmas instâncias de armazenamento que as datas-lojas aos espaços de trabalho primários e secundários.
  • Faça uso da geo-replicação para contas de armazenamento de dados e maximize o seu tempo de utilização.

Gerir artefactos de aprendizagem automática como código

As execuções em Azure Machine Learning são definidas por uma especificação de execução. Esta especificação inclui dependências de artefactos de entrada que são geridos a nível de instâncias de espaço de trabalho, incluindo ambientes, conjuntos de dados e cálculo. Para submissões e implantações de várias regiões, recomendamos as seguintes práticas:

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

    • Exportar cadernos importantes do estúdio Azure Machine Learning.

    • Oleodutos de exportação da autoria em estúdio como código.

      Nota

      Os gasodutos criados no designer de estúdio não podem atualmente ser exportados como código.

  • Gerir as configurações como código.

Iniciar uma ativação pós-falha

Continue o trabalho no espaço de trabalho de failover

Quando o seu espaço de trabalho primário ficar indisponível, pode mudar o espaço de trabalho secundário para continuar a experimentação e desenvolvimento. A Azure Machine Learning não submete automaticamente corridas para o espaço de trabalho secundário se houver uma paragem. Atualize a configuração do código para indicar o novo recurso do espaço de trabalho. Recomendamos evitar referências de espaço de trabalho. Em vez disso, utilize um ficheiro config do espaço de trabalho para minimizar os passos manuais do utilizador ao alterar espaços de trabalho. Certifique-se de atualizar também qualquer automatização, como a integração contínua e os oleodutos de implantação para o novo espaço de trabalho.

A 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 implementação da aplicação, poderá ter de mover artefactos ou recriar entradas de experimentação, tais como objetos de conjunto de dados no espaço de trabalho de failover, a fim de continuar a executar a submissão. Caso tenha configurado o seu espaço de trabalho primário e recursos secundários do espaço de trabalho para partilhar recursos associados com a geo-replicação ativada, alguns objetos podem estar diretamente disponíveis para o espaço de trabalho de failover. Por exemplo, se ambos os espaços de trabalho partilharem as mesmas imagens de estivadores, lojas de dados configuradas e recursos Azure Key Vault. O diagrama seguinte mostra uma configuração onde dois espaços de trabalho partilham as mesmas imagens (1), datastores (2) e Key Vault (3).

Configuração de recursos de referência

Nota

Quaisquer trabalhos que estejam a decorrer quando ocorrem uma falha de serviço não irão transitar automaticamente para o espaço de trabalho secundário. Também é pouco provável que os postos de trabalho retomem e terminem com sucesso no espaço de trabalho primário uma vez que a paralisação seja resolvida. Em vez disso, estes postos de trabalho devem ser reenviados, quer no espaço de trabalho secundário, quer nas primárias (uma vez resolvida a paralisação).

Artefactos em movimento entre espaços de trabalho

Dependendo da sua abordagem de recuperação, poderá necessitar de copiar artefactos como conjunto de dados e objetos de modelo entre os espaços de trabalho para continuar o seu trabalho. Atualmente, a portabilidade dos artefactos entre espaços de trabalho é limitada. Recomendamos a gestão dos artefactos como código, sempre que possível, para que possam ser recriados no caso de falha.

Os seguintes artefactos podem ser exportados e importados entre espaços de trabalho utilizando a extensão Azure CLI para machine learning:

Artefacto Exportar Importar
Modelos az ml modelo descarregar --model-id {ID} --target-dir {PATH} az ml model register (name {NAME} --path {PATH}
Ambientes az ml ambiente download -n {NAME} -d {PATH} az ml registo ambiente -d {PATH}
Gasodutos Azure ML (gerados por código) az ml pipeline get --path {PATH} pipeline az ml criar --nome {NAME} -y {PATH}

Dica

  • Os conjuntos de dados registados não podem ser descarregados ou movidos. Isto inclui conjuntos de dados gerados por Azure ML, tais como conjuntos de dados intermédios de pipeline. No entanto, conjuntos de dados que se referem a uma localização de ficheiros partilhados que ambos os espaços de trabalho podem aceder, ou onde o armazenamento de dados subjacente é replicado, podem ser registados em ambos os espaços de trabalho. Utilize o registo de conjuntos de dados az ml para registar um conjunto de dados.

  • As saídas de execução são armazenadas na conta de armazenamento predefinida associada a um espaço de trabalho. Embora as saídas de execução possam tornar-se inacessíveis a partir da UI do estúdio em caso de uma falha de serviço, você pode aceder diretamente aos dados através da conta de armazenamento. Para obter mais informações sobre o trabalho com os dados armazenados em bolhas, consulte Criar, descarregar e listar bolhas com Azure CLI.

Passos seguintes

Para implementar a Azure Machine Learning com recursos associados às suas definições de alta disponibilidade, utilize um modelo de Gestor de Recursos Azure.