Bird
Raised Fist0
Azurecloud~5 mins

App Service plans and pricing tiers in Azure - Commands & Configuration

Choose your learning style10 modes available
Introduction
When you want to run web apps on Azure, you need to choose how much power and features your app gets. App Service plans let you pick the size and cost of the server resources your app uses. Pricing tiers decide what features and performance you get for your money.
When you want to host a simple website with low traffic and keep costs low.
When you need to run multiple apps on the same server to save money.
When your app needs more CPU and memory to handle more users.
When you want features like custom domains, SSL, or autoscaling.
When you want to test your app in a development environment before going live.
Commands
This command creates an Azure App Service plan named 'myAppServicePlan' in the resource group 'myResourceGroup' using the Basic B1 pricing tier on Linux. It sets up the server resources your app will use.
Terminal
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku B1 --is-linux
Expected OutputExpected
{ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan", "location": "eastus", "name": "myAppServicePlan", "properties": { "status": "Ready", "targetWorkerCount": 1, "targetWorkerSizeId": 1 }, "sku": { "capacity": 1, "family": "B", "name": "B1", "size": "B1", "tier": "Basic" }, "type": "Microsoft.Web/serverfarms" }
→
--sku - Sets the pricing tier and size of the App Service plan.
→
--is-linux - Specifies that the plan is for Linux-based apps.
This command shows details about the App Service plan you created, so you can verify its pricing tier and settings.
Terminal
az appservice plan show --name myAppServicePlan --resource-group myResourceGroup
Expected OutputExpected
{ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan", "location": "eastus", "name": "myAppServicePlan", "properties": { "status": "Ready", "targetWorkerCount": 1, "targetWorkerSizeId": 1 }, "sku": { "capacity": 1, "family": "B", "name": "B1", "size": "B1", "tier": "Basic" }, "type": "Microsoft.Web/serverfarms" }
This command upgrades the App Service plan to the Standard S1 pricing tier, giving your app more features and better performance.
Terminal
az appservice plan update --name myAppServicePlan --resource-group myResourceGroup --sku S1
Expected OutputExpected
{ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan", "location": "eastus", "name": "myAppServicePlan", "properties": { "status": "Ready", "targetWorkerCount": 1, "targetWorkerSizeId": 2 }, "sku": { "capacity": 1, "family": "S", "name": "S1", "size": "S1", "tier": "Standard" }, "type": "Microsoft.Web/serverfarms" }
→
--sku - Changes the pricing tier and size of the App Service plan.
This command lists all App Service plans in your resource group so you can see all your plans and their pricing tiers.
Terminal
az appservice plan list --resource-group myResourceGroup
Expected OutputExpected
[ { "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan", "location": "eastus", "name": "myAppServicePlan", "properties": { "status": "Ready", "targetWorkerCount": 1, "targetWorkerSizeId": 2 }, "sku": { "capacity": 1, "family": "S", "name": "S1", "size": "S1", "tier": "Standard" }, "type": "Microsoft.Web/serverfarms" } ]
Key Concept

If you remember nothing else from this pattern, remember: App Service plans control the power and features your web apps get, and pricing tiers decide the cost and capabilities.

Common Mistakes
Creating an App Service plan without specifying the pricing tier (sku).
Azure defaults to a free tier which has limited features and may not support your app needs.
Always specify the --sku flag with the desired pricing tier when creating the plan.
Trying to run a Linux app on a Windows App Service plan or vice versa.
App Service plans are OS-specific; mixing them causes deployment failures.
Use --is-linux flag for Linux apps and omit it for Windows apps when creating the plan.
Not upgrading the App Service plan when app traffic grows.
Your app may slow down or crash due to insufficient resources.
Use az appservice plan update to change the pricing tier as your app needs grow.
Summary
Create an App Service plan with az appservice plan create and specify the pricing tier with --sku.
Check your plan details with az appservice plan show to confirm settings.
Upgrade your plan with az appservice plan update to get more power or features.
List all plans in a resource group with az appservice plan list to manage multiple plans.

Practice

(1/5)
1. What does an Azure App Service plan primarily define for your web app?
easy
A. The amount of computing resources like CPU and memory allocated
B. The programming language your app uses
C. The number of users who can access your app
D. The database type your app connects to

Solution

  1. Step 1: Understand the role of an App Service plan

    An App Service plan defines the compute resources such as CPU, memory, and storage that your app will use.
  2. Step 2: Differentiate from other app settings

    It does not control programming language, user count, or database type, which are separate configurations.
  3. Final Answer:

    The amount of computing resources like CPU and memory allocated -> Option A
  4. Quick Check:

    App Service plan = compute resources [OK]
Hint: App Service plan = resources your app runs on [OK]
Common Mistakes:
  • Confusing App Service plan with app code or database
  • Thinking it controls user access limits
  • Assuming it sets programming language
2. Which of the following is the correct way to specify a Standard pricing tier in an Azure App Service plan using Azure CLI?
easy
A. az appservice plan create --name MyPlan --resource-group MyGroup --plan-tier Standard
B. az appservice plan create --name MyPlan --resource-group MyGroup --sku Standard
C. az appservice plan create --name MyPlan --resource-group MyGroup --pricing-tier Standard
D. az appservice plan create --name MyPlan --resource-group MyGroup --tier Standard

Solution

  1. Step 1: Recall Azure CLI syntax for App Service plan creation

    The correct parameter to specify pricing tier is '--sku' followed by the tier name like 'Standard'.
  2. Step 2: Verify other options

    Options using '--tier', '--pricing-tier', or '--plan-tier' are invalid parameters and will cause errors.
  3. Final Answer:

    az appservice plan create --name MyPlan --resource-group MyGroup --sku Standard -> Option B
  4. Quick Check:

    Use --sku to set pricing tier [OK]
Hint: Use --sku to set tier in Azure CLI [OK]
Common Mistakes:
  • Using incorrect parameter names like --tier or --pricing-tier
  • Confusing plan name with tier parameter
  • Omitting the resource group
3. Given an App Service plan with pricing tier set to 'Basic', what will happen if you try to enable autoscaling for your app?
medium
A. Autoscaling is enabled by default on Basic tier
B. Autoscaling will work because Basic tier supports it
C. Autoscaling will work only during business hours
D. Autoscaling will fail because Basic tier does not support autoscale

Solution

  1. Step 1: Understand autoscaling support by pricing tiers

    Autoscaling is supported starting from the Standard tier and above, not in Basic tier.
  2. Step 2: Apply this to the Basic tier scenario

    Since Basic tier lacks autoscale support, attempts to enable it will fail or be blocked.
  3. Final Answer:

    Autoscaling will fail because Basic tier does not support autoscale -> Option D
  4. Quick Check:

    Basic tier = no autoscale support [OK]
Hint: Autoscale needs Standard or higher tier [OK]
Common Mistakes:
  • Assuming Basic tier supports autoscale
  • Thinking autoscale is automatic on all tiers
  • Confusing Basic with Standard tier features
4. You created an App Service plan with the SKU 'F1' but your app is not accessible publicly. What is the most likely cause?
medium
A. You must assign a custom domain to make it public
B. F1 tier does not support public access by default
C. F1 is a Free tier and may have limited outbound network access
D. F1 tier requires manual SSL configuration before public access

Solution

  1. Step 1: Understand the Free (F1) tier limitations

    The Free tier (F1) has restrictions including limited outbound network access and possible cold start delays.
  2. Step 2: Relate these limits to app accessibility

    Limited network access can cause the app to be unreachable or slow, but public access is allowed.
  3. Final Answer:

    F1 is a Free tier and may have limited outbound network access -> Option C
  4. Quick Check:

    F1 tier = limited network, possible access issues [OK]
Hint: Free tier has network limits causing access issues [OK]
Common Mistakes:
  • Thinking Free tier blocks public access
  • Assuming custom domain is required for public access
  • Believing SSL setup is mandatory for access
5. You need to host a production web app with high traffic, custom domains, SSL, autoscaling, and daily backups. Which App Service plan pricing tier should you choose?
hard
A. Standard (S1)
B. Basic (B1)
C. Free (F1)
D. Shared (D1)

Solution

  1. Step 1: Identify required features for production app

    High traffic, custom domains, SSL, autoscaling, and backups require a tier with advanced features.
  2. Step 2: Match features to pricing tiers

    Standard tier supports autoscaling, custom domains, SSL, and backups. Basic lacks autoscaling and some features. Free and Shared tiers are limited.
  3. Final Answer:

    Standard (S1) -> Option A
  4. Quick Check:

    Production needs Standard tier features [OK]
Hint: Standard tier supports autoscale and backups [OK]
Common Mistakes:
  • Choosing Free or Shared for production needs
  • Assuming Basic supports autoscale
  • Ignoring backup requirements
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard