AZ-104Chapter 162 of 168Objective 5.1

Autoscale Profiles and Schedule Rules

Autoscale profiles and schedule rules are a critical feature of Azure Virtual Machine Scale Sets (VMSS) and App Service Plans that allow you to define scaling behavior based on time, rather than just metrics. This chapter covers how to configure default, recurring, and fixed-date profiles, and how schedule rules interact with metric-based rules. Expect 5–10% of AZ-104 exam questions to touch on autoscale configuration, with profile and schedule rule details appearing in at least one or two questions. Mastering this topic ensures you can design cost-effective, responsive scaling for predictable workloads.

25 min read
Intermediate
Updated May 31, 2026

Autoscale Profiles as Store Schedules

Imagine a retail store that adjusts its staffing based on predictable foot traffic patterns. The store has a schedule rule: weekdays 9 AM–5 PM, staff 10 employees; weekdays 5 PM–9 PM, staff 15 employees (evening rush); weekends 10 AM–8 PM, staff 20 employees. This is an autoscale profile with schedule rules. The store manager (Azure Monitor) observes that on weekends, the afternoon rush (2–4 PM) often requires more staff, so they create a recurring schedule: every Saturday and Sunday from 2 PM to 4 PM, scale out to 25 employees (a scheduled scale-out rule). Additionally, if a flash sale causes an unexpected crowd, the manager can temporarily adjust (a one-time schedule) for that day only. The store also has default rules: if the number of customers per employee exceeds 10 for 5 minutes, automatically call in 2 more employees (metric-based autoscale). The schedule rules override the default metric rules during their time window, just like in Azure autoscale where scheduled profiles take precedence over default profiles. Without schedule rules, the store would rely solely on reactive metric scaling, which might be too slow for predictable surges. Azure autoscale profiles work exactly like this: you define default, recurring, and fixed-date profiles, each with their own instance limits and rules, and the autoscale engine applies the appropriate profile based on the current time.

How It Actually Works

What Are Autoscale Profiles and Schedule Rules?

Autoscale in Azure allows you to automatically increase or decrease the number of instances (VMs, web app instances, etc.) based on demand. An autoscale profile is a container that defines the instance limits (minimum, maximum, default) and the set of rules that govern scaling. A schedule rule (or scheduled profile) is a profile that is active only during a specific time window, either recurring (e.g., every weekday from 9 AM to 5 PM) or fixed-date (e.g., a specific date range for a promotion). Multiple profiles can be defined, and the autoscale engine selects the appropriate profile based on the current date and time.

Why Profiles Exist

Without profiles, you would have a single set of instance limits and rules for all times. However, many workloads have predictable patterns: higher traffic during business hours, lower traffic at night, or spikes during specific events. Profiles allow you to pre-configure scaling behavior for these patterns, ensuring that the scale set starts with an appropriate number of instances and reacts to metrics within the context of that profile.

How Profiles Work Internally

The autoscale engine runs every 30 seconds (the evaluation interval) and checks the current time against the defined profiles. It evaluates profiles in the following order of precedence:

1.

Fixed-date profiles – match exact date and time (highest priority).

2.

Recurring profiles – match weekly recurrence (e.g., every Monday).

3.

Default profile – always active (lowest priority).

When a profile is active, its instance limits (minimum, maximum, default) and scale rules are used. If multiple recurring profiles match the same time (e.g., two recurring profiles both active on Monday at 10 AM), the one with the more specific schedule takes precedence, or if they conflict, the behavior is undefined – you should avoid overlapping schedules.

Key Components and Defaults

Instance limits: Each profile has a minimum, maximum, and default instance count. The minimum ensures you never scale below a certain number; the maximum prevents runaway scaling; the default is the initial count when no metric rules are triggered.

Scale rules: Each profile can have one or more scale-out and scale-in rules based on metrics (e.g., CPU > 75% for 10 minutes). Rules are evaluated every 30 seconds. A scale-out rule typically has a greater-than threshold, a duration (e.g., 10 minutes), and a scale direction (increase by X instances or percentage). Scale-in rules are similar but decrease instances.

Cooldown: After a scale action, a cooldown period (default 5 minutes) prevents additional scaling actions. This is profile-specific.

