Compartilhar via


Confiabilidade nos Aplicativos Lógicos do Azure

Os Aplicativos Lógicos do Azure ajudam você a integrar e orquestrar dados com mais facilidade entre aplicativos, serviços de nuvem e sistemas locais, reduzindo a quantidade de código que você precisa escrever.

Quando você usa o Azure, a confiabilidade é uma responsabilidade compartilhada. A Microsoft fornece uma variedade de recursos para dar suporte à resiliência e recuperação. Você é responsável por entender como esses recursos funcionam em todos os serviços que você usa e selecionar os recursos necessários para atender aos seus objetivos de negócios e metas de tempo de atividade.

Este artigo descreve como tornar os fluxos de trabalho do aplicativo lógico resilientes a uma variedade de possíveis interrupções e problemas, incluindo falhas transitórias, interrupções de zona de disponibilidade e interrupções de região. Ele também destaca algumas informações importantes sobre o SLA (contrato de nível de serviço) dos Aplicativos Lógicos do Azure.

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

Para cargas de trabalho de produção, recomendamos que você:

  • Para os fluxos de trabalho corporativos e seguros com requisitos de segurança de rede ou isolamento, crie e execute fluxos de trabalho Standard nos Aplicativos Lógicos do Azure de locatário único, em vez de fluxos de trabalho de Consumo em Aplicativos Lógicos do Azure multilocatários. Para obter mais informações, confira Criar e implantar em ambientes diferentes.
  • Para implantações de produção com Aplicativos Lógicos do Azure de instância única, habilite a redundância de zona para distribuir os recursos de Aplicativos Lógicos em várias zonas de disponibilidade.

Visão geral da arquitetura de confiabilidade

Esta seção descreve alguns dos aspectos importantes de como o serviço funciona que são mais relevantes do ponto de vista da confiabilidade. A seção apresenta a arquitetura lógica, que inclui alguns dos recursos e recursos que você implanta e usa. Também discute a arquitetura física, que fornece detalhes sobre como o serviço funciona nos bastidores.

Arquitetura lógica

O recurso primário que você implanta é um aplicativo lógico. Os aplicativos lógicos de consumo têm apenas um fluxo de trabalho, enquanto os aplicativos lógicos Standard podem ter mais de um fluxo de trabalho. A maioria dos fluxos de trabalho usa uma ou mais conexões para acessar outros aplicativos, serviços e sistemas.

Se você acessar dados em sistemas locais, poderá implantar um gateway de dados local. 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 a alta disponibilidade.

Ao usar os Aplicativos Lógicos do Azure para cenários de integração empresarial (B2B), você pode implantar contas de integração em que define e armazena os artefatos que os fluxos de trabalho do aplicativo lógico usam.

Arquitetura física

Para aplicativos lógicos de consumo, os Aplicativos Lógicos do Azure gerenciam automaticamente a infraestrutura de computação, o armazenamento de estado e outros recursos. Você não precisa configurar nem gerenciar VMs (máquinas virtuais). Os aplicativos lógicos de consumo compartilham a infraestrutura de computação entre muitos clientes.

Para aplicativos lógicos Padrão, os Aplicativos Lógicos do Azure usam recursos de computação chamados Planos de Serviço de Fluxo de Trabalho ou planos, que são dedicados a você. Cada plano pode ter várias instâncias, que opcionalmente podem ser distribuídas entre várias zonas de disponibilidade. Cada instância é mapeada aproximadamente para uma VM (máquina virtual), mas você não vê essas VMs e não precisa configurá-las ou gerenciá-las diretamente. Seus fluxos de trabalho são executados em instâncias do seu plano.

Os aplicativos lógicos padrão exigem que você configure o armazenamento para manter o estado para fluxos de trabalho com estado. Para obter mais informações, veja Fluxos de trabalho com estado e sem estado.

Os aplicativos lógicos padrão usam uma infraestrutura subjacente semelhante ao Azure Functions e ao Serviço de Aplicativo do Azure. No entanto, existem algumas diferenças na maneira como você configura planos para aplicativos lógicos em comparação com outros serviços.

Para obter mais informações, consulte Diferenças entre aplicativos lógicos padrão versus aplicativos lógicos de consumo.

Resiliência a falhas transitórias

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

