Bird
Raised Fist0
Azurecloud~20 mins

Container Apps scaling rules in Azure - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Container Apps Scaling Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
service_behavior
intermediate
2:00remaining
How does CPU-based scaling work in Azure Container Apps?

Azure Container Apps can scale based on CPU usage. What happens when the CPU usage exceeds the configured threshold?

AThe platform ignores CPU usage and scales only based on memory.
BThe platform decreases the number of container instances to save resources.
CThe platform restarts the container instances to clear CPU usage.
DThe platform increases the number of container instances to reduce CPU load.
Attempts:
2 left
💡 Hint

Think about how scaling helps manage load.

Configuration
intermediate
2:00remaining
What is the effect of setting a minimum replica count in Container Apps scaling?

If you configure a minimum replica count of 2 in your Container App's scaling rules, what is the expected behavior?

AThe Container App will run exactly 2 instances and never scale beyond that.
BThe Container App will scale down to zero instances when idle.
CThe Container App will always run at least 2 container instances, even if there is no traffic.
DThe Container App will ignore the minimum and scale based only on CPU.
Attempts:
2 left
💡 Hint

Minimum replicas prevent scaling below a certain number.

Architecture
advanced
2:00remaining
Which scaling rule best supports burst traffic in Azure Container Apps?

You expect sudden spikes in traffic to your Container App. Which scaling rule configuration will best handle this scenario?

ASet minimum replicas equal to maximum replicas to keep a fixed number of instances.
BSet a low CPU threshold with a high maximum replica count to quickly add instances during spikes.
CDisable scaling and manually add instances during spikes.
DSet a high CPU threshold with a low maximum replica count to limit resource use.
Attempts:
2 left
💡 Hint

Think about responsiveness and capacity during traffic bursts.

security
advanced
2:00remaining
What security risk can arise from improper scaling rule configuration in Container Apps?

If scaling rules allow unlimited scaling without limits, what security risk might occur?

APotential denial of service due to resource exhaustion and increased attack surface.
BAutomatic encryption of data at rest is disabled.
CContainer images become publicly accessible.
DScaling rules have no impact on security risks.
Attempts:
2 left
💡 Hint

Consider resource limits and attack vectors.

Best Practice
expert
3:00remaining
What is the recommended approach to configure scaling rules for cost efficiency and performance in Azure Container Apps?

To balance cost and performance, which scaling rule setup is best?

ASet a moderate CPU threshold, define minimum replicas to avoid cold starts, and set a reasonable maximum replica count.
BSet minimum replicas to zero, maximum replicas to unlimited, and no CPU threshold.
CSet CPU threshold very low and maximum replicas very high to always scale out.
DSet maximum replicas to one and disable scaling to save costs.
Attempts:
2 left
💡 Hint

Think about avoiding cold starts and controlling costs.

Practice

(1/5)
1. What is the main purpose of scaling rules in Azure Container Apps?
easy
A. To automatically adjust the number of app instances based on demand
B. To manually restart the app when it crashes
C. To set the app's color theme
D. To limit the app's network bandwidth

Solution

  1. Step 1: Understand scaling rules function

    Scaling rules help apps change the number of running instances automatically based on usage.
  2. Step 2: Identify the correct purpose

    Among the options, only automatic adjustment of instances matches scaling rules' purpose.
  3. Final Answer:

    To automatically adjust the number of app instances based on demand -> Option A
  4. Quick Check:

    Scaling rules = auto adjust instances [OK]
Hint: Scaling rules control instance count automatically [OK]
Common Mistakes:
  • Confusing scaling with manual restarts
  • Thinking scaling changes app appearance
  • Assuming scaling controls network limits
2. Which of the following is the correct JSON snippet to set a CPU-based scaling rule in Azure Container Apps?
easy
A. {"name":"cpu","type":"memory","metadata":{"value":"75"}}
B. {"name":"memory","type":"cpu","metadata":{"value":"75"}}
C. {"name":"cpu","type":"cpu","metadata":{"value":"75"}}
D. {"name":"requests","type":"http","metadata":{"value":"75"}}