Schedule: For recurring profiles, you specify start time, end time, time zone, and recurrence (e.g., every Monday, Wednesday, Friday). For fixed-date profiles, you specify start and end date/time.

Configuration with Azure CLI

To create autoscale settings with profiles, use az monitor autoscale create and az monitor autoscale profile create. Example:

# Create autoscale setting for a VMSS
az monitor autoscale create \
  --resource-group myRG \
  --resource myVMSS \
  --resource-type Microsoft.Compute/virtualMachineScaleSets \
  --name myAutoscale \
  --min-count 1 \
  --max-count 10 \
  --default-count 2

# Add a recurring profile for weekdays 9 AM - 5 PM
az monitor autoscale profile create \
  --name weekdayProfile \
  --resource-group myRG \
  --autoscale-name myAutoscale \
  --min-count 2 \
  --max-count 20 \
  --default-count 5 \
  --recurrence week mon,tue,wed,thu,fri \
  --recurrence-start "09:00" \
  --recurrence-end "17:00" \
  --timezone "Eastern Standard Time"

Verification

Use az monitor autoscale show to view profiles. In the Azure portal, navigate to the autoscale settings blade for your resource. The effective profile is displayed based on current time.

Interaction with Related Technologies

VMSS: Autoscale profiles are directly applied to VMSS. The scale set's capacity is adjusted based on the active profile's rules.

App Service Plan: Autoscale can be configured for App Service Plans (scale out web app instances). Profiles work identically.

Azure Monitor: Autoscale uses metrics from Azure Monitor. Custom metrics can also trigger scaling.

Azure Logic Apps: Autoscale can be triggered by custom webhooks or Logic Apps for complex scenarios.

Best Practices

Always define a default profile with reasonable limits.

Avoid overlapping schedules – if two profiles are active, the engine may behave unpredictably.

Use fixed-date profiles for planned events (e.g., Black Friday).

Test profiles with a small scale set first.

Monitor autoscale activity in the Activity Log.

Walk-Through

1

Define Default Profile Limits

Start by creating a default autoscale profile for your resource. This profile is always active when no other profile matches. Set the minimum, maximum, and default instance counts. The minimum ensures availability, the maximum controls cost, and the default is the starting capacity. For example, a web app might have min=2, max=10, default=3. This profile will be used during off-peak hours if no recurring profile is defined.

2

Add Recurring Schedule Profile

Create a recurring profile for predictable patterns, such as weekdays 9 AM–5 PM. Specify the recurrence (e.g., every Monday to Friday), start time, end time, and time zone. Set instance limits optimized for peak hours (e.g., min=5, max=20, default=10). During the scheduled window, this profile overrides the default. The autoscale engine checks the current time against the recurrence pattern every 30 seconds.

3

Add Fixed-Date Profile for Events

For one-time or annual events (e.g., product launch on June 15), add a fixed-date profile. Specify the exact start and end date/time. This profile takes highest precedence. Set limits accordingly (e.g., min=10, max=50, default=20). After the end time, the engine reverts to the next matching profile (recurring or default).

4

Configure Scale Rules per Profile

Each profile can have its own set of scale-out and scale-in rules. For example, in the weekday profile, you might scale out when CPU > 70% for 10 minutes, and scale in when CPU < 30% for 10 minutes. Rules are evaluated every 30 seconds. Use the same metric thresholds across profiles for consistency, but instance limits differ.

5

Test and Monitor Profile Activation

After configuration, test by checking the autoscale run history. Use Azure Monitor to view when profiles become active. The Activity Log shows scale events. Verify that the correct instance limits are applied during scheduled times. For example, during a weekday profile window, the scale set should start with the default count of that profile.

What This Looks Like on the Job

Enterprise Scenario 1: E-commerce Platform with Weekly Sales Cycle

