Design principles
-
Design for the cloud: You may be delivering a net new EUC service, migrating from an existing on-premises solution, or a hybrid of both, but regardless of approach, when you use cloud computing you can face the challenges and gain the advantages of the wide range of services on offer. Train your technical architects, delivery teams, and operations personnel so that they are ready to embrace this range of services to deliver cost efficiency, scalability, unparalleled resilience, and the global reach that AWS provides.
-
Embrace automation: The opportunities to automate the provisioning of desktop and application delivery services increase significantly when moving to an AWS Cloud-hosted EUC service. Automation accelerates your time to deliver value. This is because it can cover selection of a variety of compute, software bundles, and APIs in order to streamline configuration, deployment, delivery, maintenance, and ongoing support for an EUC environment.
-
Define the service levels you need to provide: The way your EUC workload is designed, built, and managed should be predicated upon business metrics that define the value of each service being offered. Some user personas, for example, may require higher resilience, better performance, and closer monitoring than users who require access to simple productivity applications. Service levels should reflect these requirements.
-
Understand your compliance requirements: Many business verticals must adhere to stringent security and compliance standards and controls, which affect how desktops and applications must be deployed, managed, and monitored. Conditional access to services, secure storage of user data, or maintaining robust logging processes, for example, will all dictate how an EUC workload should be designed. For additional guidance on accommodating compliance requirements, see Security.
-
Understand your unique user personas: When building new or migrating existing EUC workloads to AWS, it is critical to understand how each persona will need to interact with the services provided. The compute resources required, the desktop OS types you will need to support, the applications that each group requires, and the peripheral devices used must all be understood to design and build a solution that offers a superior user experience and reduces operational overheads by simplifying your delivery, maintenance, monitoring, and support processes.
-
Collaborate between key technology teams: When designing and delivering EUC workloads, significant expertise is required across compute, storage, networking, security, and desktop or application delivery to effectively deliver successful outcomes. From project initiation, assemble cross functional teams and call upon expertise from every relevant technology discipline. Continue to involve these teams after the new EUC solution has been deployed to verify that evolution of the service continues to deliver incremental business value.
-
Implement robust change control processes: EUC relies on many underlying technology stacks to deliver a reliable and performant service. For example, a change made to networking, authentication services, database services, or perimeter security can result in disruption for desktop and application users. To deliver service levels expected by your business, design a change control process that provides visibility and input into changes to supporting services to the EUC team. Follow the generic principle of making frequent, small, reversible changes.
-
Frequently refine operational processes: The implementation of robust logging, alerting, and event management is important to all aspects of delivering an EUC service. Logging and monitoring help you retrospectively learn from events such as system outages, performance issues, and scaling activities to avoid future problems, improve user experience, and fine tune the environment to save costs.
-
Minimize duplicates and false positives: When monitoring your EUC workload, take steps to reduce the number of events that are propagated to support teams for analysis and remediation. Over time, fine tune which level of skill is required to respond to each event type and route these to the most appropriate resources. Avoiding event fatigue helps verify that the most critical issues are surfaced and dealt with more efficiently.
-
Deploy systems health dashboards: Performance dashboards simplify the reporting of overall systems health and allow support teams to quickly drill down into specific areas of concern. Creating useful dashboards helps your team spot service issues quickly and implement remediation processes. To improve user engagement, take a proactive approach to identifying and surfacing issues before they cause significant disruption. This also verifies that the provision of desktop and application delivery services is meeting the service levels required by the business.
-
Create and maintain service documentation: Maintain design documentation from the initial deployment as the EUC workload evolves. This makes it much easier to hand over maintenance and support to new team members or partners and provides a solid architectural reference as the workload grows to incorporate new features and capabilities.
-
Provide adequate training and exposure to industry events: Train architects, delivery teams, and support personnel according to their role in the organization. When you verify that each team has the right level of training to carry out their day-to-day activities, your teams can carry out deployment, maintenance, and support of the environment according to the relevant best practices. For example, have business and architect level employees attend industry specific events such as AWS re:Invent to verify that they have the necessary information on new products and features to evolve your EUC workloads. This training helps your teams take advantage of cost savings, resilience improvements, and other new services that can positively impact your business.