Desktop and Application Streaming

Optimize AppStream 2.0 fleet capacity with the Scaling Optimizer Tool

Our customers often tell us they need a tool to help build their autoscaling policies for Amazon AppStream 2.0. Through smart capacity planning, organizations ensure sufficient resources during high-demand periods while avoiding excess provisioning. This approach improves reliability and performance while optimizing costs.

In a previous blog: Amazon AppStream 2.0 releases a simple pricing tool, we showed basic reporting and usage pattern visualization. Today, I’m delighted to introduce the AppStream Scaling Optimizer tool, an innovative solution that revolutionizes capacity management. This tool opens exciting possibilities for organizations to make strategic, data-driven decisions about their AppStream 2.0 fleet capacity.

This Excel-based tool helps analyze usage patterns, determine appropriate fleet capacities, and suggest effective scaling policies for both single-session and multi-session fleets. It simplifies capacity planning while maintaining efficient resource use and seamless access.

Prerequisites

For this walkthrough, you should have the following prerequisites:

  • Download the AppStream 2.0 Scaling Optimizer Tool: Microsoft Excel File
  • This is Macro Enabled Excel file so you must first unblock the file
Screenshot of a macro-enabled Excel spreadsheet (.xlsm file) for the AppStream 2.0 AutoScaling Policy Optimizer Tool. A red security risk banner stating "Microsoft has blocked macros from running because the source of this file is untrusted" with a "Learn More" link

ALT: Screenshot of a macro-enabled Excel spreadsheet (.xlsm file) for the AppStream 2.0 AutoScaling Policy Optimizer Tool. A red security risk banner stating “Microsoft has blocked macros from running because the source of this file is untrusted” with a “Learn More” link

  • Unblock the File:

Right click on the Excel file you downloaded.
Choose Properties.
Select Unblock in the General tab.
Click “Apply” and then “OK.”

  •  Enable Macros by Selecting Enable Content
A yellow security warning banner stating "Macros have been disabled" with an "Enable Content" button The interface shows color-coding legend indicating blue for user inputs, gray for calculated fields, and green for calculator outputs.

ALT: A yellow security warning banner stating “Macros have been disabled” with an “Enable Content” button The interface shows color-coding legend indicating blue for user inputs, gray for calculated fields, and green for calculator outputs.

  • Collect your actual or estimated hourly usage patterns
  • Understand your fleet type (single-session and multi-session)

How to use the AppStream 2.0 Scaling Optimizer Tool

The tool provides separate worksheets for single-session and multi-session fleets. In each worksheet, cells requiring your input have a light blue background, informational/calculated fields are gray, and Calculator Output estimates appear in green.

1 . Enter Fleet information

Start by entering your basic fleet information: (User inputs are in BLUE)

  • Total number of unique users in your organization

Cell B7: The total number of unique users that will stream in each month. You will fill out expected concurrency per hour later.

  • Max number of sessions per instance:

Cell B8: Max number of sessions per instance

  • Single-Session Fleets: One user per instance
  • Multi-Session Fleets: Multiple users per instance

Note: If B8 is equal to 1 the fleet type is single session and if B8 is greater than 1 then Multi session fleet type.

  • Fleet scaling options (Fleet Auto Scaling or Fixed Fleet Scaling based on Schedule)

Cell B9: Select Fleet Scaling Options. Fleet Auto scaling for Default Scaling | Fixed Fleet Scaling based on Schedule for Scheduled based Scaling

  • Buffer Capacity as % of Concurrency (recommended: 5-10%)

Cell B10: Buffer capacity as % of concurrency to be scaled in or out

  • Multiple Policies (Yes/No)

Cell B11: Multiple Policies

  • Fixed Schedule (if any)

Cell B12: Is there a fixed schedule.

  • Minimum users (For single session fleets) or * Min User Sessions for fleet (For Multi session Fleets)

Cell B13: Minimum number of users required for streaming / Min User Sessions for fleet

  • Maximum users (For single session fleets) or * Max User Sessions for fleet (For Multi session Fleets)