Todos os aplicativos hospedados na nuvem devem seguir as diretrizes transitórias de tratamento de falhas do Azure quando eles se comunicam com qualquer APIs, bancos de dados e outros componentes hospedados na nuvem. Para obter mais informações, confira Recomendações para tratamento de falhas transitórias.

Nos Aplicativos Lógicos do Azure, muitos gatilhos e ações de fluxo de trabalho dão suporte automaticamente a políticas de repetição, que repitam automaticamente solicitações que falham devido a falhas transitórias. Para obter mais informações sobre como alterar ou desabilitar políticas de repetição, consulte Manipular erros e exceções nos 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, consulte Manipular erros e exceções nos Aplicativos Lógicos do Azure.

Resiliência a falhas de zona de disponibilidade

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

Os Aplicativos Lógicos do Azure dão suporte à redundância de zona, que espalha os recursos de computação e o estado em várias zonas de disponibilidade. Ao distribuir recursos de carga de trabalho de aplicativo lógico entre zonas de disponibilidade, você aprimora a resiliência e a confiabilidade das cargas de trabalho do aplicativo lógico de produção.

Os fluxos de trabalho de aplicativo lógico de Consumo novos e existentes nos Aplicativos Lógicos do Azure multilocatários habilitam automaticamente a redundância de zona.

Os Aplicativos Lógicos do Azure dão suporte à redundância de zona, que espalha recursos de computação em várias zonas de disponibilidade. Opcionalmente, você pode configurar a redundância de zona para o estado que os fluxos de trabalho do aplicativo lógico armazenam. Ao distribuir recursos de carga de trabalho de aplicativo lógico entre zonas de disponibilidade, você aprimora a resiliência e a confiabilidade das cargas de trabalho do aplicativo lógico de produção.

Para fluxos de trabalho Standard com a opção de hospedagem plano de serviço de fluxo de trabalho nos Aplicativos Lógicos do Azure de locatário único, você pode opcionalmente habilitar a redundância de zona.

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

Requirements

  • Suporte à região: Os aplicativos lógicos de consumo implantados em qualquer região que dê suporte a zonas de disponibilidade são automaticamente redundantes por zona. O Oeste do Japão é a exceção, que atualmente não dá suporte a aplicativos lógicos com redundância de zona porque alguns serviços dependentes ainda não dão suporte à redundância de zona.
  • Suporte à região: 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 dê suporte a zonas de disponibilidade para o Serviço de Aplicativo do Azure. O Oeste do Japão é a exceção, que atualmente não dá suporte a aplicativos lógicos com redundância de zona porque alguns serviços dependentes ainda não dão suporte à redundância de zona. Para obter mais informações, consulte Confiabilidade no Serviço de Aplicativo do Azure.
  • Suporte à região: para ver quais regiões dão suporte a zonas de disponibilidade para o Ambiente do Serviço de Aplicativo v3, consulte Regiões.
  • Contagem de instâncias: você deve implantar pelo menos duas instâncias do Plano de Serviço de Fluxo de Trabalho. Cada instância corresponde aproximadamente a uma VM, portanto, para distribuir essas instâncias (VMs) em várias zonas de disponibilidade, você deve ter no mínimo duas instâncias.

Considerations

  • Armazenamento: Ao configurar o armazenamento externo para fluxos de trabalho Standard com estado, é necessário garantir que sua conta de armazenamento esteja configurada para redundância de zona. Para obter mais informações, confira Considerações de armazenamento do Azure Functions.
  • Conectores: Os conectores integrados são automaticamente redundantes em termos de zona quando seu aplicativo lógico é redundante em termos de zona.

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

Cost

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

Quando você tem Aplicativos Lógicos Standard 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 das zonas de disponibilidade se você tiver duas ou mais instâncias do plano. Você será cobrado com base no SKU do plano, na capacidade especificada e nas instâncias dimensionadas de acordo com os critérios de escala automática. Se você habilitar zonas de disponibilidade, mas especificar menos de duas instâncias, a plataforma imporá automaticamente o mínimo de duas instâncias e cobrará por essas duas instâncias.

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

Configurar o suporte à zona de disponibilidade

