Operar Aplicativos de Contêiner do Azure com segurança: revisões, ciclo de vida, logs, sondas e escala
Voltar para a trilha AI-200
AI-200Capítulo 4

Estudo para a Certificação Microsoft AI-200

Operar Aplicativos de Contêiner do Azure com segurança: revisões, ciclo de vida, logs, sondas e escala

Aprenda o fluxo de operação contínua para serviços de IA em contêiner: publique imagens imutáveis, preserve o rollback, diagnostique revisões, ajuste sondas e equilibre recursos, latência e custo.

Tempo de estudo sugerido: 75 minutos • Nível intermediário • Reescrita autoral completa com versão resumida de cada tópico, revisão de conhecimentos e laboratório guiado

Escudo neon Microsoft Certified AI-200 com símbolos de IA, desenvolvimento em nuvem, automação, segurança e monitoramento

1. Operação contínua de uma carga de IA

Atualizações frequentes de modelos, prompts, dependências e roteamento fazem os serviços de IA mudar rapidamente. Considere uma esteira documental com uma para receber PDFs e um worker em segundo plano para OCR e classificação. Ambos executam nos , e o objetivo é publicar várias vezes ao dia sem encaminhar usuários para uma revisão defeituosa.

Um fluxo confiável conecta identidade do artefato, estado da revisão, controle de tráfego, , sinais das sondas e capacidade. Assim, a equipe de plantão pode diagnosticar uma revisão que não fica pronta enquanto a anterior segue atendendo e pode reter versões antigas apenas pelo período exigido para e auditoria.

  • Atualizar imagens e controlar ativação, desativação, e limpeza.
  • Escolher corretamente entre iniciar, parar, reiniciar e reduzir a zero.
  • Investigar falhas de revisão e runtime por , sem depender de acesso ao shell.
  • Ajustar inicialização, preparação e atividade ao aquecimento do modelo.
  • Equilibrar CPU e memória por réplica com limites e regras de escala.

Resumo do tópico

A confiabilidade após a implantação nasce da união entre versões, revisões, observabilidade, sondas e decisões de capacidade em um runbook repetível.

2. Tags, digests e atualizações que criam revisões

Uma tag é um nome móvel e conveniente, como dev ou staging. O digest identifica conteúdo imutável. Em produção, prefira o digest para relacionar um incidente ao contêiner e ao build de modelo exatos. Uma tag reutilizada não oferece a mesma rastreabilidade.

Alterações no template - inclusive imagem e configuração de escala - pertencem ao escopo da revisão e geram uma nova revisão imutável. Configurações do aplicativo, como regras de tráfego da entrada, podem alcançar todas as revisões. Depois de atualizar, confira o template registrado pela plataforma.

az containerapp update \
  --name ai-document-api \
  --resource-group rg-ai200-aca \
  --image myregistry.azurecr.io/ai-document-api@sha256:<digest>

az containerapp show \
  --name ai-document-api \
  --resource-group rg-ai200-aca \
  --query properties.template.containers
Digest imutável cria uma revisão nos Aplicativos de Contêiner do Azure, validada antes de receber o tráfego da revisão estável.
O rollout seguro separa criação, comprovação de integridade, mudança de tráfego e retenção do .

Resumo do tópico

Use digests auditáveis, reconheça quais mudanças criam revisões e valide o template antes de liberar tráfego.

3. Modos de revisão, ativação, tráfego e

No modo de revisão única, a versão anterior permanece ativa até a substituta ser provisionada, atingir a quantidade esperada de réplicas e passar pelas sondas de inicialização e preparação. Se a nova falhar, o tráfego continua na anterior. O modo de várias revisões permite ativar mais de uma versão, dividir tráfego e realizar canário, teste A/B ou implantação azul-verde.

Significado operacional dos controles.
ControleModo únicoModo múltiplo
Revisões ativasUma revisão após a transição bem-sucedida.Várias revisões simultaneamente.
TráfegoA plataforma move após comprovar a preparação.O operador distribui pesos ou rótulos.
Uma atualização restaura a configuração saudável.O tráfego volta para uma revisão retida ou reativada.
Uso indicadoPublicações simples em produção.Canário, azul-verde, A/B ou controle explícito.

Ativa significa apta a executar e receber tráfego; não significa que todo o tráfego precise chegar nela. Revisões inativas preservam histórico sem manter réplicas. Antes de mudar pesos, confirme integridade e e, quando necessário, valide um modelo novo com uma pequena parcela de tráfego.

Resumo do tópico