Cell B14: Maximum number of users required for streaming // Min User Sessions for fleet

Single Session Screenshot

Screenshot of a user information input form in Excel showing configuration settings for a Single Session AppStream 2.0 fleet, as indicated by the "Max number of sessions per instance" set to 1.

ALT: Screenshot of a user information input form in Excel showing configuration settings for a Single Session AppStream 2.0 fleet, as indicated by the “Max number of sessions per instance” set to 1.

Multi Session Screenshot

Screenshot of a user information input form in Excel showing configuration settings for a Multi Session AppStream 2.0 fleet, as indicated by the "Max number of sessions per instance" set to 2.

ALT: Screenshot of a user information input form in Excel showing configuration settings for a Multi Session AppStream 2.0 fleet, as indicated by the “Max number of sessions per instance” set to 2.

Scaling Policy Metrics:

Scale Out | Scale In:

Cell B17 | Cell B24 : Select one the metric : Capacity Utilization | Available Capacity | Insufficient Capacity Error | Available User session capacity

Cell B18 | Cell B25 : Select comparison operator : > | >= | < | <=

Cell B19 | Cell B26 : Select threshold

  •  A threshold is the specific numeric value that triggers a scaling action when a monitored metric crosses that boundary.

Cell B20 | Cell B27: Select threshold unit

  •  The threshold unit specifies the measurement format or unit of measure for the threshold value.

Cell B21 | Cell B28: Select Adjustment type

  • Specifies how to modify capacity when a threshold is breached.

Cell B22 | Cell B29: Enter Adjustment value

  •  The numeric value that specifies the magnitude of the scaling action.

Select the button Add Scale Out Policy | Add Scale In Policy

Screenshot of the scaling policy configuration section divided into two main parts: Scale Out Policy and Scale In Policy

ALT: Screenshot of the scaling policy configuration section divided into two main parts: Scale Out Policy and Scale In Policy

2. Understanding the Outputs

The tool provides several key recommendations:

  •  Desired Capacity
  •  Minimum Fleet Capacity (Instances /User Sessions)
  • Maximum Fleet Capacity (Instances /User Sessions)
  •  Scale Out Policies
  •  Scale In Policies
Screenshot showing recommended scaling policy configuration for AppStream 2.0 AutoScaling Policy Optimizer Tool.

ALT: Screenshot showing recommended scaling policy configuration for AppStream 2.0 AutoScaling Policy Optimizer Tool.

Let’s explore how FinTech Solutions, a growing financial services company, optimized AppStream 2.0 for their 1,000 employees. Their workforce spans multiple time zones, operating from 7 AM to 10 PM.

The FinTech Solutions IT team focused on two goals: seamless application access and cost optimization. They implemented Fleet Auto Scaling with a 5% buffer capacity for unexpected usage spikes. This means the system maintains capacity for 105 users when 100 users stream actively, providing sufficient buffer without excess capacity.

They established a minimum capacity of 5 streaming instances for off-peak hours. This ensures immediate access for early morning users while controlling costs during quiet periods.

They chose a single-policy approach for scaling, creating consistent and predictable behavior. This reduced management complexity while meeting performance needs.

The new configuration delivered clear benefits:

  • Eliminated over-provisioning during off-peak hours
  • Maintained quick access during core business hours
  • Successfully handled usage spikes with the 5% buffer
  • Provided immediate application access with 5 minimum instances

Example for Single Session:

Input:

  • Total users: 1000
  • Fleet Scaling option: Fleet Auto Scaling
  • Buffer: 5%
  • Min users: 5
  • Max users: 500

Output:

  • Desired Capacity: 5
  • Min Fleet Capacity: 5
  • Max Fleet Capacity: 525

3. Usage Pattern Details

On the ScheduledScaling worksheet for your fleet type:

Enter your hourly concurrent user estimates for a 24-hour period

The tool automatically calculates:

  • Required instances per hour
  • Buffer instances needed
  • Total instance requirements
  • Scale out/in thresholds
  • Min / Max instances for Single Session
  • Min / Max User session for Multi Session

Example Scenario:

Global TechCorp, a multinational company, provides design applications to 500 employees through AppStream 2.0. Their workforce spans multiple time zones, needing round-the-clock access. The company’s IT team configures their multi-session fleet with 2 users per instance maintains a 5% session buffer capacity.

Inputs:

  • Total users: 500
  • Users per instance: 2
  • Buffer: 5
  • Fleet type: Singe-session
  • Hours: 24×7
  • Scaling metric: Available User session Capacity

The tool recommends:

  • Desired UserSession Capacity 5
  • Minimum user sessions for fleet 5
  • Maximum user sessions for fleet 525 (including buffer sessions)
  • While the maximum instances required are 263 instances to accommodate 525 users session

(2 users per instance).

Screenshot of the "Detailed Scheduled Scaling Optimizer" section showing Configuration parameters, Scaling policy recommendations, a detailed hourly schedule throughout a day with blue cells for input values and green cells for calculated results.

ALT: Screenshot of the “Detailed Scheduled Scaling Optimizer” section showing Configuration parameters, Scaling policy recommendations, a detailed hourly schedule throughout a day with blue cells for input values and green cells for calculated results.

Features:

The tool includes detailed scheduling Optimizers for both single-session and multi-session fleets, allowing you to:

  • Input hourly usage patterns
  • View required instances per time slot
  •  Calculate buffer requirements
  • Set specific scaling thresholds

Best Practices for Optimal Scaling

To get the most out of your AppStream 2.0 fleet and the Scaling Optimizer tool, consider the following best practices:

  1. Set Reasonable Capacity Limits: Establish realistic minimum and maximum capacity limits based on your usage patterns and budget constraints.
  2. Leverage Multiple Scaling Types: Combine different scaling types for optimal results. For example, use scheduled scaling for predictable patterns and target tracking for handling unexpected spikes.
  3. Regular Policy Reviews: Continuously monitor and adjust your scaling policies. Analyze historical data to identify trends and make proactive adjustments.
  4. Monitor with CloudWatch: Utilize CloudWatch metrics to track scaling activities and key performance indicators Create alarms for Insufficient Capacity Errors to respond promptly to capacity issues
  5. Time Zone Awareness: Configure scheduled scaling policies with a DST-compliant time zone. This ensures your scaling actions occur at the correct local times throughout the year.
  6. Mitigate Scaling Churn: Be mindful of high churn scenarios where many users start and end sessions in short periods
  7. Fine-tune Buffer Capacity: Regularly assess and adjust your buffer capacity percentage. A well-tuned buffer helps maintain responsiveness during sudden demand increases while avoiding over-provisioning.
  8. Seasonality Considerations: Account for seasonal variations in usage patterns. Create separate scaling policies for different seasons or special events that may impact your user demand.
  9. Test and Iterate: Implement new scaling policies in a staged manner. Start with conservative settings, monitor the results, and gradually optimize based on real-world performance.

For more information, check out:

Multi-Session Recommendations

Fleet Auto Scaling for Amazon Appstream 2.0

Scaling Concepts for Amazon Appstream 2.0

The AppStream Scaling Optimizer tool and these best practices help you build efficient scaling strategies. Ready to optimize your AppStream 2.0 fleet? Download the tool and start implementing more efficient scaling policies today!

Cleaning up: Delete the Excel file that was downloaded.

Conclusion

In this post, we showed you how to use the AppStream 2.0 Scaling Optimizer tool to optimize your fleet capacity and implement cost-effective scaling policies. You learned how to analyze usage patterns, configure appropriate scaling thresholds, and apply best practices for both single-session and multi-session fleets.

We encourage you to download the Scaling Optimizer tool today and start optimizing your AppStream 2.0 fleet costs.

The AWS support team is ready to assist with any questions about implementing these features in your environment. Stay up to date with the latest End User Computing innovations by following What’s New with AWS. For detailed walkthroughs and best practices, subscribe to our YouTube playlist.

About the author:

   Lakshmi Radhakrishnan is a Solutions Architect for End User Computing, focusing on helping customers design and optimize end-user computing solutions on AWS.