Feb 10, 2017
Creating an app and desktop delivery solution begins with a proper assessment. Architects that fail to properly assess the current environment find that they require the assess information later on, forcing them to backtrack, which can potentially stall and put the project at risk.
By gathering all of the information from the outset, the architect will gain an appreciation for the current environment and be able to work from the beginning on properly aligning business and user requirements with the overall solution.
The assess phase is a four-step, simple to follow process:
Step 1: Define the Organization
The first step in your virtual desktop project should be to understand and prioritize the strategic imperatives of the organization. This enables the project management team to define success criteria and allows the design team to create a tailored and optimized architecture.
Requirements can be captured during meetings or by distributing questionnaires. Meetings are more time consuming, but allow for follow-up questions to be asked and help to simplify the prioritization process. It is important that this exercise be completed jointly by both business managers and IT decision makers since both groups will have significantly different viewpoints. Take the following examples of what certain organizations faced, which drove their selection of desktop virtualization.
These are just a few examples, but they demonstrate how organizations think about their priorities. Most organizations do not focus on technology, they focus on the needs of the user and of the organization. These needs can be met with technical solutions but it is imperative the team understands the “Why” of the project.
In addition to the three real-world examples, the following table identifies a few other priorities often stated from many organizations:
The prioritization process should be completed in collaboration with the project team, business managers and IT managers so that all views are considered.
Step 2: Define the User Groups
Although there are multiple approaches towards defining user groups, it is often easiest to align user groups with departments as most users within the same department or organizational unit consumes the same set of applications.
Depending on the size of the department, there might be a subset of users with unique requirements. Each defined user group should be evaluated against the following criteria to determine if the departmental user group needs to be further divided into more specialized user groups.
- Primary datacenter – Each user will have a primary datacenter assigned that will be used to host their virtual desktop, data, and application servers. Identify the datacenter that the user should be assigned to rather than the datacenter they are currently using. Users will be grouped based on their primary datacenter so that a unique design can be created for each one.
- Personalization – Personalization requirements are used to help determine the appropriate VDI model for each user group. For example, if a user group requires complete personalization, a personal desktop will be recommended as the optimal solution. There are three classifications available:
- Security – Security requirements are used to help determine the appropriate desktop and policy (or policies) for each user group. For example, if a user group requires high security, a hosted pooled desktop or a local VM desktop will be recommended as the optimal solution. There are three classifications available:
- Mobility – Mobility requirements are used to help determine the appropriate desktop model for each user group. For example, if a user group faces intermittent network connectivity, then any VDI model requiring an active network connection is not applicable. There are four classifications available:
- Desktop Loss Criticality – Desktop loss criticality is used to determine the level of high availability, load balancing and fault tolerance measures required. For example, if there is a high risk to the business if the user’s resource is not available, the user should not be allocated a local desktop because if that local desktop fails, the user will not be able to access their resources. There are three classifications available:
- Workload –Types and number of applications accessed by the user impacts overall density and the appropriate VDI model. Users requiring high-quality graphics will either need to utilize a local desktop implementation or a professional graphics desktop. There are three classifications available:
Performance thresholds are not identified based on processor, memory or disk utilization because these characteristics will change dramatically following the application rationalization and desktop optimization process. In addition, it is likely that the user’s management tools and operating system will change during the migration process. Instead, workload is gauged based on the number and type of applications the user runs.
Assign VDI Models
As with physical desktops, it is not possible to meet every user requirement with a single type of VDI. Different types of users need different types of resources. Some users may require simplicity and standardization, while others may require high levels of performance and personalization. Implementing a single VDI model across an entire organization will inevitably lead to user frustration and reduced productivity.
Citrix offers a complete set of VDI technologies that have been combined into a single integrated solution. Because each model has different strengths, it is important that the right model is chosen for each user group within the organization.
The following list provides a brief explanation of each VDI model.
- Windows Apps – The Windows apps model utilizes a server-based or desktop-based Windows operating system, where only the application interface is seen by the user. This approach provides a seamless way for organizations to deliver a centrally managed and hosted application into the user’s local PC. The Windows app model is often utilized when organizations must simplify management of a few line-of-business applications.
- Browser Apps – The browser apps model utilizes a server-based Windows operating system to deliver an app as a tab within the user’s local, preferred browser. This approach provides a seamless way for organizations to overcome browser compatibility challenges when users have the ability to use their own preferred browser (Internet Explorer, Microsoft Edge, Google Chrome, Mozilla Firefox, etc.).
- Shared Desktop – With the shared desktop model, multiple user desktops are hosted from a single, server-based operating system (Windows 2008, 2012, 2016, Red Hat, SUSE, CentOS). The shared desktop model provides a low-cost, high-density solution; however, applications must be compatible with a multi-user server based operating system. In addition, because multiple users share a single operating system instance, users are restricted from performing actions that negatively impact other users, for example installing applications, changing system settings and restarting the operating system.
- Pooled Desktop – The pooled desktop model provides each user with a random, temporary desktop operating system. Because each user receives their own instance of an operating system, overall hypervisor density is lower when compared to the shared desktop model. However, pooled desktops remove the requirement that applications must be multi-user aware and support server-based operating systems.
- Personal Desktop – The personal desktop model provides each user with a statically assigned,customizable, persistent desktop operating system. Because each user receives their own instance of an operating system, overall hypervisor density is lower when compared to the shared desktop model. However, personal desktops remove the requirement that applications must be multi-user aware and support server based operating systems.
- Pro Graphics Desktop – The pro graphics desktop model provides each user with a hardware-based graphics processing unit (GPU) allowing for higher-definition graphical content.
- Local Streamed Desktop – The local streamed desktop model provides each user with a centrally managed desktop, running on local PC hardware.
- Local VM Desktop – The local VM desktop model provides each user with a centrally managed desktop, running on local PC hardware capable of functioning with no network connectivity.
- Remote PC Access – The remote PC access desktop model provides a user with secure remote access to their statically assigned, traditional PC. This is often the fastest and easiest VDI model to deploy as it utilizes already deployed desktop PCs.
Compare each user group against the following table to determine which VDI model best matches the overall user group requirements. In many environments, a single user might utilize a desktop VDI model and an app VDI model simultaneously.
Don’t forget to follow these top recommendations from Citrix Consulting based on years of experience:
Citrix Consulting Tips for Success
- Start with Windows apps, shared and pooled desktops - As you can see in the VDI capability table above, the Windows apps, hosted shared and pooled desktop models can be used in the majority of situations. The local streamed and local VM desktop models should only be used on an exception basis. By reducing the number of VDI models required, you will help to reduce deployment time and simplify management.
- Perfect match - It may not be possible to select a VDI model that is a perfect match for the user group. For example, you can’t provide users with a desktop that is highly secure and offers complete personalization at the same time. In these situations, select the VDI model which is the closest match to the organization’s highest priorities for the user group.
- Desktop loss criticality - There are only three VDI models that meet the needs of a high desktop loss criticality user group (backup desktops available) – none of which allow for complete personalization. If a high-desktop loss criticality user group also requires the ability to personalize their desktop they could be provided with a pool of backup desktops (hosted shared, pooled) in addition to their primary desktop. Although these desktops would not include customizations made to their primary desktop, they would allow users to access core applications such as mail, Internet and Microsoft Office.
- Consider Operations & Maintenance - The ongoing support of each VDI model should be factored in when deciding on a VDI model. For example, pooled desktops can be rebooted to a known good state which often leads to reduced maintenance versus a personal desktop where each desktop is unique.
Step 3: Define the Applications
Once the users have been divided up in to groups the next step is to determine which applications they require.
This is a two-step process:
1. Application rationalization - Help to simplify the application assessment by removing redundant applications from the inventory that were captured during the data capture.
2. Link apps to users - Use the results from the data capture process to map applications to user groups.
The number of applications identified during the inventory is often surprising, even for organizations that believe they have a high-level of control over applications. To help reduce complexity as well as overall time required, it’s important to take the time to consolidate the list of applications.
The following guidelines will help ensure that your application list is consolidated appropriately:
- Multiple versions - Different versions of the same application may have been identified during the inventory. There are various reasons for this, including an inconsistent patching or upgrade process, decentralized application management, limited licenses and situations where users require specific application versions for compatibility with other applications, macros and document formats. Where possible, work with the application owners to reduce the number of versions required. The leading practice is to standardize on a single version of each application, typically the latest.
- Non-business applications - Applications that are not required by the business should be removed from the application inventory to reduce resource requirements and to help simplify the overall project. Non-business related applications are typically found in an application inventory when users have been provided with the ability to install their own applications and typically include games, communication clients, screen savers, peripheral software and media players.
- Legacy applications - The inventory may identify legacy applications that have since been retired or that are no longer required within the business. These applications may not have been removed from the desktops because there is no established process to do so or because there are always more highpriority activities to complete. These applications should be consolidated during the rationalization stage of the application assessment.
- Management applications - The antivirus, application delivery, monitoring, inventory, maintenance and backup applications will be completely re-designed across the organization during the desktop virtualization project. These applications should also be consolidated during this stage.
Each application included in the project should be categorized based on certain criteria, which will help determine the most appropriate way to host and integrate the app. Each application can be installed directly into the image, virtualized in an isolated container and streamed to the desktop (Microsoft App-V), captured in a unique layer and attached to the virtual machine (Citrix AppDisk) or installed locally on the user’s endpoint device and seamlessly integrated into the user’s virtual desktop (Citrix Local App Access). Due to the uniqueness of every application, many large-scale deployments simultaneously utilize multiple approaches.
Each application should be categorized as follows:
- Common Apps - Every organization includes a suite of applications utilized by almost every user, Microsoft Office for example. This suite of applications is often the most utilized application in a desktop VDI model.
- Departmental Apps - A certain set of applications are only relevant for a unique business unit or department. For example, an engineering department will often require software development applications.
- User Apps - Often making up the largest grouping of apps are the apps used by very few individual users. In a traditional PC implementation, these applications are installed by the user as a temporary requirement or a personal requirement, often not directly impacting the business.
- Management Apps - Many desktop deployments include a combination of antivirus, monitoring, inventory, maintenance and backup applications. Many of these applications have unique virtualization requirements and are often required across the entire organization.
The following characteristics should be identified for each application so that the right application delivery model can be selected during the design phase of the project:
- Complex - An application should be classified as technically challenging if it is complex to set up, has extensive dependencies on other applications or requires a specialized configuration, for example an Electronic Medical Records (EMR) application. Technically challenging applications need to be identified during the application assessment because they are not generally appropriate for installation in to a base desktop image or delivery by application streaming. Delivering technically challenging applications as a hosted Windows app will help to reduce the complexity of the base desktop image.
- Demanding - Collecting application resource requirements allows the virtualization infrastructure to be sized and an appropriate application delivery model to be selected. For example, resource intensive applications will not be delivered via a hosted shared desktop because there is limited control over how the resources are shared between users. There are two classifications available in the user assessment worksheet:
- Mobile - Some user groups may require the ability to work while mobile, sometimes when offline. If so, it is important that the design can determine which applications will work without a network connection and which ones will not. Applications that require backend infrastructure such as web and database servers are not typically available offline.
- Peripherals - If applications require connectivity with peripheral devices, identify the interface required so that it can be made available to the application when it is run from a virtual session.
- Restrictions - Application access may need to be restricted due to insufficient licenses / resources and to protect sensitive data / tools. For example, applications with a limited number of licenses should not be installed on a base image that is shared with unlicensed users. There are three restricted access categories in the application assessment workbook:
Step 4: Define the Project Team
Desktop virtualization is a fundamental change that requires close collaboration between various business and technical teams in order to be successful. For example, the virtualization and desktop teams need to work together to ensure that the virtual desktop image meets user needs while also being optimized for the datacenter. Failure to build a cohesive project team that consists of the right roles and skillsets can negatively impact performance, availability, user experience and supportability while also increasing costs and risk.
The following tables identify the business and technical roles required during an enterprise virtual desktop deployment. Although the list may seem quite large, many of these roles are only required for a short time and multiple roles may be performed by a single person. The project manager and Citrix architect are considered to be full time roles with other team members being brought in only when required. The project manager role is key to ensuring that the right people are involved in the project at the right time.
The project sponsor is a senior company executive who recognizes the benefits that desktop virtualization will bring to the business. The project sponsor role is often performed by the chief technology officer (CTO).
- Promote desktop virtualization within business
- Identify members of the steering committee
- Assess general costs associated with solution
- Identify and prioritize key business drivers
The project manager directs the project team and is responsible for ensuring that project objectives are completed on time and within budget.
- Define key project milestones
- Create and update project plan
- Track progress against plan
- Track expenditure against budget
- Maintain issue and risk register
- Manage scope changes
- Create weekly project reports
- Brief steering committee on progress
- Organize project workshops and meetings
- Ensure project teams are synchronized
- Ensure pre-requisites are in place
- Creates change control requests
Depending on company structure and size, business managers oversee planning and performance at a department, region or company level. A business manager understands the requirements necessary for their employees to be successful.
- Assist with application consolidation project
- Provide details on connectivity requirements of user group, including offline usage
- Provide details on risk tolerance of user group
- Identify requirements for peripherals
- Promote benefits of desktop virtualization
- Assist with coordinating the rollout
Business continuity manager
The business continuity manager ensures that an organization can continue to function after a disruptive event such as natural disaster, crime or human/computer error.
- Provide Citrix architect with detailed understanding of the current business continuity plan
- Update business continuity plan to incorporate the new Citrix infrastructure
- Test business continuity plan
The test manager is responsible for ensuring that the test and user acceptance environments match the production environment as closely as possible. The test manager helps to reduce risk by ensuring that changes are fully tested before being implemented in production.
- Provide Citrix architect with detailed understanding of current testing infrastructure and processes
- Work with Citrix architect to design an appropriate testing infrastructure and test plan for new Citrix environment
- Ensure that testing design is implemented correctly and new Citrix infrastructure is fully tested before rollout
An application owner is a subject matter expert on specific applications deployed within the business. Application owners are responsible for ensuring that problems with the applications are resolved and that upgrades/updates are performed without issue. Application owners are also responsible for managing support agreements with the application vendors.
- Assist with application consolidation project
- Identify application licensing limitations
- Provide details on security restrictions
- Provide details on application dependencies
- Provide location of backend resources
- Provide installation pre-requisites and install guide
- Assist Citrix team with installing and testing applications in VDI environment
Service desk manager
The service desk manager helps to improve productivity and end-user satisfaction by ensuring that production issues are logged, escalated and resolved in a timely manner. The service desk manager is also responsible for reporting on common issues, call volumes and service desk performance.
- Identify common issues with existing environment
- Provide details on support tools currently used
- Assist Citrix architect with designing a delegated administration model
- Participate in operations and support design workshops
- Work with training manager to identify training requirements
- Monitor helpdesk calls for rollout related issues
The training manager ensures that support staff and end-users are proficient with new areas of technology. The training manager also has responsibility for ensuring that the training plan is up-to-date and followed appropriately.
- Determine current skill set for support staff and end users
- Create training plan for support staff and end users
- Implement training plan for support staff and end users
The communication manager is responsible for disseminating key information throughout the organization.
- Work with project manager to create communications plan
- Relay benefits of desktop virtualization
- Inform users of key migration dates
- Ensure expectations are set accordingly
Citrix desktop architect
The Citrix architect acts as the design authority for all Citrix products and liaises with other architects to ensure that the Citrix infrastructure is successfully integrated into the organization.
- Work with project sponsor and key stakeholders to identify and prioritize key business drivers
- Oversee user segmentation and app. assessment
- Map VDI models to user groups
- Perform capabilities assessment to determine current state of readiness
- Identify areas of risk and provides remedial actions
- Create Citrix design that includes hardware and storage estimates
- Coordinate with other architects to integrate Citrix infrastructure into organization
- Work with monitoring architect to ensure that Citrix environment is monitored appropriately
- Create operations and support design
- Create implementation and rollout design
- Create test plan
- Ensure that the Citrix environment is implemented in accordance with design
- Verify that implementation passes test plan
- Ensure that the Citrix design is implemented correctly
Active directory architect
Design authority on Microsoft Active Directory, including Organizational Units (OU) and Group Policy Objects (GPOs).
- Provide Citrix architect with detailed understanding of current Active Directory architecture
- Work with the Citrix architect to design OU structure, group policies, permissions, service accounts, etc. for new Citrix environment
- Update Active Directory infrastructure design to reflect centralization of user data and accounts
- Ensure that Active Directory design is implemented correctly
Design authority on server and desktop virtualization using Citrix XenServer, Microsoft Hyper-V, Nutanix Acropolis or VMware vSphere.
- Provide Citrix architect with detailed understanding of current virtualization architecture
- Work with Citrix architect to design hardware, networking, storage, high availability, etc. for server and desktop virtualization
- Work with monitoring architect to ensure that virtualization environment is monitored appropriately
- Ensure that the virtualization design is implemented correctly
Design authority on networking, including routing, VLANs, DHCP, DNS, VPN and firewalls.
- Provide Citrix architect with detailed understanding of current networking architecture
- Work with Citrix architect to design physical network, virtual networks, routing, firewalls, quality of service, remote access, network optimization, etc. for new Citrix environment
- Work with monitoring architect to ensure that network is monitored appropriately
- Ensure that network design is implemented correctly
Design authority on Microsoft desktop operating systems, including Windows XP, Windows 7 and Windows 8.
- Provide Citrix architect with detailed understanding of current desktop environment
- Work with Citrix architect to design core desktop virtual image, core applications, desktop optimizations, etc. for new Citrix environment
- Work with monitoring architect to ensure that the virtual desktops are monitored appropriately
- Ensure that desktop design is implemented correctly
Design authority on storage solutions, including direct-attached storage, storage-attached networks and network attached storage.
- Provide Citrix architect with detailed understanding of current shared storage environment
- Work with Citrix architect to design storage architecture, tiers, sizing, connectivity, etc. for new Citrix environment
- Work with monitoring architect to ensure that storage is monitored appropriately
- Ensure that storage design is implemented correctly
Design authority on backup and recovery, including virtual machines, desktops, servers, user data and databases.
- Provide Citrix architect with detailed understanding of current backup architecture and processes
- Work with Citrix architect and disaster recovery architect to design backup architecture, process, schedule, retention, etc. for new Citrix environment
- Ensure that backup design is implemented correctly
Application packaging architect
Design authority on packaging applications for deployment through the systems management team.
- Provide Citrix architect with detailed understanding of current application packaging process and status
- Ensure that all required applications are packaged according to design
Design authority on monitoring, including hardware, network, servers, storage and security appliances.
- Provide Citrix architect with detailed understanding of current monitoring architecture and processes
- Work with Citrix architect to design monitoring architecture, metrics, alerts, etc. for new Citrix environment and supporting infrastructure
- Ensure that monitoring design is implemented correctly
- Provide regular reports on capacity and trends during rollout
Systems management architect
Design authority on systems management, including server/desktop build process, patching and automated application installation.
- Provide Citrix architect with a detailed understanding of the current systems management processes
- Works with Citrix architect to define server/desktop build process, patching and application delivery strategy for new Citrix environment
- Ensure that the systems management design is implemented correctly
Design authority on security, including desktops, servers, networks and VPNs.
- Provide Citrix architect with detailed understanding of current security policy
- Work with Citrix architect to design security standards for new Citrix environment, including authentication, encryption, port numbers, firewall rules, etc.
- Ensure that security design is implemented correctly