O modo único automatiza a troca protegida; o múltiplo oferece ativação e divisão de tráfego para entrega progressiva e rápido.

4. Inspecionar, desativar e reter revisões

Liste revisões para localizar a versão ativa e a versão com falha. Compare imagem, ambiente, recursos e integridade da suspeita com uma versão saudável. Desative antes de excluir: a desativação encerra suas réplicas e a exposição ao tráfego, mas preserva a configuração como evidência e possível caminho de .

az containerapp revision list \
  --name ai-document-api --resource-group rg-ai200-aca --all -o table

az containerapp revision show \
  --name ai-document-api --resource-group rg-ai200-aca \
  --revision <revision-name>

az containerapp revision deactivate \
  --name ai-document-api --resource-group rg-ai200-aca \
  --revision <revision-name>

Exclua versões obsoletas apenas depois do incidente e da janela de . Por padrão, os mantêm até 100 revisões inativas e removem as mais antigas ao ultrapassar o limite configurado. Ajuste maxInactiveRevisions conforme auditoria, recuperação e clareza operacional.

Resumo do tópico

Investigue por revisão, desative antes da limpeza destrutiva e documente uma janela de retenção para e evidências.

5. Iniciar, parar, reiniciar ou reduzir a zero

Cada ação resolve um problema. Reduzir a zero é automático e orientado por regras, adequado a trabalho intermitente ou baseado em eventos. Parar é uma pausa explícita de todo o aplicativo e garante que réplicas não sejam iniciadas durante uma contenção. Reiniciar recicla réplicas para limpar um estado transitório ou aplicar uma mudança, mas amplia cold starts em serviços que carregam modelos grandes.

Iniciar e parar atuam no aplicativo inteiro; na CLI do atual, o comando de reinício aponta para uma revisão nomeada. Se só uma versão estiver defeituosa, desative ou reinicie aquela revisão. Sempre acompanhe um restart com e integridade, pois reciclar o processo pode apenas adiar a falha. O contêiner também deve tratar encerramento gracioso e manter estado durável fora do sistema de arquivos local.

az containerapp stop --name ai-document-api --resource-group rg-ai200-aca
az containerapp start --name ai-document-api --resource-group rg-ai200-aca
az containerapp revision restart \
  --name ai-document-api --resource-group rg-ai200-aca \
  --revision <revision-name>

az containerapp revision list \
  --name ai-document-api --resource-group rg-ai200-aca \
  --query "[].{name:name,active:properties.active,health:properties.healthState}" \
  -o table

Resumo do tópico

Use a ação mais estreita: escala zero para ociosidade, parada para pausa garantida, reinício para estado transitório e controles de revisão para falhas de uma versão.

6. Checklist repetível de falhas

Comece nomeando a revisão com falha e comparando a integridade da plataforma com os da aplicação. Verifique camadas comuns em ordem fixa para não esconder a causa com reinícios ou mais recursos.

  1. Pull da imagem: confirme servidor, digest, identidade ou credencial e autorização AcrPull.
  2. Porta e entrada: valide a porta e a interface em que o processo escuta.
  3. Configuração: compare variáveis e referências de segredos com a revisão saudável.
  4. Sondas: confira tipo, protocolo, caminho, porta, tempos e resposta.
  5. Recursos: procure encerramento por falta de memória, limitação de CPU, crash loop e aquecimento prolongado.
  6. Dependências e código: só depois da plataforma, investigue exceções e serviços externos.
Funil de diagnóstico relacionando estado da revisão, logs de sistema e console, sondas e métricas de recursos.
A correlação de sinais independentes converge mais rápido do que reiniciar repetidamente.

Resumo do tópico

Identifique a revisão e valide imagem, rede, configuração, sondas, recursos e código em uma sequência consistente.

7. Transmitir e reter os corretos

de console vêm de stdout e stderr; de sistema descrevem a plataforma e as revisões; opcionais mostram entrada, latência e respostas 5xx. A transmissão ao vivo ajuda a reproduzir um crash de inicialização ou uma exceção, enquanto o Analytics guarda histórico para consultas. O ambiente precisa ter o destino de configurado antes do incidente.

az containerapp logs show \
  --name ai-document-api --resource-group rg-ai200-aca \
  --follow --tail 50

az containerapp logs show \
  --name ai-document-api --resource-group rg-ai200-aca \
  --type system --tail 50

Registre ID de correlação, revisão ou build, tag ou digest, implantação ou versão do modelo, latência total e tempos das dependências. Prefira identificadores e a PDFs, prompts, credenciais ou dados pessoais brutos, mantendo capacidade de diagnóstico sem criar exposição.