Solution

  1. Step 1: Identify correct metric type for CPU scaling

    The metric type must be "cpu" to scale based on CPU usage.
  2. Step 2: Check JSON structure and metadata

    {"name":"cpu","type":"cpu","metadata":{"value":"75"}} correctly uses "cpu" type and sets a value of 75 for CPU percentage.
  3. Final Answer:

    {"name":"cpu","type":"cpu","metadata":{"value":"75"}} -> Option C
  4. Quick Check:

    CPU scaling JSON uses type "cpu" [OK]
Hint: CPU scaling uses type "cpu" in JSON metadata [OK]
Common Mistakes:
  • Using wrong metric type like memory for CPU scaling
  • Mixing HTTP request type with CPU
  • Incorrect JSON key names
3. Given this scaling rule snippet:
{"name":"http","type":"http","metadata":{"concurrentRequests":"50"}}

What happens when the app receives 60 concurrent HTTP requests?
medium
A. The app scales out to add more instances
B. The app scales in to reduce instances
C. The app ignores the requests and crashes
D. The app blocks all requests above 50

Solution

  1. Step 1: Understand the scaling trigger

    The rule triggers scaling when concurrent HTTP requests exceed 50.
  2. Step 2: Analyze the scenario with 60 requests

    Since 60 > 50, the app will scale out by adding instances to handle load.
  3. Final Answer:

    The app scales out to add more instances -> Option A
  4. Quick Check:

    Requests > threshold triggers scale out [OK]
Hint: Requests above limit cause scale out [OK]
Common Mistakes:
  • Thinking app scales in when load increases
  • Assuming app crashes on overload
  • Believing app blocks extra requests
4. You wrote this scaling rule JSON:
{"name":"cpu","type":"cpu","metadata":{"value":"abc"}}

What is the problem with this configuration?
medium
A. The JSON keys are misspelled
B. The type "cpu" is incorrect for CPU scaling
C. Scaling rules cannot use CPU metrics
D. The value for CPU threshold is not a valid number

Solution

  1. Step 1: Check the value field in metadata

    The value should be a number representing CPU percentage, but "abc" is not numeric.
  2. Step 2: Confirm type correctness

    The type "cpu" is correct, and keys are spelled properly.
  3. Final Answer:

    The value for CPU threshold is not a valid number -> Option D
  4. Quick Check:

    CPU value must be numeric [OK]
Hint: CPU threshold value must be a number [OK]
Common Mistakes:
  • Using non-numeric strings for threshold values
  • Changing correct type names
  • Misspelling JSON keys
5. You want to configure an Azure Container App to scale between 2 and 10 instances based on CPU usage exceeding 70%. Which JSON snippet correctly sets the min and max replicas along with the CPU scaling rule?
hard
A. {"minReplicas": 10, "maxReplicas": 2, "rules": [{"name": "cpuRule", "type": "cpu", "metadata": {"value": "70"}}]}
B. {"minReplicas": 2, "maxReplicas": 10, "rules": [{"name": "cpuRule", "type": "cpu", "metadata": {"value": "70"}}]}
C. {"minReplicas": 2, "maxReplicas": 10, "rules": [{"name": "cpuRule", "type": "memory", "metadata": {"value": "70"}}]}
D. {"minReplicas": 2, "maxReplicas": 10, "rules": [{"name": "cpuRule", "type": "http", "metadata": {"concurrentRequests": "70"}}]}

Solution

  1. Step 1: Verify min and max replicas values

    Min replicas should be 2 and max replicas 10 as per requirement; {"minReplicas": 2, "maxReplicas": 10, "rules": [{"name": "cpuRule", "type": "cpu", "metadata": {"value": "70"}}]} matches this correctly.
  2. Step 2: Check scaling rule type and metadata

    The rule must be type "cpu" with value "70" for CPU usage threshold; {"minReplicas": 2, "maxReplicas": 10, "rules": [{"name": "cpuRule", "type": "cpu", "metadata": {"value": "70"}}]} correctly sets this.
  3. Final Answer:

    {"minReplicas": 2, "maxReplicas": 10, "rules": [{"name": "cpuRule", "type": "cpu", "metadata": {"value": "70"}}]} -> Option B
  4. Quick Check:

    Min/max replicas correct and CPU rule set [OK]
Hint: Min < max replicas and type "cpu" for CPU scaling [OK]
Common Mistakes:
  • Swapping min and max replica values
  • Using wrong metric type like memory or http
  • Incorrect metadata keys for CPU scaling