An online retailer experiences high traffic every Monday morning (post-weekend sales) and low traffic on weekends. They configure a recurring profile for Monday–Friday 8 AM–6 PM with min=10, max=50, default=20. A separate recurring profile for weekends has min=2, max=10, default=5. Additionally, during Black Friday week, they deploy a fixed-date profile from Nov 25–30 with min=20, max=100, default=50. Without these profiles, the autoscale would react to metrics but might scale too slowly for the Monday morning surge, causing performance degradation. The profile ensures that capacity is pre-allocated. Common issue: if the fixed-date profile overlaps with the recurring weekday profile, the fixed-date takes precedence, which is intended. However, if the fixed-date end time is not correctly set, the platform may remain scaled up unnecessarily, increasing costs.

Enterprise Scenario 2: Financial Services Batch Processing

A bank runs batch processing jobs every night from midnight to 6 AM. They create a recurring profile for that window with min=20, max=50, default=30 to handle the workload. During the day, a default profile with min=2, max=10, default=5 is used. They also have a fixed-date profile for end-of-quarter processing (March 31, June 30, etc.) with higher limits. Misconfiguration: if the recurring profile's end time is set to 6:00 AM but the batch job often runs until 6:30, the default profile kicks in at 6:00 AM and scales down prematurely, causing job failures. The solution is to add a buffer (e.g., end time 7:00 AM) or use a second recurring profile.

Scenario 3: Media Streaming Platform with Event-Driven Spikes

A streaming service has a recurring profile for prime time (7 PM–11 PM) with min=10, max=30. For a major live event (e.g., Super Bowl), they use a fixed-date profile with min=50, max=200. They also define scale rules: scale out when CPU > 60% for 5 minutes, scale in when CPU < 20% for 10 minutes. Performance consideration: the cooldown period (default 5 minutes) can cause scale-in delays after the event ends. To avoid over-provisioning, they reduce the cooldown to 2 minutes in the fixed-date profile. However, too short a cooldown can cause thrashing. Best practice: keep cooldown at least 5 minutes unless you have specific reasons.

How AZ-104 Actually Tests This

AZ-104 Objective Code: 5.1 – Configure autoscale (including profiles, schedule rules, and scale conditions).

Common Wrong Answers and Why Candidates Choose Them:

1.

"Autoscale profiles are only for VMSS." – Actually, autoscale is available for App Service Plans, Azure Spring Apps, and other resources. The exam may ask about autoscale for a web app, and candidates incorrectly think profiles are VMSS-only.

2.

"Scheduled profiles override metric-based rules." – This is partially true: when a scheduled profile is active, its instance limits and rules are used. However, metric-based rules still apply within that profile. The misconception is that scheduled profiles disable metric rules entirely. In reality, metric rules are evaluated within the active profile.

3.

"You can have only one profile." – Azure allows up to 50 profiles per autoscale setting. The exam may present a scenario requiring multiple profiles, and candidates choose a single-profile solution.

4.

"Fixed-date profiles have lower priority than recurring." – The opposite is true: fixed-date profiles have the highest priority. Candidates often confuse the order.

Specific Numbers and Values That Appear on the Exam:

Default cooldown: 5 minutes (300 seconds).

Evaluation interval: 30 seconds.

Minimum number of instances: 1 (can be 0 for some resources, but not VMSS).

Maximum number of profiles: 50.

Recurrence can be daily, weekly, or specific days.

Time zone must be specified for scheduled profiles.

Edge Cases the Exam Loves:

Overlapping profiles: what happens? The engine uses fixed-date first, then recurring, then default. If two recurring profiles overlap, the one with the most specific recurrence wins (e.g., "every Monday" vs "every day" – Monday wins). If ambiguous, it's undefined.

Scale-in rules with scheduled profiles: scale-in might reduce instances below the scheduled profile's minimum? No, the minimum is enforced.

Changing instance count while a profile is active: manual scaling is overridden by autoscale within minutes.

How to Eliminate Wrong Answers:

If a question mentions "predictable spike every weekday morning," look for a recurring profile.

If it mentions "one-time event," look for a fixed-date profile.

If it asks about "default instance count," remember that each profile has its own default.

If it asks about "cooldown," remember the default is 5 minutes.

Always check the resource type – autoscale applies to VMSS, App Service Plan, etc.

Key Takeaways

Autoscale profiles define instance limits (min, max, default) and scale rules for specific time windows.

Profile priority order: fixed-date > recurring > default.

Up to 50 profiles per autoscale setting.

