Design principles
Well-Architected design principles are a set of considerations used as the basis for a well-architected workload. We recommend that you follow these design principles for a successful EUC implementation.
Evaluate the scope of your EUC use cases
Begin your design process by making an inventory of the various EUC use cases in your organization. Most organizations will have multiple user personas that have unique requirements. For example, the different use cases within the same organization may require varying:
-
Sets of applications
-
Peripherals
-
Levels of data persistence
-
Dependencies on external systems or networks
-
Support teams
-
Cost concerns
-
Availability requirements
-
Security risk profiles
Enumerate as much of this data as possible and use this data to inform the EUC design process.
Based on your inventory of user personas and their requirements, select the most appropriate EUC service for each use case. Learn the fundamental aspects of the core AWS EUC services. For optimal efficiency in implementing diverse use cases within your organization, you may need to use multiple EUC services.
Engage your AWS account team and the AWS EUC specialist team for additional guidance during any stage of your EUC journey. For more information, see Operational excellence.
Isolate EUC resources and minimize permissions
EUC services typically have different admin teams and security
risk profiles from other AWS workloads. This means deploying EUC
services in isolation by segregating them at the account boundary
level. Consider any data sovereignty or regulatory compliance
needs for your workloads (such as
HIPAA
Design EUC solutions that maximize performance
Maximize client performance by deploying your EUC use cases near the user base. Similarly, deploy EUC use case dependencies (like directory services and file shares) near your EUC deployment to maximize application performance. Consider combining similar or overlapping use cases to reduce deployment and maintenance tasks. Consider separating use cases based on the different needs from your EUC use case inventory. For example, if use cases have different support teams or cost reporting needs, you may want to place them in different subnets, VPCs, or AWS accounts. When separating use cases, you still may be able to gain efficiencies by reusing images. Also, consider abstracting the applications from the images or creating a library of reusable scripts to deploy applications automatically. For more detail, see Performance efficiency.
Minimize EUC resources to optimize costs
Minimize resources needed to deliver your use cases, including
instance and bundle types and fleet sizes. Review usage
periodically to identify idle or underused resources (such as
unused or over-provisioned instances, oversized fleets, and
inefficient scaling policies). Deploy automated tools, such as the
Cost
Optimizer for Amazon WorkSpaces