Performance efficiency pillar
The performance efficiency pillar of the AWS Well-Architected Framework focuses on optimizing the use of cloud resources to meet or exceed performance goals while ensuring adaptability to fluctuating demands and emerging technologies. It emphasizes the importance of continuously fine-tuning systems to maintain peak efficiency in a dynamic cloud environment.
Key focus areas for applying this pillar to your WorkSpaces Applications streaming environment:
-
Instance type selection and optimization
-
Streaming performance optimization
-
Fleet capacity management
Democratize advanced technologies
Take advantage of cloud vendor-managed services for complex technologies so your team can focus on product development instead of infrastructure management.
-
Configure appropriate instance types based on application requirements:
-
Select GPU-enabled instances for graphics-intensive applications.
-
Choose appropriate GPU families (such as Graphics G4dn or Graphics G5) based on application needs.
-
-
Choose and configure one of the following authentication methods:
-
Set up integration with a SAML 2.0-based identity provider.
-
Configure user pool settings.
-
Integrate with AWS Directory Service.
-
-
Enable and configure storage options based on user needs:
-
Set up home folders in Amazon S3 for Windows-based fleets.
-
Set up shared file systems in Amazon EFS for Linux-based fleets.
-
Configure persistent storage permissions.
-
Enable application settings persistence.
-
Go global in minutes
Use multi-Region deployment to improve global user experiences through reduced latency.
-
Configure fleets in multiple AWS Regions by deploying fleets in Regions that are closest to your users while creating separate stacks for each Region.
-
Implement cross-Region redirection to automatically redirect WorkSpaces Applications users to the AppStream stacks that are closest to their current location.
-
If you are using any of the optional features in WorkSpaces Applications, such as application settings persistence, home folders, or elastic fleets, you need to configure Amazon S3 cross-Region replication for user data for Windows-based fleets and cross-Region replication for Linux-based fleets.
-
Replicate images across Regions. For more information, see Copy an image that you own to another AWS Region in Amazon WorkSpaces Applications in the AWS documentation.
-
For domain-joined fleets, make sure that an Active Directory infrastructure, including Active Directory Federation Services (AD FS) (unless you're using SAML 2.0 and Amazon Cognito as an alternative), is properly configured in the other Regions, and that you use AWS Directory Service for Microsoft Active Directory for multi-Region replication capabilities.
-
Direct users to the lowest-latency WorkSpaces Applications endpoints. For more information, see the AWS blog post Optimize user experience with latency-based routing for Amazon WorkSpaces Applications
.
Use serverless architectures
Serverless architectures eliminate server management overhead and reduce costs by using cloud-managed services for compute functions.
Use AWS serverless services such as the following:
-
AWS Lambda to automate tasks and integrate custom logic through event-driven functions
-
Amazon S3 to provide scalable storage for WorkSpaces Applications user data, application files, and session artifacts
-
Amazon CloudWatch to provide monitoring, logging, and alerting for WorkSpaces Applications performance and usage metrics
-
Amazon Cognito to facilitate user authentication and access control for WorkSpaces Applications applications
-
Amazon API Gateway to create RESTful APIs to interface between WorkSpaces Applications and other services or custom applications
Experiment more often
Cloud infrastructure enables rapid testing of various resource configurations to optimize performance and cost.
-
Test different instance types to optimize performance and cost:
-
Compare stream performance across different instance families.
-
Evaluate GPU vs non-GPU instances for graphics applications.
-
Test memory-optimized instances for memory-intensive applications.
-
-
Test application configurations by using Image Builder:
-
Create test images with different application configurations.
-
Validate application performance before deployment.
-
Test application compatibility with different instance types.
-
-
Test fleet settings by using fleet capacity configurations such as minimum and maximum capacity, scaling policies, session settings such as maximum session duration, and disconnect timeout settings.
Consider mechanical sympathy
Choose cloud services based on your workload's specific requirements and usage patterns to ensure optimal performance and efficiency.
-
Choose Graphics G5 instances for graphics-intensive applications, applications that require DirectX, OpenGL, OpenCL, or 3D visualization software.
-
Select
stream.standardinstances for business applications, web browsers, and light graphics applications -
Monitor and adjust the streaming protocol based on CloudWatch metrics such as
StreamingSessionLatency. -
Configure WorkSpaces Applications in VPCs that are closest to your users, and use appropriate network bandwidth based on your application's requirements.
-
Choose the appropriate fleet type based on application behavior. For example, choose single-session fleets for applications that require dedicated resources and multi-session fleets for applications that can share resources efficiently.
-
Consider application compatibility with multi-session environments.
-
Use the file system redirection feature to handle the interactions between remote and local applications. For more information, see the AWS blog post Launching local applications from an Amazon WorkSpaces Applications streaming session
.