Partilhar via


Fiabilidade nas Aplicações Lógicas do Azure

Este artigo descreve o suporte à confiabilidade nos Aplicativos Lógicos do Azure, abrangendo resiliência intrarregional por meio de zonas de disponibilidade e implantações de várias regiões.

A resiliência é uma responsabilidade compartilhada entre você e a Microsoft e, portanto, este artigo também aborda maneiras de criar uma solução resiliente que atenda às suas necessidades.

Os fluxos de trabalho de aplicativos lógicos ajudam você a integrar e orquestrar dados mais facilmente entre aplicativos, serviços de nuvem e sistemas locais, reduzindo a quantidade de código que você precisa escrever. Ao planejar a resiliência, certifique-se de considerar não apenas seus aplicativos lógicos, mas também estes recursos do Azure que você usa com seus aplicativos lógicos:

  • Conexões que você cria a partir de fluxos de trabalho de aplicativos lógicos para outros aplicativos, serviços e sistemas. Para obter mais informações, consulte Conexões com recursos posteriormente neste tópico.

  • Gateways de dados locais, que são recursos do Azure que você cria e usa em seus aplicativos lógicos para acessar dados em sistemas locais. Cada recurso de gateway representa uma instalação de gateway de dados separada em um computador local. Você pode configurar um gateway de dados local para alta disponibilidade usando vários computadores. Para obter mais informações, consulte Suporte de alta disponibilidade.

  • Contas de integração onde você define e armazena os artefatos que os fluxos de trabalho de aplicativos lógicos usam para cenários de integração empresarial B2B (business-to-business). Por exemplo, você pode configurar a recuperação de desastres entre regiões para contas de integração.

Os Aplicativos Lógicos do Azure Multilocatários gerenciam automaticamente a infraestrutura de computação e os recursos para fluxos de trabalho de Consumo. Não é necessário configurar ou gerenciar máquinas virtuais (VMs). Os fluxos de trabalho de consumo compartilham a infraestrutura de computação entre muitos clientes.

Os Aplicativos Lógicos do Azure de locatário único executam fluxos de trabalho padrão em recursos de computação dedicados, que são dedicados a você e são chamados de planos. Cada plano pode ter várias instâncias, e essas instâncias podem, opcionalmente, ser distribuídas em várias zonas de disponibilidade. Seus fluxos de trabalho são executados em instâncias do seu plano.

Recomendações de implantação de produção

Para fluxos de trabalho empresariais e seguros com requisitos de isolamento ou segurança de rede, recomendamos que crie e execute fluxos de trabalho Standard em Aplicações Lógicas do Azure de inquilino único, em vez de fluxos de trabalho de Consumo em Aplicações Lógicas do Azure multiinquilate. Para obter mais informações, consulte Criar e implantar em ambientes diferentes.

Para implantações de produção com Aplicativos Lógicos do Azure de locatário único, você deve habilitar a redundância de zona para distribuir os recursos do aplicativo lógico em várias zonas de disponibilidade.

Falhas transitórias

Falhas transitórias são falhas curtas e intermitentes em componentes. Eles ocorrem com frequência em um ambiente distribuído, como a nuvem, e são uma parte normal das operações. Eles se corrigem após um curto período de tempo. É importante que seus aplicativos lidem com falhas transitórias, geralmente tentando novamente as solicitações afetadas.

Todos os aplicativos hospedados na nuvem devem seguir as orientações de tratamento de falhas transitórias do Azure ao se comunicarem com quaisquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para saber mais sobre como lidar com falhas transitórias, consulte Recomendações para lidar com falhas transitórias.

Nos Aplicativos Lógicos do Azure, muitos gatilhos e ações dão suporte automaticamente a políticas de repetição, que repetem automaticamente solicitações que falham devido a falhas transitórias. Para saber como alterar ou desabilitar políticas de repetição para seu aplicativo lógico, consulte Manipular erros e exceções em Aplicativos Lógicos do Azure.

Se uma ação falhar, você poderá personalizar o comportamento das ações subsequentes. Você também pode criar escopos para agrupar ações relacionadas que podem falhar ou ter êxito juntas.

Para obter mais informações sobre tratamento de falhas em Aplicativos Lógicos do Azure, consulte Manipular erros e exceções em Aplicativos Lógicos do Azure.

Suporte à zona de disponibilidade

As zonas de disponibilidade são grupos fisicamente separados de datacenters dentro de cada região do Azure. Quando uma zona falha, os serviços podem fazer failover para uma das zonas restantes.

