Compartilhar via


Gerenciamento e operações para os Aplicativos de Contêiner do Azure – Acelerador de Zona de Destino

Examine os recursos e serviços dos Aplicativos de Contêiner do Azure disponíveis para ajudá-lo a projetar e manter seu aplicativo para integridade e estabilidade a longo prazo.

  • Entenda os limites dos Aplicativos de Contêiner.

  • Considere isolar cargas de trabalho na rede, na computação, no monitor ou no nível de dados.

  • Entenda as maneiras de controlar o consumo de recursos por cargas de trabalho.

  • Use sondas de saúde para ajudar a relatar e na recuperação da deterioração da saúde do aplicativo.

  • Use o Dapr para estabelecer conexões seguras com serviços externos.

  • Use o registro em log e o monitoramento para fornecer informações sobre quaisquer problemas associados aos seus aplicativos.

  • Use alertas durante eventos críticos do aplicativo e do sistema para garantir que a equipe de operações possa tomar medidas rápidas caso haja falhas no aplicativo.

  • Defina uma estratégia de dimensionamento para garantir capacidade suficiente disponível para lidar com o tráfego para seu aplicativo, minimizando a capacidade não utilizada. Os gatilhos de escalonamento incluem uso de CPU ou memória, juntamente com qualquer escalonador compatível com KEDA.

  • Familiarize-se com o Envoy, pois os Aplicativos de Contêiner do Azure o usam como um proxy de rede.

  • Esteja ciente dos requisitos de RTO (objetivo de tempo de recuperação) e RPO (objetivo de ponto de recuperação) em relação à Continuidade dos Negócios e à Recuperação de Desastres. Defina um SLA (contrato de nível de serviço) para sua infraestrutura e aplicativo. Saiba mais sobre o SLA para Aplicativos de Contêiner do Azure. Consulte a seção de detalhes do SLA para obter informações sobre cálculos de tempo de atividade mensal.

  • Dependendo dos requisitos específicos para seu aplicativo, talvez seja necessário usar medidas de alta disponibilidade para garantir a operação contínua se houver problemas com a plataforma subjacente do Azure. No Azure, as várias zonas e regiões permitem criar soluções para alta disponibilidade:

    • Zonas de Disponibilidade são construções de isolamento de falha no design do datacenter do Azure. Cada zona tem sua própria energia, rede e resfriamento para minimizar a chance de interrupções se espalharem por zonas. Para usar zonas de disponibilidade, cada recurso do Azure pode ser implantado em uma zona específica ("zonal") ou em todas as zonas ("com redundância de zona").

    • As soluções de várias regiões fornecem o nível mais alto de isolamento de falhas e a maior confiabilidade, mas geralmente são mais difíceis de implementar devido à maior latência entre as regiões geográficas. Essa latência pode causar atrasos na replicação de dados. Para obter mais informações sobre o design de várias regiões, consulte a documentação do Azure Mission Critical.

  • Considere usar o Azure DevOps e o GitHub para fornecer maneiras automatizadas de gerenciar processos de desenvolvimento, build e implantação.

Recommendations

  • Isolar por ambiente: crie ambientes de Aplicativos de Contêiner distintos para isolamento total de recursos. Evite usar revisões para criar aplicativos de contêiner específicos do locatário. Para obter mais informações, consulte Os Aplicativos de Contêiner do Azure na solução multilocatário.

  • Use limites para recursos de computação: use limites de solicitação de recursos de CPU e de memória dos contêineres para gerenciar os recursos de computação e memória em um ambiente. Os limites padrão do contêiner são 2 vCPU e 4 GiB para computação e memória, respectivamente.

  • Use probes de saúde: Adicione probes de saúde aos seus aplicativos de contêiner. Verifique se as revisões contêm livenessProbe, readinessProbee startupProbe. Para obter mais informações, consulte as sondas de saúde do Azure Container Apps.

  • Configurar sondas de integridade corretamente: a sonda de integridade é responsável por realizar chamadas para um endpoint e espera receber um código de status de êxito, normalmente no intervalo HTTP 2xx, quando o sistema está em um estado saudável. É recomendável que esse ponto de extremidade execute verificações não apenas na integridade do sistema, mas também na integridade de componentes downstream críticos, como bancos de dados, armazenamento e serviços de mensagens. Para evitar uma cascata contínua de verificações de saúde, é importante implementar o armazenamento em cache das respostas de saúde downstream por uma breve duração.

  • Registre-se extensivamente: crie consultas do Log Analytics para procurar avisos, erros e mensagens críticas.

    • Os logs de aplicativo são gerados por mensagens de saída do console de contêineres (stdout/stderr). Quando o Dapr está habilitado, a saída do console contém mensagens tanto do contêiner do aplicativo quanto do sidecar do Dapr. Examine o monitoramento de logs para obter mais detalhes sobre como consultar logs usando o log analytics.

    • Os logs do sistema são gerados pelos Aplicativos de Contêiner do Azure.

  • Habilitar o rastreamento visual: ao habilitar o Dapr, configure o 'DaprAIInstrumentationKey'' no nível do ambiente da ACA para visualizar o rastreamento distribuído de aplicativos de contêiner no mapa de aplicativos do Azure Application Insights.

  • Use o SDK do Application Insights: ainda não há suporte para usar o SDK do Application Insights para dados de aplicativo como agente de instrumentação automática .

  • Use zonas de disponibilidade: quando precisar de alta disponibilidade, use Zonas de Disponibilidade em todos os recursos. Verifique se não apenas os Aplicativos de Contêiner são redundantes por zona, mas também os serviços adjacentes necessários para suprir as demandas, como bancos de dados, serviços de armazenamento e serviços de mensagens.

  • Use a replicação distribuída: para fins de recuperação de desastre (DR), verifique se os dados do aplicativo e o código-fonte estão disponíveis em mais de uma região do Azure. Por exemplo, as contas de Armazenamento do Azure permitem o armazenamento replicado geograficamente e os Bancos de Dados SQL do Azure permitem que réplicas de leitura sejam colocadas em outras regiões.

  • Automatizar builds: use a automação de ponta a ponta para criar e implantar seus aplicativos de Aplicativos de Contêiner do Azure.

  • Use um registro de contêiner: armazene suas imagens de contêiner no Registro de Contêiner do Azure e replique geograficamente o registro para cada região da ACA.

  • Teste seu plano de recuperação de desastre: crie e teste um plano de recuperação de desastre regularmente usando os principais cenários de falha. Para obter mais informações, consulte Teste de backup e recuperação de desastres.