Lab 09a: Implementar Web Apps
📋 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
✅ 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.
No Portal Azure, pesquise App Services e clique em + Create → Web App.
Configure a Web App com as seguintes settings:
| Configuração | Valor |
|---|---|
| Resource group | az104-rg9a |
| Name | az104-webapp-[random] (nome único global) |
| Runtime stack | PHP 8.2 |
| Operating System | Linux |
| Region | East US |
| Pricing plan | Premium P1V3 |
Clique em Review + create e depois em Create. Aguarde o deploy.
🔀 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.
Navegue até a Web App criada e acesse Deployment slots no menu lateral.
Clique em + Add slot e configure:
| Configuração | Valor |
|---|---|
| Name | staging |
| Clone settings from | Production slot |
Clique em Add para criar o slot de staging.
🚀 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.
No slot de staging, acesse Deployment Center no menu lateral.
Configure o source de deployment:
| Configuração | Valor |
|---|---|
| Source | External Git |
| Repository | https://github.com/Azure-Samples/php-docs-hello-world |
| Branch | master |
Clique em Save e aguarde o deploy ser concluído. Verifique o status na aba Logs.
Acesse a URL do slot de staging para testar a aplicação:
# URL do slot de staging
https://<webapp-name>-staging.azurewebsites.net
🔄 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.
Navegue de volta para a Web App principal e acesse Deployment slots.
Clique em Swap e configure:
| Configuração | Valor |
|---|---|
| Source | staging |
| Target | production |
Clique em Swap para realizar a troca. Aguarde a conclusão.
Acesse a URL de produção da Web App para verificar o swap:
# URL de produção
https://<webapp-name>.azurewebsites.net
📈 Task 5: Configurar Autoscaling
Nesta tarefa, você configurará o autoscaling automático no App Service Plan para escalar horizontalmente conforme a demanda.
Na Web App, acesse Scale out (App Service plan) no menu lateral.
Configure o autoscaling com as seguintes settings:
| Configuração | Valor |
|---|---|
| Scaling | Automatic |
| Maximum burst | 2 |
Clique em Save para aplicar a configuração de autoscaling.
🧹 Limpeza
Remova os recursos criados para evitar custos desnecessários:
Delete o resource group az104-rg9a e todos os recursos associados.
az group delete --name az104-rg9a --yes --no-wait