ContainerAppConsoleLogs_CL
| where ContainerAppName_s == "ai-document-api"
| where RevisionName_s contains "<revision-name>"
| project TimeGenerated, RevisionName_s, Log_s
| order by TimeGenerated desc

Resumo do tópico

Combine de console e sistema com o histórico do e use estruturados que relacionem requisição, revisão, modelo e latência sem conteúdo sensível.

8. Diagnosticar um incidente específico de revisão

  1. Confirme os nomes da revisão ativa, da mais recente e da que falha.
  2. Acompanhe de console e sistema enquanto a revisão inicia ou a requisição é reproduzida.
  3. Compare imagem, variáveis, segredos, entrada, sondas e recursos com uma revisão saudável.
  4. Corrija um único ponto; mudanças no template gerarão outra revisão.
  5. Espere provisionamento e sondas, valide latência e erros e só então mova tráfego.
  6. Retenha a versão anterior durante a janela de e limpe de acordo com a política.

Mudar uma variável por vez preserva causalidade. Não apague o histórico nem aumente recursos como primeira reação quando a evidência indica variável ausente, porta errada ou caminho incorreto.

Resumo do tópico

Reduza o escopo, reproduza com , compare com uma base saudável, corrija um ponto e verifique a próxima revisão antes do tráfego.

9. Sondas de inicialização, preparação e atividade

Finalidade de cada sonda.
SondaPerguntaResposta da plataforma
InicializaçãoA aplicação concluiu o início?Protege inicializações lentas contra decisões prematuras.
PreparaçãoA réplica pode receber tráfego agora?Retira do roteamento a réplica não preparada.
AtividadeO processo continua responsivo?Reinicia a réplica depois de falhas repetidas.

de IA carregam modelos, aquecem e conectam dependências. A preparação só deve ter sucesso quando o serviço puder atender. A atividade deve detectar deadlock ou processo irrecuperável, não uma lentidão externa transitória. A plataforma aceita sondas (S) e ; sondas exec não são aceitas e só pode existir uma de cada tipo por contêiner.

properties:
  template:
    containers:
      - name: api
        image: myregistry.azurecr.io/ai-document-api@sha256:<digest>
        probes:
          - type: Startup
            httpGet: { path: /health/startup, port: 8080 }
            periodSeconds: 10
            failureThreshold: 12
          - type: Readiness
            httpGet: { path: /health/ready, port: 8080 }
            initialDelaySeconds: 20
            periodSeconds: 10
            timeoutSeconds: 2
            failureThreshold: 3
          - type: Liveness
            httpGet: { path: /health/live, port: 8080 }
            initialDelaySeconds: 60
            periodSeconds: 10
            timeoutSeconds: 2
            failureThreshold: 3

Resumo do tópico

Use inicialização para o aquecimento, preparação para proteger o tráfego e atividade para reciclar processos travados, sempre conforme o comportamento real.

10. Diagnosticar sondas sem criar loops de reinício

As causas mais frequentes são porta ou caminho incompatível, inacessível, protocolo incorreto, menor que o aquecimento ou dependência indisponível. Em sondas , respostas entre 200 e 399 representam sucesso.

  • Alinhe a porta da sonda ao processo e à porta de destino da entrada.
  • Exponha leves e separados quando inicialização, preparação e atividade tiverem critérios distintos.
  • Ajuste atraso, período, e limite de falhas com base no tempo medido.
  • Não faça a atividade depender de todos os sistemas externos.
  • Relacione horário e tipo da falha ao estado da revisão, e à experiência Diagnosticar e resolver problemas.

Uma atividade agressiva reinicia o processo antes que o modelo carregue e cria um loop de cold starts. Uma preparação permissiva produz o risco oposto: envia usuários para uma réplica incapaz de atender.

Resumo do tópico

Valide alcance e tempo medido, evite dependências transitórias na atividade e explique cada falha com e diagnóstico da revisão.

11. Dimensionar CPU e memória por réplica

CPU e memória determinam capacidade e custo unitário. CPU insuficiente causa limitação e picos de latência; memória insuficiente causa encerramentos, reinícios e novos carregamentos de modelo. O custo total combina tamanho, quantidade e tempo de execução das réplicas.

Meça latência da sob concorrência e vazão do worker, acompanhando CPU, memória, reinícios e preparação. Altere um limite por vez e repita a mesma carga. Uma versão de modelo pode mudar tempo de início, memória e latência, portanto o perfil deve ser revalidado.

