Precisa de um plano do App Service para uma aplicação web de produção com domínios personalizados/SSL, autoscale e slots de implantação.
→Use o nível de plano Standard (S1) do App Service ou superior.
Por quê: Standard é o nível mínimo que suporta todas as funcionalidades chave de produção: domínios personalizados com SSL, autoscale e slots de implantação. O nível Basic não possui autoscale e slots.
Referência↗
Realizar uma implantação sem tempo de inatividade para um App Service e manter as configurações de produção (como strings de conexão) no slot de produção.
→Use slots de implantação. Marque as configurações específicas de produção como "configurações de slot de implantação" (sticky). Realize uma operação de swap para implantar.
Por quê: A operação de swap "aquece" o slot de staging antes de redirecionar o tráfego. As configurações sticky não se movem com o código durante um swap, evitando que as configurações de staging entrem em produção.
Referência↗
Um App Service precisa se conectar a um recurso on-premises (ex: SQL Server) sem uma VPN ou ExpressRoute.
→Use App Service Hybrid Connections. Instale o Hybrid Connection Manager (HCM) on-premises.
Por quê: Hybrid Connections fornecem um túnel TCP seguro para recursos on-premises sem exigir portas de firewall de entrada, uma VPN ou integração de VNet. O HCM inicia a conexão de saída.
Uma Azure Function no plano Consumption experience atrasos de cold start, causando latência.
→Migre para o plano Functions Premium e configure um mínimo de uma instância pré-aquecida.
Por quê: O plano Premium elimina cold starts mantendo um número especificado de instâncias sempre prontas. É mais econômico do que um plano Dedicated completo para este fim.
Referência↗
Uma Azure Function no plano Consumption está a exceder o tempo limite porque leva mais de 10 minutos para ser executada.
→Migre a função para um plano Premium ou Dedicated (App Service).
Por quê: O plano Consumption tem um tempo limite máximo de 10 minutos. Os planos Premium e Dedicated suportam tempos de execução muito mais longos (até 60 minutos ou ilimitado).
Processar um grande número de itens independentes em paralelo e esperar que todos sejam concluídos antes de prosseguir.
→Implemente o padrão Fan-out/Fan-in do Durable Functions. O orquestrador chama várias funções de atividade concorrentemente e usa `Task.WhenAll` (ou equivalente) para aguardar a conclusão.
Por quê: Este padrão é projetado para execução paralela, que é muito mais eficiente do que o processamento sequencial (Function Chaining) para tarefas independentes.
Referência↗
Um workflow de longa duração deve aguardar um evento externo, como aprovação humana, com um tempo limite.
→Use o padrão Human Interaction do Durable Functions. Combine `waitForExternalEvent` com um `createTimer`. Use `Task.WhenAny` para prosseguir quando o evento chega ou o timer expira.
Por quê: Este padrão permite que as orquestrações pausem indefinidamente sem consumir computação, aguardando um gatilho externo, enquanto também gerem tempos limite de forma elegante.
Uma aplicação contentorizada precisa escalar para zero instâncias quando não há tráfego para minimizar custos.
→Use Azure Container Apps com uma regra de escalonamento baseada em KEDA (ex: requisições HTTP ou tamanho da fila).
Por quê: Container Apps com scalers KEDA podem escalar para zero réplicas quando ociosas e escalar sob demanda, o que é ideal para workloads orientadas a eventos ou intermitentes. O escalonamento de CPU/memória não pode escalar para zero.
Um microsserviço de backend no Azure Container Apps deve ser acessível apenas por outras aplicações de container dentro do mesmo ambiente, não da internet pública.
→Ative o ingresso na aplicação de container de backend e defina a visibilidade do tráfego como `internal`.
Por quê: O ingresso interno restringe o acesso ao ambiente do Container Apps. Outras aplicações no ambiente podem descobrir e chamar o serviço usando seu FQDN interno.
Precisa executar um único container para uma tarefa simples, um teste ou um trabalho em lote sem orquestração.
→Use Azure Container Instances (ACI).
Por quê: ACI é a maneira mais rápida e simples de executar um único container sem gerenciar qualquer infraestrutura subjacente. Use Container Apps ou AKS para orquestrar aplicações multi-container.
Precisa construir e enviar uma imagem Docker para o Azure Container Registry (ACR) a partir de um Dockerfile local, mas o Docker não está instalado localmente.
→Use o comando `az acr build`.
Por quê: `az acr build` descarrega o processo de construção para o ACR Tasks na cloud. Ele envia o contexto de construção para o Azure, constrói a imagem e a armazena diretamente no registry.