Bird
Raised Fist0
Azurecloud~30 mins

Azure Savings Plans - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Azure Savings Plans Setup
📖 Scenario: You are managing cloud costs for a small company using Microsoft Azure. You want to save money by committing to Azure Savings Plans, which offer discounts on compute usage in exchange for a commitment to spend a fixed amount over a period.
🎯 Goal: Create a simple Azure Savings Plan configuration using JSON that defines the plan details, including the plan name, commitment amount, term, and applicable services.
📋 What You'll Learn
Create a JSON object named savingsPlan with the exact keys and values specified.
Add a configuration variable termInYears to represent the commitment term in years.
Use the termInYears variable to set the term field in the savings plan.
Complete the JSON configuration by adding the applicableServices array with specified services.
💡 Why This Matters
🌍 Real World
Azure Savings Plans help organizations reduce cloud costs by committing to consistent usage over time.
💼 Career
Cloud architects and cost managers use savings plans configurations to optimize budgets and forecast expenses.
Progress0 / 4 steps
1
Create the initial Azure Savings Plan data
Create a JSON object called savingsPlan with these exact key-value pairs: "planName": "StandardComputePlan", "commitmentAmount": 1000, and "term": "" (empty string).
Azure
Hint

Define a JSON object with keys planName, commitmentAmount, and term. Set term to an empty string for now.

2
Add the commitment term variable
Add a variable called termInYears and set it to the number 3 to represent a 3-year commitment term.
Azure
Hint

Define a variable named termInYears and assign it the value 3.

3
Set the term field using the commitment term
Update the term field in the savingsPlan JSON object to the string value of termInYears followed by the word " years". For example, if termInYears is 3, then term should be "3 years".
Azure
Hint

Set the term key in savingsPlan to the string "3 years" using the termInYears variable.

4
Add applicable services to the savings plan
Add a key applicableServices to the savingsPlan JSON object. Set its value to an array containing the exact strings: "Virtual Machines", "App Services", and "Functions".
Azure
Hint

Add the applicableServices key with the specified array of service names.

Practice

(1/5)
1. What is the main benefit of using Azure Savings Plans?
easy
A. Lowering costs by committing to use services over time
B. Increasing the speed of virtual machines
C. Automatically scaling app services
D. Improving security of cloud resources

Solution

  1. Step 1: Understand the purpose of Azure Savings Plans

    Azure Savings Plans are designed to reduce costs by committing to use certain Azure services over a period.
  2. Step 2: Compare options to the main benefit

    Options A, B, and D describe performance or security improvements, which are not the primary goal of Savings Plans.
  3. Final Answer:

    Lowering costs by committing to use services over time -> Option A
  4. Quick Check:

    Cost savings = Lowering costs by commitment [OK]
Hint: Savings Plans reduce cost by commitment, not performance [OK]
Common Mistakes:
  • Confusing cost savings with performance improvements
  • Thinking Savings Plans improve security
  • Assuming Savings Plans scale resources automatically
2. Which of the following is the correct Azure CLI command to create a savings plan?
easy
A. az savingsplan deploy --name MyPlan --scope subscription
B. az savingsplan new --name MyPlan --scope subscription
C. az savings create --plan MyPlan --scope subscription
D. az savings-plan create --name MyPlan --scope subscription

Solution

  1. Step 1: Identify the correct Azure CLI syntax for savings plans

    The official command to create a savings plan uses az savings-plan create with parameters like --name and --scope.
  2. Step 2: Check other options for invalid commands

    Options B, C, and D use incorrect verbs or command structures not supported by Azure CLI.
  3. Final Answer:

    az savings-plan create --name MyPlan --scope subscription -> Option D
  4. Quick Check:

    Correct CLI command = az savings-plan create [OK]
Hint: Use 'az savings-plan create' to make a new plan [OK]
Common Mistakes:
  • Using 'new' instead of 'create' in CLI
  • Mixing 'savings' and 'savingsplan' commands
  • Incorrect parameter names
3. Given a steady workload of virtual machines running 24/7, what is the expected behavior when applying an Azure Savings Plan?
medium
A. Costs for the virtual machines will decrease due to the commitment
B. Virtual machines will automatically increase CPU cores
C. The workload will be moved to a cheaper region
D. Virtual machines will restart daily to apply savings

Solution

  1. Step 1: Understand how Savings Plans affect steady workloads

    Azure Savings Plans reduce costs by committing to usage, so steady workloads like 24/7 VMs benefit from lower prices.
  2. Step 2: Eliminate options unrelated to cost savings

    Options A, B, and C describe changes to performance, location, or VM behavior, which Savings Plans do not cause.
  3. Final Answer:

    Costs for the virtual machines will decrease due to the commitment -> Option A
  4. Quick Check:

    Steady workload + Savings Plan = Lower cost [OK]
Hint: Savings Plans cut cost, not change VM specs or location [OK]
Common Mistakes:
  • Thinking Savings Plans change VM performance
  • Assuming workload moves to cheaper regions automatically
  • Believing VMs restart to apply savings
4. You tried to create an Azure Savings Plan but received an error: "Invalid scope parameter." What is the most likely cause?
medium
A. The savings plan name is too long
B. The scope value is not a valid subscription or resource group ID
C. You did not specify the VM size
D. The Azure CLI version is outdated

Solution

  1. Step 1: Analyze the error message about scope

    The error "Invalid scope parameter" indicates the scope argument is incorrect or malformed.
  2. Step 2: Identify what scope should be

    Scope must be a valid subscription ID or resource group ID; an invalid or mistyped value causes this error.
  3. Final Answer:

    The scope value is not a valid subscription or resource group ID -> Option B
  4. Quick Check:

    Invalid scope = wrong subscription/resource ID [OK]
Hint: Check scope is valid subscription or resource group ID [OK]
Common Mistakes:
  • Ignoring scope format and using wrong IDs
  • Blaming name length for scope errors
  • Not updating Azure CLI before retrying
5. A company has fluctuating app service usage but wants to save costs with Azure Savings Plans. Which strategy best fits their needs?
hard
A. Avoid savings plans and pay pay-as-you-go only
B. Commit to the highest possible usage to cover all peaks
C. Commit to a savings plan based on their average steady usage to maximize savings
D. Create multiple savings plans for each app service separately

Solution

  1. Step 1: Understand Savings Plans suit steady predictable usage

    Savings Plans work best when usage is steady; fluctuating usage means committing to average steady usage is optimal.
  2. Step 2: Evaluate options for cost efficiency

    Commit to the highest possible usage to cover all peaks wastes money by committing to peak usage; C misses savings; D complicates management without extra benefit.
  3. Final Answer:

    Commit to a savings plan based on their average steady usage to maximize savings -> Option C
  4. Quick Check:

    Average steady usage commitment = best savings [OK]
Hint: Commit to average steady usage, not peaks, for best savings [OK]
Common Mistakes:
  • Committing to peak usage wastes money
  • Avoiding savings plans due to usage fluctuation
  • Creating many small savings plans unnecessarily