Default cooldown after a scale action is 5 minutes.

Scale rules are evaluated every 30 seconds.

Scheduled profiles do not disable metric-based rules; they define the context for those rules.

Always specify a time zone for scheduled profiles.

Manual scaling is overridden by autoscale within minutes.

Fixed-date profiles are ideal for one-time events (e.g., product launch).

Recurring profiles are ideal for weekly patterns (e.g., weekday vs weekend).

Easy to Mix Up

These come up on the exam all the time. Here's how to tell them apart.

Default Profile

Always active when no other profile matches.

Lowest priority.

Typically used for baseline capacity.

Instance limits are for general use.

Scale rules are evaluated continuously.

Scheduled Profile (Recurring/Fixed-Date)

Active only during specified time window (recurring or fixed-date).

Higher priority than default; fixed-date highest.

Used for predictable patterns or events.

Instance limits can be higher (or lower) than default.

Scale rules are evaluated only when profile is active.

Watch Out for These

Mistake

Autoscale profiles are only available for Virtual Machine Scale Sets.

Correct

Autoscale can be configured for multiple Azure resources, including App Service Plans, Azure Spring Apps, and Azure Kubernetes Service (AKS) clusters. The AZ-104 exam expects you to know that autoscale is not limited to VMSS.

Mistake

A scheduled profile disables all metric-based scaling rules.

Correct

Metric-based rules are still evaluated within the active scheduled profile. The profile defines instance limits and rules, but metric thresholds still trigger scale actions. The misconception arises because the profile's instance limits override the default limits, but rules are not disabled.

Mistake

You can only have one autoscale profile per resource.

Correct

Azure allows up to 50 profiles per autoscale setting. You can combine default, recurring, and fixed-date profiles as needed.

Mistake

Recurring profiles have higher priority than fixed-date profiles.

Correct

Fixed-date profiles have the highest priority. They override recurring and default profiles during their time window. The priority order is: fixed-date > recurring > default.

Mistake

The default instance count in a profile is the minimum number of instances that will run.

Correct

The default instance count is the initial capacity when the profile becomes active, but the minimum instance count is the lower bound that autoscale will not go below. The default can be higher than the minimum, but autoscale can scale down to the minimum based on rules.

Do You Actually Know This?

Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.

Frequently Asked Questions

What is the difference between a recurring profile and a fixed-date profile?

A recurring profile repeats on a schedule (e.g., every weekday) and is used for predictable patterns. A fixed-date profile covers a specific date range (e.g., June 15–20) and is used for one-time events. Fixed-date profiles have higher priority than recurring profiles.

How many autoscale profiles can I create per resource?

You can create up to 50 profiles per autoscale setting. This includes the default profile, recurring profiles, and fixed-date profiles combined.

What happens if two recurring profiles overlap in time?

If two recurring profiles overlap, the one with the more specific recurrence pattern takes precedence. For example, a profile for 'every Monday' would override a profile for 'every day' on Mondays. If they are equally specific, the behavior is undefined – you should avoid overlapping schedules.

Does a scheduled profile disable metric-based scaling?

No. When a scheduled profile is active, its scale rules (including metric-based rules) are used. The profile defines instance limits and rules, but metric thresholds still trigger scale actions. Metric rules are not disabled.

Can I change the instance count manually when a scheduled profile is active?

Yes, you can manually scale, but autoscale will override the manual change within a few minutes (typically within two evaluation cycles, about 1 minute). Manual scaling is not persistent when autoscale is enabled.

What is the default cooldown period in autoscale?

The default cooldown period is 5 minutes (300 seconds). After a scale action, no further scaling actions are allowed for that duration to prevent thrashing.

What resources support autoscale with profiles?

Autoscale with profiles is supported for Virtual Machine Scale Sets (VMSS), App Service Plans, Azure Spring Apps, and Azure Kubernetes Service (AKS) clusters. The AZ-104 exam focuses on VMSS and App Service Plans.

Terms Worth Knowing

Ready to put this to the test?

You've just covered Autoscale Profiles and Schedule Rules — now see how well it sticks with free AZ-104 practice questions. Full explanations included, no account needed.

Done with this chapter?