Azure App Service ARM Template – Ready-to-Deploy Reusable Solution

Overview
This deployment package provides a fully configured Azure App Service environment using Azure Resource Manager (ARM) templates.
The solution deploys both an App Service Plan and a Web App, enabling fast, consistent, and repeatable application hosting setup.
What This Template Deploys
- Azure App Service Plan (Linux)
- Azure Web App
- Configurable runtime stack (Node.js, .NET, etc.)
- HTTPS-only configuration for secure access
Files Included
- template.json
ARM template defining the App Service Plan and Web App
- parameters.json
Parameter file used to customize deployment values
- deploy.ps1
PowerShell script for validation and deployment preview
Prerequisites
To use this template, you will need:
- An active Azure subscription
- Access to Azure Portal or Azure Cloud Shell
- Azure PowerShell (optional if using Cloud Shell)
Important Note About Deployment
This template uses the Free tier (F1) by default.
Some Azure subscriptions or regions may have:
- No available quota for Free App Service tier
- Restrictions that prevent deployment, even in What-If mode
Because of this, the provided deployment script runs in **safe validation mode only**.
How to Deploy
Step 1: Update Parameters
Open **parameters.json** and update:
- appServicePlanName
Name of the App Service Plan
- webAppName
Must be globally unique
- location
Example: eastus
- skuName
Default: F1 (Free tier)
Alternatives: B1, S1, etc. (paid tiers)
- linuxFxVersion
Example: NODE|18-lts, DOTNETCORE|8.0
Step 2: Upload Files (Cloud Shell)
Upload:
- template.json
- parameters.json
- deploy.ps1
Step 3: Run Validation
```powershell
.\deploy.ps1 -resourceGroupName RG-ARM-TEMPLATES
Deployment Behavior
The script performs:
Resource group validation or creation
What-If preview of resources
Skips actual deployment due to potential quota limitations
Expected Result
After validation:
App Service Plan configuration is verified
Web App configuration is verified
Resource dependencies are confirmed
If You Want to Deploy
To deploy the resources, update:
"skuName": "B1"
Then run deployment manually:
New-AzResourceGroupDeployment -ResourceGroupName RG-ARM-TEMPLATES -TemplateFile template.json -TemplateParameterFile parameters.json
Note:
Paid SKUs will incur Azure charges
Notes
Web App names must be globally unique
HTTPS is enforced by default
Template uses Linux-based App Service configuration
Runtime stack is fully customizable
Summary
This package provides a reusable Azure App Service deployment solution, enabling consistent and secure application hosting configuration while allowing flexibility for different environments and runtime requirements.
Support
For questions or custom template requests, please contact:
ITCloudAcademy Support Team
Email: support@ITCloudAcademy.net
Email: info@ITCloudAcademy.net
Website: http://www.itcloudacademy.net
Support Hours:
Monday to Friday
9:00 AM to 6:00 PM MST
