CloudExpert UP

Lab 09a: Implementar Web Apps

AZ-104 Intermediário 20 min Gratuito

📋 Visão Geral

Neste lab, você vai criar e gerenciar Azure Web Apps, configurar deployment slots e autoscaling.

  • Criar uma Azure Web App com runtime PHP 8.2 no Linux
  • Configurar um deployment slot de staging e implantar código via Git externo
  • Realizar swap de slots entre staging e production
  • Configurar autoscaling automático no App Service Plan
💡 Conceito-chave: O Azure App Service é uma plataforma PaaS totalmente gerenciada para hospedar aplicações web, APIs REST e backends mobile. Deployment slots permitem implantar e testar novas versões sem impactar a produção, enquanto o autoscaling garante que a aplicação se adapte automaticamente à demanda.

✅ Pré-requisitos

  • Uma subscrição Azure ativa
  • Permissões de Contributor ou superior

🌍 Task 1: Criar uma Azure Web App

Nesta tarefa, você criará uma Azure Web App pelo Portal Azure.

1

No Portal Azure, pesquise App Services e clique em + CreateWeb App.

2

Configure a Web App com as seguintes settings:

Configuração Valor
Resource groupaz104-rg9a
Nameaz104-webapp-[random] (nome único global)
Runtime stackPHP 8.2
Operating SystemLinux
RegionEast US
Pricing planPremium P1V3
3

Clique em Review + create e depois em Create. Aguarde o deploy.

💡 Nota: O App Service Plan define os recursos de computação (CPU, memória) para a Web App. O tier Premium P1V3 é necessário para funcionalidades como deployment slots. Tiers inferiores como Free (F1) e Basic (B1) não suportam slots de implantação.

🔀 Task 2: Criar um Deployment Slot de Staging

Nesta tarefa, você criará um deployment slot de staging para testar alterações antes de promovê-las para produção.

1

Navegue até a Web App criada e acesse Deployment slots no menu lateral.

2

Clique em + Add slot e configure:

Configuração Valor
Namestaging
Clone settings fromProduction slot
3

Clique em Add para criar o slot de staging.

💡 Nota: Deployment slots são instâncias live da Web App com seus próprios hostnames. O swap de slots permite trocar o conteúdo entre staging e production sem downtime. Você também pode configurar traffic routing para direcionar uma porcentagem do tráfego para o slot de staging (canary deployment).

🚀 Task 3: Configurar Implantação da Web App

Nesta tarefa, você configurará a implantação contínua no slot de staging usando um repositório Git externo.

1

No slot de staging, acesse Deployment Center no menu lateral.

2

Configure o source de deployment:

Configuração Valor
SourceExternal Git
Repositoryhttps://github.com/Azure-Samples/php-docs-hello-world
Branchmaster
3

Clique em Save e aguarde o deploy ser concluído. Verifique o status na aba Logs.

4

Acesse a URL do slot de staging para testar a aplicação:

# URL do slot de staging
https://<webapp-name>-staging.azurewebsites.net
✅ Resultado esperado: A página exibe "Hello World!" confirmando que o deploy do repositório PHP foi bem-sucedido no slot de staging.

🔄 Task 4: Trocar Slots (Swap)

Nesta tarefa, você realizará o swap do slot de staging para production, promovendo a aplicação "Hello World!" para o ambiente de produção.

1

Navegue de volta para a Web App principal e acesse Deployment slots.

2

Clique em Swap e configure:

Configuração Valor
Sourcestaging
Targetproduction
3

Clique em Swap para realizar a troca. Aguarde a conclusão.

4

Acesse a URL de produção da Web App para verificar o swap:

# URL de produção
https://<webapp-name>.azurewebsites.net
✅ Resultado esperado: A URL de produção agora exibe "Hello World!" — confirmando que o swap de staging → production foi realizado com sucesso.
💡 Nota: O Swap with preview (multi-phase swap) permite inspecionar o slot de destino antes de confirmar a troca. O Auto swap pode ser habilitado para fazer swap automaticamente após cada deploy bem-sucedido no slot configurado — ideal para pipelines de CI/CD.

📈 Task 5: Configurar Autoscaling

Nesta tarefa, você configurará o autoscaling automático no App Service Plan para escalar horizontalmente conforme a demanda.

1

Na Web App, acesse Scale out (App Service plan) no menu lateral.

2

Configure o autoscaling com as seguintes settings:

Configuração Valor
ScalingAutomatic
Maximum burst2
3

Clique em Save para aplicar a configuração de autoscaling.

💡 Nota: O Azure App Service oferece dois tipos de scaling: Automatic scaling (gerenciado pela plataforma, baseado em carga HTTP) e Rule-based scaling (custom autoscale, baseado em métricas como CPU, memória ou contagem de requisições). O scaling automático é mais simples e recomendado para a maioria dos cenários.

🧹 Limpeza

Remova os recursos criados para evitar custos desnecessários:

1

Delete o resource group az104-rg9a e todos os recursos associados.

az group delete --name az104-rg9a --yes --no-wait
⚠️ Importante: Sempre remova os recursos após completar o lab para evitar cobranças inesperadas na sua subscrição Azure.
🎉 Parabéns! Você implementou com sucesso Azure Web Apps com deployment slots, realizou swap entre staging e production, e configurou autoscaling automático no App Service Plan.