App Service overview
Azure App Service é um serviço com base em HTTP para hospedagem de aplicativos Web, APIs REST e back-ends móveis. Você pode desenvolver usando sua linguagem favorita, seja .NET, .NET Core, Java, Ruby, Node.js, PHP ou Python. Os aplicativos são executados e escalados com facilidade em ambientes baseados no Windows e no Linux.
App Service não agrega apenas o poder do Microsoft Azure ao seu aplicativo, como segurança, balanceamento de carga, dimensionamento automático e gerenciamento automatizado. Você pode também aproveitar seus recursos de DevOps, como implantação contínua desde o Azure DevOps, GitHub, Docker Hub e outras fontes, gerenciamento de pacotes, ambientes de preparo, domínio personalizado e certificados TLS/SSL.
Com o App Service, você paga pelos recursos de computação do Azure que usar. Os recursos de computação usados são determinados pelo App Service plan no qual os aplicativos são executados.
Azure App Service plan overview
No App Service (Web Apps, API Apps, or Mobile Apps), um aplicativo sempre é executado em um Service plan. Além disso, o Azure Functions também tem a opção de ser executado em um App Service plan. Um App Service plan define um conjunto de recursos de computação para um web app executar. Esses recursos de computação são análogos ao server farm na hospedagem convencional da web. Um ou mais aplicativos podem ser configurados para serem executados nos mesmos recursos de computação (ou no mesmo plano do Serviço de Aplicativo).
Quando você cria um App Service plan em uma determinada região (por exemplo, Europa Ocidental), um conjunto de recursos de computação é criado para esse plano nessa região. Quaisquer aplicativos que você colocar neste plano de serviço de aplicativo são executados nesses recursos de computação, conforme definido por seu plano de serviço de aplicativo. Cada plano de serviço de aplicativo define:
- Sistema operacional (Windows, Linux)
- Região (oeste dos EUA, leste dos EUA etc.)
- Número de instâncias de VM
- Tamanho das instâncias de VM (pequeno, médio, grande)
- Nível de preços (gratuito, compartilhado, básico, padrão, Premium, PremiumV2, PremiumV3, isolado)
App Services Deployment Slots
Podemos implantar os aplicativos da web em slots de implantação separados para garantir que o aplicativo seja executado conforme o esperado antes de entrar em produção. Os slots de implantação podem ser criados em planos de serviço de aplicativo padrão ou premium. Slots de implantação são contêineres para hospedar os aplicativos com seu próprio endereço IP, conteúdo e configuração.
Os serviços de aplicativos são executados no slot padrão conhecido como slot de produção e contêm slots de implantação para verificar a versão do aplicativo. De todas as instâncias criadas, uma delas sempre apontará para o slot padrão, e podemos tentar trocar diferentes instâncias com apenas um clique.
Depois que a instância do aplicativo é verificada, ela pode ser trocada pelo slot de produção padrão, garantindo tempo de inatividade zero. Mas sempre que você sentir que o aplicativo não está funcionando como esperado, troque por uma instância diferente que esteja funcionando bem. Para testar a usabilidade do aplicativo, ele fornece uma opção para deslocar algum tráfego para o slot de implantação para verificar a funcionalidade e a resposta do usuário.
Benefícios dos slots de implantação
- Tempo de inatividade mínimo para o site de produção: Com o slot de teste no lugar, podemos enviar nossas alterações para o slot de teste e testar se tudo funciona conforme o esperado e, em seguida, trocar facilmente o slot de teste pelo de produção. Como o Azure realiza essa atividade alterando o IP virtual dos slots, ele é concluído em segundos e as alterações de código mais recentes refletem no site ao vivo com impacto mínimo para os negócios.
- Rollback Deployment: Agora que implantamos uma nova versão do aplicativo por meio da troca do slot de teste para a produção, podemos reverter facilmente trocando novamente o slot de produção pelo slot de teste.
- Teste eficaz: os slots de implantação fornecem configuração ambiental em tempo real como o site de produção no Azure, portanto, podemos fazer testes eficazes no ambiente de preparação e haverá menos chances de problemas em que alguma coisa quebra na produção.
Observação: O número de slots de implementação é diferente para cada plano de serviço de aplicativo.
Passo a Passo
01 – Faça login no portal do Azure.
02 – No portal do Azure pesquise por App Services.
03 – Na tela App Services, clique em Create app service.
04 – Na tela Create Web App, para a opção Project Details selecione a subscription e resource group.
Na opção Instance Details, em Name digite um nome para o recurso, em Publish podemos escolher entre Code e Docker container, para a opção Code podemos criar aplicativos .NET, ASP.NET, Java, Node, PHP, Python e Ruby, para a opção Docker Container podemos criar container para os sistemas operacionais Windows e Linux. Em Publish vamos selecionar Code e em Runtime stack vamos selecionar .NET 5, para a opção Operating System selecione Windows, em Region selecione a região que deseja criar o recurso.
Para a opção App Service Plan, em Windows Plan (East US) clique em Create new, digite um nome para o App Service Plan e clique em OK.
Ainda na configuração do App Service Plan, em Sku and size clique em Change size.
Na tela Spec Picker, podemos escolher o tamanho do App Service Plan, temos disponível os planos Dev/Tes, Production, Isolated, após selecionar um plano podemos ver abaixo em Include features todos as funções disponíveis no plano.
Para nosso exemplo vou selecionar o plano Production e selecione o tier S1 com 1.75 GB de memoria, em seguida clique em Apply.
05 – Como já definimos todas as configurações para a opção Basics, clique em Next: Deployment (Preview).
06 – Na tela Deployment (Preview), podemos executar um código que está no GitHub direto no App Service, não vamos realizar essa configuração inicialmente, clique em Next: Monitoring.
Para maiores informações sobre o Deployment (Preview) acesso o link abaixo.
07 – Na tela Monitoring, aqui nessa opção podemos monitorar automaticamente nossos aplicativos, para a opção Enble Application Insignts clique em Yes, em Application Insights clique em Create new, na tela Create new Application Insights selecione um nome e localização, em seguida clique em OK.
08 – Como definimos as configurações de monitoramento e inicialmente não vamos criar Tags, clique em Review + create.
09 – Na tela Review + create, verifique se tudo está correto, se tudo estiver OK clique em Create.
10 – Aguarde a finalização do provisionamento do recurso.
11 – Como podemos observar o App Service foi provisionado, clique em Go to resource.
12 – Em overview no App Service, tempos a opção URL do aplicativo os usuários poderão acessar o aplicativo através dessa URL.
13 – Copie a URL https://app-homolog.azurewebsites.net, cole em seu navegador e observe que estamos na página padrão do App Service.
Criar Azure App Service utilizando o PowerShell
Já escrevi um artigo aqui no site mostrando como criar um App service utilizando o portal, acesse o link abaixo para conferir.
Para esse artigo vamos criar um App Service utilizando o PowerShell.
01 – Faça login no portal do Azure.
02 – No portal do Azure, abra o Azure Cloud Shell e clique em Open new session.
03 – Execute o script abaixo para criar o App Service Plan e o App Service na localização East US.
#Criar um Resource Group #
# Variáveis
$Location =”East US”
$App1_Name = “AppService01”
$RG_name = “RG-App_Services”
$tier = “Standard”
$Plan_name = “planAppService01”
# Criar um grupo de recursos
New-AzResourceGroup -Name $RGname -Location $Location1
# Criar App Service Plan
New-AzAppservicePlan -Name $Planname -ResourceGroupName $RGname -Location $Location -Tier $tier
# Criar App Servie
New-AzWebApp -Name $App1Name -ResourceGroupName $RGname -Location $Location -AppServicePlan $Planname
Como podemos observar na imagem abaixo o App Service está sendo provisionado.
04 – Como podemos observar nossos recursos foram provisionados com sucesso.
05 – No portal do Azure pesquise por App Services.
06 – Observe que temos o App service AppService01teste e o App service Plan AppService01testeplan.
Falaremos muito aqui no blog sobre App Services aguarde os próximos posts.
Comente suas sugestões e observações!
Forte abraço, obrigado e até o próximo post
Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud
Computing e Cloud Security.
Forte atuação em projetos de Cloud Security no Microsoft Azure e com tecnologias de
segurança do Microsoft 365.
Tenho Experiência em Microsoft Azure, Microsoft 365, AWS e Windows Server.
Sou Microsoft MVP na categoria Microsoft Azure, AWS Communit Builder Security & Identity e
MCT.
Boa noite Jadson excelente explicação, me gerou uma dúvida onde hospeda a aplicação o path para subir minha aplicação no WEB APP?
Olá Laerte fico feliz que tenha gostado.
Você pode encontrar o Path no App Service no seguinte caminho (Settings – Confuguration – Path mappings)