Os fluxos de trabalho do aplicativo lógico de consumo dão suporte automaticamente à redundância de zona, portanto, nenhuma configuração é necessária.

  • Crie um novo aplicativo lógico com redundância de zona: para habilitar a redundância de zona para aplicativos lógicos Standard, consulte Habilitar redundância de zona para seu aplicativo lógico.

  • Habilitar a redundância de zona em um aplicativo lógico existente: você não pode habilitar 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.

  • Desabilitar a redundância de zona: você não pode desabilitar 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 a redundância de zona desabilitada e excluir o antigo.

Planejamento e gerenciamento de capacidade

Para se preparar para uma falha na zona de disponibilidade, considere o provisionamento excessivo da capacidade do seu plano. O superprovisionamento permite que a solução tolere algum grau de perda de capacidade e ainda continue funcionando sem desempenho degradado. Para obter mais informações, consulte Gerenciar capacidade com provisionamento excessivo.

Comportamento quando todas as zonas estão saudáveis

Esta seção descreve o que esperar quando os recursos do aplicativo lógico são configurados para redundância de zona e todas as zonas de disponibilidade estão operacionais.

  • Roteamento de tráfego entre zonas: durante operações normais, as invocações de fluxo de trabalho podem usar recursos de computação de qualquer zona de disponibilidade na região.

  • Replicação de dados entre zonas: para fluxos de trabalho com estado, o estado do fluxo de trabalho é replicado de forma síncrona entre zonas de disponibilidade usando ZRS (armazenamento com redundância de zona).

  • Roteamento de tráfego entre zonas: durante 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.

  • Replicação de dados entre zonas: para fluxos de trabalho com estado, o estado do fluxo de trabalho é armazenado com base no armazenamento de estado configurado. Ao usar o Armazenamento do Azure como seu sistema de armazenamento externo, você precisa usar o ZRS (armazenamento com redundância de zona), que replica de forma síncrona o estado do fluxo de trabalho entre zonas de disponibilidade.

Comportamento durante uma falha de zona

Esta seção descreve o que esperar quando ocorre uma interrupção de zona de disponibilidade enquanto os recursos do aplicativo lógico são configurados para redundância de zona.

  • Detecção e resposta: os Aplicativos Lógicos do Azure são responsáveis por detectar 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, os Aplicativos Lógicos do Azure encerrarão quaisquer execuções de fluxo de trabalho em andamento executadas em uma VM na zona de disponibilidade com falha. A plataforma retoma automaticamente o fluxo de trabalho em outra VM em uma zona de disponibilidade diferente. Devido a esse comportamento, os 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.

  • Tempo de inatividade esperado: nenhum tempo de inatividade é esperado nos Aplicativos Lógicos do Azure. No entanto, se houver dependências em outros serviços que experimentam tempo de inatividade, seu aplicativo lógico também poderá ser afetado.

  • Perda de dados esperada: Nenhuma perda de dados é esperada.

  • Redirecionamento de Tráfego: o tráfego de entrada é automaticamente distribuído para a infraestrutura em zonas saudáveis.
  • Comportamentos fora do tempo de execução: os fluxos de trabalho de aplicativos lógicos em um plano com redundância de zona continuam sendo executados mesmo se uma zona de disponibilidade passar por uma interrupção. No entanto, comportamentos que não são de runtime ainda podem ser afetados durante uma interrupção da zona de disponibilidade. Para obter detalhes e uma lista desses comportamentos, consulte Confiabilidade no Serviço de Aplicativo do Azure – Comportamento durante uma falha de zona.

Recuperação de zona

Quando a zona de disponibilidade é recuperada, 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.

Testar falhas em zonas

Os Aplicativos Lógicos do Azure gerenciam roteamento de tráfego, failover e failback para recursos de aplicativo lógico com redundância de zona. Você não precisa iniciar nada. Como esse recurso é totalmente gerenciado, você não precisa validar processos de falha da zona de disponibilidade.

Resiliência a falhas em toda a região

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

Soluções personalizadas de várias regiões para resiliência

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 essa funcionalidade, conclua as seguintes tarefas:

  • Implante seu aplicativo lógico em regiões primárias e secundárias.
  • Reconfigure conexões com recursos conforme necessário.
  • Configure políticas de failover e balanceamento de carga.
  • 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 aplicativo lógico, consulte:

Contrato de nível de serviço

O acordo de nível de serviço (SLA) dos serviços do Azure descreve a disponibilidade esperada de cada serviço e as condições que sua solução deve atender para alcançar essa expectativa de disponibilidade. Para obter mais informações, consulte SLAs para serviços online.