az containerapp update \
  --name ai-document-api --resource-group rg-ai200-aca \
  --cpu 1.0 --memory 2Gi

az containerapp update \
  --name ai-document-api --resource-group rg-ai200-aca \
  --min-replicas 1 --max-replicas 10

Resumo do tópico

Escolha recursos pelo gargalo medido, repita testes representativos e reavalie após mudanças relevantes no modelo ou nas dependências.

12. Escalar síncronas e workers de formas diferentes

Os usam limites declarativos e regras baseadas no KEDA para criar ou remover réplicas. reage a requisições concorrentes; , a conexões; regras personalizadas podem usar CPU, memória, filas, do , do , Apache Kafka, Redis e outras fontes. Mudar a escala cria nova revisão.

Uma sensível à latência pode manter uma réplica mínima para reduzir cold starts e alinhar concorrência à CPU. Um worker baseado em eventos pode chegar a zero se o trabalho for durável e o encerramento for seguro. Sem entrada, defina regra personalizada ou mínimo, pois a aplicação precisa de um gatilho para despertar. Regras de CPU ou memória não reduzem a zero porque precisam de réplica ativa para medir.

Sondas e escala devem concordar: o aquecimento esperado não deve parecer falha. Réplicas mínimas elevam responsividade e custo base; máximas protegem orçamento e dependências, mas podem limitar vazão.

Comparação entre API de IA síncrona com réplica mínima e worker por eventos que reduz a zero, governados por recursos, sondas e KEDA.
Tamanho, concorrência, regras de escala e tempo das sondas formam uma única decisão de capacidade.

Resumo do tópico

Mantenha capacidade aquecida para , permita zero para workers duráveis e ajuste KEDA, limites, recursos e sondas como um sistema.

13. Laboratório guiado: diagnosticar uma documental

Use uma assinatura paga do com permissões, CLI do atual e ; Python 3.12 ou superior é opcional. ACR Tasks pode não executar com créditos gratuitos, portanto confirme a elegibilidade. Trabalhe em grupo de recursos descartável e remova-o ao terminar.

  1. Implante uma documental simulada e registre revisão ativa, FQDN, digest e base saudável.
  2. Remova uma variável obrigatória, acompanhe a nova revisão e use para localizar e corrigir o erro.
  3. Configure uma porta de destino incorreta e compare o processo com a entrada até corrigir.
  4. Adicione ou altere a preparação e diferencie aquecimento lento de incorreto.
  5. Consulte o Analytics por aplicativo e revisão e monte uma linha do tempo.
  6. Aplique a correção, prove a preparação, retenha o e remova apenas evidências obsoletas.

As evidências esperadas são estado das revisões, de console e sistema com correlação, configuração corrigida e observação antes/depois. Não registre documentos ou credenciais reais.

Resumo do tópico

O laboratório pratica configuração ausente e entrada incorreta e comprova a solução pelo estado da revisão, ao vivo e histórico do Analytics.

14. Revisão de conhecimentos

Perguntas e respostas explicadas.
CenárioMelhor respostaMotivo
Imagem em produçãoImplantar pelo digest imutável.Comprova o artefato e impede deslocamento silencioso da tag.
Investigar sem tráfegoDesativar a revisão suspeita.Interrompe réplicas e preserva configuração e evidência.
Preparação falha imediatamenteChecar porta e caminho.Incompatibilidade de é causa comum.
Exceção em uma revisãoTransmitir filtrados durante a reprodução.Confirma a falha sem mudanças amplas.
CPU limitada no picoAumentar CPU por réplica e revisar escala.Ataca diretamente o gargalo medido.

Resumo do tópico

O exame privilegia identidade imutável, controle estreito, diagnóstico por evidência, corretos e recursos ligados a métricas.

15. Checklist operacional e referências Microsoft

  • Antes: fixe o digest, registre build e modelo, confirme segredos, porta e tempos das sondas.
  • Durante: acompanhe provisionamento, sondas, , réplicas, latência e erros antes do tráfego.
  • No incidente: isole a revisão, preserve evidências, compare a base e mude um ponto.
  • Depois: teste , documente causa e sinal, aplique retenção e reavalie recursos e escala.
  1. revisions
  2. Application lifecycle management
  3. Application
  4. Health probes
  5. Scaling applications
  6. - az containerapp

Resumo do tópico

O runbook deve tornar explícitos identidade, portões de integridade, evidências, , limpeza e revisão de capacidade.