Para obter mais informações sobre zonas de disponibilidade no Azure, consulte O que são zonas de disponibilidade?.

As Aplicações Lógicas do Azure suportam redundância de zona, que distribui recursos de computação por várias zonas de disponibilidade. Ao distribuir recursos de carga de trabalho do aplicativo lógico entre zonas de disponibilidade, você melhora a resiliência e a confiabilidade para as cargas de trabalho do aplicativo lógico de produção.

Os fluxos de trabalho novos e existentes do aplicativo lógico de consumo em aplicativos lógicos do Azure multilocatários têm automaticamente a redundância de zona habilitada.

Para fluxos de trabalho padrão com a opção de hospedagem do Plano de Serviço de Fluxo de Trabalho em Aplicativos Lógicos do Azure de locatário único, você pode, opcionalmente, habilitar a redundância de zona.

Para fluxos de trabalho padrão com a opção de hospedagem Ambiente do Serviço de Aplicativo v3, você pode, opcionalmente, habilitar a redundância de zona. Para obter mais informações sobre como os Ambientes do Serviço de Aplicativo v3 oferecem suporte a zonas de disponibilidade, consulte Confiabilidade no Serviço de Aplicativo.

Regiões suportadas

Os aplicativos lógicos de consumo implantados em qualquer região que ofereça suporte a zonas de disponibilidade são automaticamente redundantes de zona. O Japan West é a exceção, que atualmente não suporta aplicativos lógicos com redundância de zona porque alguns serviços de dependência ainda não suportam redundância de zona.

Você pode implantar aplicativos lógicos Standard com redundância de zona com Planos de Serviço de Fluxo de Trabalho em qualquer região que ofereça suporte a zonas de disponibilidade para o Serviço de Aplicativo do Azure. O Japan West é a exceção, que atualmente não suporta aplicativos lógicos redundantes de zona. Para obter mais informações, consulte Confiabilidade no Serviço de Aplicativo do Azure.

Para ver quais regiões oferecem suporte a zonas de disponibilidade para o Ambiente do Serviço de Aplicativo v3, consulte Regiões.

Requisitos

Você deve implantar pelo menos três instâncias do seu Plano de Serviço de Fluxo de Trabalho. Cada instância corresponde aproximadamente a uma VM. Para distribuir essas instâncias (VMs) entre zonas de disponibilidade, você deve ter um mínimo de três instâncias.

Considerações

  • Armazenamento: ao configurar o armazenamento externo para fluxos de trabalho padrão com monitoração de estado, você deve configurar sua conta de armazenamento para redundância de zona. Para obter mais informações, veja Considerações de armazenamento das Funções do Azure.
  • Conectores: os conectores internos são automaticamente redundantes de zona quando seu aplicativo lógico é redundante de zona.

  • Contas de integração: as contas de integração Premium SKU são redundantes por padrão.

Custo

Nenhum custo adicional se aplica ao uso da redundância de zona, que é habilitada automaticamente para fluxos de trabalho de Consumo novos e existentes em Aplicativos Lógicos do Azure multilocatário.

Quando você tem fluxos de trabalho padrão com o Plano de Serviço de Fluxo de Trabalho em Aplicativos Lógicos do Azure de locatário único, nenhum custo adicional se aplica à habilitação de zonas de disponibilidade, desde que você tenha três ou mais instâncias do plano. Você será cobrado com base na SKU do plano, na capacidade especificada e em todas as instâncias dimensionadas para cima ou para baixo, com base nos critérios de dimensionamento automático. Se você habilitar zonas de disponibilidade, mas especificar uma capacidade de menos de três instâncias, a plataforma aplicará as três instâncias mínimas e cobrará por essas três instâncias.

O Ambiente do Serviço de Aplicativo v3 tem um modelo de preços específico para redundância de zona. Para obter informações sobre preços para o Ambiente do Serviço de Aplicativo v3, consulte Preços.

Configurar o suporte à zona de disponibilidade

Os fluxos de trabalho da aplicação lógica de consumo suportam automaticamente redundância de zona, pelo que não é necessária qualquer configuração.

  • Crie um novo fluxo de trabalho com redundância de zona.

    Para habilitar a redundância de zona para fluxos de trabalho de aplicativos lógicos padrão, consulte Habilitar redundância de zona para seu aplicativo lógico.

  • Migração

    Não é possível ativar a redundância de zona depois de criar um plano de serviço. Em vez disso, você precisa criar um novo plano com redundância de zona habilitada e excluir o antigo.

  • Desative a redundância de zona.

    Não é possível desativar a redundância de zona depois de criar um Plano de Serviço de Fluxo de Trabalho. Em vez disso, você precisa criar um novo plano com redundância de zona desabilitada e excluir o antigo.

