Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplicativos de Contêiner do Azure Sandboxes fornecem ambientes isolados para execução de código. Cada sandbox é executado em uma máquina virtual leve (microVM) que inicia em menos de um segundo e pode preservar seu estado em memória quando suspenso. O serviço dá suporte à confiabilidade das cargas de trabalho de área restrita por meio dos recursos configurados e dos recursos que a plataforma gerencia em seu nome.
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 sandboxes do Container Apps resilientes a falhas transitórias, falhas em zonas de disponibilidade, falhas que afetam toda uma região e manutenção do serviço. Ele também descreve as opções de backup e restauração e as principais informações sobre o SLA (contrato de nível de serviço).
Recomendações de implantação de produção para confiabilidade
Para cargas de trabalho de produção, recomendamos que você:
Armazene dados duráveis fora da memória da área restrita e escolha uma opção de redundância de armazenamento que corresponda às suas metas de recuperação. Use volumes de sandbox para dados que devem ser preservados quando uma sandbox é interrompida. Para resiliência a uma falha em toda a região, use um repositório de dados externo que replica dados para outra região.
Quando você usa Armazenamento de Blobs do Azure, o GRS (armazenamento com redundância geográfica) replica os dados para uma região emparelhada. Para regiões não emparelhadas, implante contas de armazenamento separadas e configure um método de replicação com suporte, como a replicação de objetos para blobs de blocos. Para obter mais informações, consulte soluções de várias regiões personalizadas para Armazenamento de Blobs do Azure.
Implante grupos de sandbox separados em várias regiões se sua meta de disponibilidade não puder ser atendida por uma implantação em uma única região. Para obter mais informações, consulte Resiliência a falhas em toda a região.
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
Aplicativos de Contêiner do Azure fornece opções de computação distintas para aplicativos, trabalhos, sessões dinâmicas e áreas restritas. Os grupos de sandbox não exigem um ambiente do Container Apps. Para obter detalhes sobre a confiabilidade de outros componentes de Aplicativos de Contêiner, consulte Confiabilidade no Aplicativos de Contêiner do Azure.
Os principais recursos em sandboxes do Container Apps são:
Grupo de área restrita: Um grupo de área restrita é o limite de gerenciamento regional de nível superior para áreas restritas e usa o
Microsoft.App/sandboxGroupstipo de recurso. Todas as áreas restritas, imagens de disco, instantâneos, volumes e valores de configuração confidenciais (segredos) estão no escopo de um grupo de área restrita.Sandbox: Cada sandbox é uma microVM leve e isolada, executada a partir de uma imagem de disco ou instantâneo, e tem sua própria CPU, memória, disco local e isolamento de rede.
Uma imagem de disco é uma imagem de contêiner OCI (Open Container Initiative) convertida para ser usada como um sistema de arquivos raiz de sandbox.
Um instantâneo é uma captura do estado completo de uma sandbox em um determinado momento, que persiste independentemente da sandbox de origem.
O estado de uma sandbox pode estar em execução ou interrompido. Quando uma sandbox é encerrada, automaticamente ou a pedido, ela libera seus recursos de computação. O modo de memória preserva a imagem completa da memória da sandbox e o disco local. Modo de disco preserva apenas o disco local, portanto a microVM e seus processos são reiniciados quando você retoma a sandbox.
Volumes: O disco local pertence a uma sandbox individual. Um volume de sandbox fornece armazenamento persistente que existe independentemente de uma sandbox específica. Você pode montar Armazenamento de Blobs do Azure volumes em várias áreas restritas ao mesmo tempo, enquanto volumes de disco de dados apoiados por Armazenamento em Disco do Azure podem ser montados em apenas uma área restrita por vez. O serviço de armazenamento de backup determina as opções de durabilidade e recuperação para dados de volume.
Para obter mais informações sobre a arquitetura e os recursos da área restrita, consulte Aplicativos de Contêiner do Azure visão geral das áreas restritas.
Arquitetura física
Os sandboxes são executados em vários clusters de computação independentes que a Microsoft opera. Você é responsável por configurar os grupos de sandbox, as sandboxes e outros recursos que você implementa. Microsoft é responsável pela implantação, configuração, gerenciamento de capacidade, monitoramento de integridade e manutenção do cluster. Você não seleciona, implanta, configura ou gerencia os clusters. O serviço programa novas sandboxes e reinicia as sandboxes interrompidas em clusters saudáveis, além de direcionar as alocações para longe de clusters não saudáveis.
Microsoft mantém repositórios de estado redundantes para configuração de serviço, metadados de área restrita e artefatos, como imagens de disco e instantâneos.
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, consulte Recomendações para resolver falhas transitórias.
Ao usar as áreas restritas dos Aplicativos de Contêiner, considere falhas transitórias nas seguintes partes da sua solução:
Operações de gerenciamento de sandbox: Quando sua automação gerencia grupos de sandbox, sandboxes ou recursos relacionados, tente novamente as solicitações que falharem devido a falhas transitórias e use recuo exponencial. Limite o número de tentativas de repetição e tente novamente apenas as operações que são seguras de repetir.
Código em execução em uma área restrita: Implemente o tratamento transitório de falhas para chamadas a APIs externas, bancos de dados e outros serviços. Siga as diretrizes de repetição para cada dependência porque o comportamento de repetição e as operações que são seguras de repetir variam de acordo com o serviço.
Resiliência a falhas de zona de disponibilidade
As áreas restritas do Aplicativos de Contêiner não oferecem suporte à implantação em uma zona de disponibilidade específica nem à redundância entre zonas para um grupo de áreas restritas. Para tornar sua carga de trabalho resiliente a falhas de zona de disponibilidade, implante grupos de área restrita separados em várias regiões. Para obter mais informações, consulte Resiliência a falhas em toda a região.
Resiliência a falhas em toda a região
O Container Apps Sandboxes é um serviço de região única. Se a região ficar indisponível, seus grupos de sandbox e as sandboxes que eles contêm também ficarão indisponíveis. O serviço não replica grupos de sandbox nem sandboxes entre regiões, e não faz failover automático para outra região. No entanto, você pode implantar grupos de sandbox separados em várias regiões. Você é responsável por garantir que as dependências estejam disponíveis em cada região e por gerenciar a distribuição da carga de trabalho e o failover. Para obter mais informações, consulte soluções de várias regiões personalizadas para resiliência.
Durante uma falha regional generalizada, você pode perder qualquer estado armazenado apenas na memória de uma sandbox em execução. Grupos de sandbox, sandboxes e artefatos gerenciados pelo serviço na região afetada permanecem indisponíveis até que a região se recupere.
Os volumes de sandbox fornecem armazenamento que persiste além do tempo de vida de uma sandbox individual. Durante uma falha em toda a região, a disponibilidade e a recuperação de volume dependem do serviço de armazenamento de backup e de sua configuração. Os sandboxes do Container Apps não fornecem replicação entre regiões nem failover dos dados de volume. Em vez disso, o serviço de armazenamento de backup fornece esses recursos quando configurado. Por exemplo, para obter informações sobre volumes de Armazenamento de Blobs do Azure, consulte Confiabilidade em Armazenamento de Blobs do Azure.
Soluções de várias regiões personalizadas para resiliência
Os Sandboxes do Aplicativos de Contêiner do Azure não coordenam implantações em várias regiões nem replicam grupos de sandboxes, sandboxes ou seus recursos relacionados entre regiões. Para criar uma solução de várias regiões personalizada, você tem as seguintes responsabilidades:
Implantações e dependências regionais: Implante um grupo de sandbox separado em cada região que você pretende usar. Mantenha a configuração, as imagens de disco, os segredos e outras dependências disponíveis em cada região.
Detecção de falhas e recuperação de carga de trabalho: Configure o aplicativo ou a camada de orquestração para detectar quando uma região não está disponível, direcione a criação de novas áreas restritas e o processamento de carga de trabalho para uma região íntegra e determine como reiniciar o trabalho interrompido.
Roteamento de tráfego: Se os clientes se conectarem por pontos de extremidade específicos de cada região que seu aplicativo expõe, use um serviço global de balanceamento de carga, como o Azure Front Door ou o Gerenciador de Tráfego do Azure, para direcionar o tráfego para um ponto de extremidade saudável.
Replicação e recuperação de dados: Armazene qualquer estado necessário após o failover em um repositório de dados externo que dê suporte à replicação e recuperação entre regiões. Se um serviço de armazenamento subjacente oferecer replicação entre regiões para dados de volume, esse serviço é que determina o comportamento de replicação e failover. As Áreas Restritas dos Aplicativos de Contêiner do Azure não replicam nem fazem failover dos dados de volumes entre regiões.
Backup e restauração
Não use memória de área restrita ou disco local como seu único armazenamento de dados durável. A suspensão de um sandbox preserva o disco local e, no modo de memória, o estado da memória. Você também pode criar snapshots que existem independentemente da sandbox de origem. O estado suspenso e os instantâneos permanecem restritos ao grupo de sandbox regional e não constituem backups entre regiões.
Use um volume de sandbox para dados que devem persistir além do ciclo de vida de uma sandbox individual. O serviço de armazenamento de backup e sua configuração determinam os recursos de backup e restauração para dados de volume. Para armazenamentos de dados externos gerenciados, você é responsável por configurar o backup e a recuperação entre regiões para atender aos seus objetivos de durabilidade e recuperação.
Para recriar a implantação da área restrita após a exclusão acidental ou uma falha em toda a região, armazene a configuração do grupo de área restrita em modelos de infraestrutura como código controlado por versão, como Bicep ou Terraform. Mantenha suas imagens de disco de origem em um registro que atenda aos seus requisitos de recuperação.
Para a maioria das soluções, você não deve depender exclusivamente de backups. Em vez disso, use as outras funcionalidades descritas neste guia para dar suporte aos seus requisitos de resiliência. No entanto, os backups protegem contra alguns riscos que outras abordagens não protegem. Para obter mais informações, consulte O que são redundância, replicação e backup?.
Resiliência à manutenção do serviço
A Microsoft aplica regularmente as atualizações de serviço e executa outras manutenções. A plataforma Azure manipula essas atividades automaticamente, garantindo que a manutenção seja perfeita e transparente para você. Durante as operações de manutenção, você pode observar breves interrupções. Normalmente, essas interrupções duram alguns segundos. Verifique se os aplicativos cliente estão configurados para lidar com falhas transitórias para que sejam resilientes a breves interrupções.
Quando a manutenção afeta uma área restrita em execução, a plataforma preserva seu estado, move-a para uma capacidade de computação íntegra e a retoma automaticamente. Para sandboxes que usam o modo de memória, a plataforma preserva a memória e o estado do disco local. Para sandboxes que usam o modo de disco, a plataforma preserva apenas o estado do disco local.
Contrato de nível de serviço
As Áreas Restritas dos Aplicativos de Contêiner do Azure não oferecem um SLA (contrato de nível de serviço) de disponibilidade. Os serviços de armazenamento que dão suporte aos volumes de sandbox e aos repositórios de dados externos usados pela sua solução podem ter SLAs separados. Para obter mais informações, consulte Contratos de Nível de Serviço para Serviços Online.