Planejamento e gerenciamento de capacidade

Para se preparar para falhas na zona de disponibilidade, considere provisionar demais a capacidade do seu serviço. O excesso de provisionamento permite que a solução tolere algum grau de perda de capacidade e ainda continue a funcionar sem desempenho degradado.

Para descobrir quantas instâncias devem provisionar em excesso, é importante saber que a plataforma distribui instâncias em várias zonas. Você precisa levar em conta pelo menos a falha de uma zona.

Siga estas etapas para descobrir o número total de instâncias que você deve provisionar:

  1. Determine o número de instâncias que sua carga de trabalho de pico exige. Neste exemplo, usamos dois cenários. Um está com 3 instâncias e um está com 4.
  2. Recupere a contagem de instâncias de provisionamento excessivo multiplicando a contagem de instâncias de carga de trabalho de pico por um fator de [(zones/(zones-1)]:

Nota

A tabela a seguir pressupõe que você esteja usando três zonas de disponibilidade. Se utilizar um número diferente de zonas de disponibilidade, ajuste a fórmula em conformidade.

Contagem de instâncias de carga de trabalho de pico Fator de [(zonas/(zonas-1)] Fórmula Instâncias a provisionar (Arredondado)
3 3/2 ou 1,5 (3 x 1,5 = 4,5) 5 instâncias
4 3/2 ou 1,5 (4 x 1,5 = 4,5) 6 instâncias

Roteamento de tráfego entre zonas

Durante as operações normais, as invocações de fluxo de trabalho podem usar recursos de computação em qualquer uma das zonas de disponibilidade dentro da região.

Durante as operações normais, as invocações de fluxo de trabalho são distribuídas entre todas as instâncias de plano disponíveis em todas as zonas de disponibilidade.

Experiência de zone-down

Deteção e resposta: a plataforma de Aplicativos Lógicos do Azure é responsável por detetar uma falha em uma zona de disponibilidade. Você não precisa fazer nada para iniciar um failover de zona.

Solicitações ativas: se uma zona de disponibilidade ficar indisponível, todas as execuções de fluxo de trabalho em andamento executadas em uma VM na zona de disponibilidade defeituosa serão encerradas. A plataforma de Aplicativos Lógicos do Azure retoma automaticamente o fluxo de trabalho em outra VM em uma zona de disponibilidade diferente. Devido a esse comportamento, fluxos de trabalho ativos podem enfrentar algumas falhas transitórias ou latência mais alta à medida que novas VMs são adicionadas às zonas de disponibilidade restantes.

Reativação pós-falha

Quando a zona de disponibilidade se recupera, os Aplicativos Lógicos do Azure restauram automaticamente as instâncias na zona de disponibilidade, removem todas as instâncias temporárias criadas nas outras zonas de disponibilidade e redirecionam o tráfego entre suas instâncias normalmente.

Teste de falhas de zona

A plataforma de Aplicativos Lógicos do Azure gerencia roteamento de tráfego, failover e failback para recursos de aplicativos lógicos com redundância de zona. Você não precisa iniciar nada. Esse recurso é totalmente gerenciado, portanto, você não precisa validar os processos de falha da zona de disponibilidade.

Suporte multi-região

Cada aplicativo lógico é implantado em uma única região do Azure. Se a região ficar indisponível, seu aplicativo lógico também ficará indisponível.

Abordagens multirregionais alternativas

Para maior resiliência, você pode implantar um aplicativo lógico de espera ou backup em uma região secundária e fazer failover para essa outra região se a região primária não estiver disponível. Para habilitar esse recurso, conclua as seguintes tarefas:

  • Implante seu aplicativo lógico em regiões primárias e secundárias.
  • Reconfigure as conexões com os recursos conforme necessário.
  • Configure políticas de balanceamento de carga e failover.
  • Planeje monitorar a integridade da instância primária e iniciar o failover.

Para obter mais informações sobre implantações de várias regiões para seus fluxos de trabalho de aplicativos lógicos, consulte a seguinte documentação:

Contrato de nível de serviço

O contrato de nível de serviço (SLA) para Aplicativos Lógicos do Azure descreve a disponibilidade esperada do serviço. Este acordo descreve igualmente as condições a preencher para concretizar esta expectativa. Para compreender estas condições, certifique-se de que revê os Contratos de Nível de Serviço (SLA) dos Serviços Online.