Use a spreadsheet like the one that follows to collect the required user and application data from interviews with representative users.
From each representative user, record:
User location. Knowing how many users are at each location assists in determining server sizing and placement.
Client operating system. When the application is delivered by Terminal Services, the screen updates, and keyboard entries and mouse clicks will flow over the network, using the RDP protocol, to the Remote Desktop Client (RDC) running on the end user’s machine. There are significant enhancements in the latest versions of the RDC and RDP, providing higher levels of encryption and increasing the efficiency of the data transmission over the network. The extent to which these can be utilized will depend on what operating system the client has installed because that determines the versions of RDC and RDP that the client system can run. For example, the single sign-on capability requires Windows Vista with Service Pack 1 (SP1) or Windows XP with SP3.
This information will be used in step 5 to determine the number of terminal server farms since different farms may have to be set up for both high- and low-security clients. It will also be used in step 9 to design the TS Gateway role service.
Whether single sign-on to applications is provided. If there is a user expectation of the convenience of a single sign-on experience, that will determine the level of Remote Desktop Client (RDC)) that must be used to deliver the applications. RDC 6.1 will be required in order to provide this experience in the published applications environment. The level of RDC that is used may affect the decision on the number of farms that will be required in step 5 and the design of the role services in step 9.
Applications that are used, their version(s), and any special local customizations. If more than one implementation of a given application is in use, then a determination will need to be made on whether those different versions can co-exist in the same Terminal Services environment. If they cannot, each different version, or customization, of the application may have to be delivered by a separate terminal server farm, which will drive up the complexity and cost of the project. This determination will be made in step 5.
It may be possible to use Microsoft SoftGrid Application Virtualization to overcome this by running each application in its own virtual environment on the terminal server. In this case, the application must be supported for delivery by Microsoft SoftGrid Application Virtualization, and a Microsoft SoftGrid Application Virtualization environment will need to be instantiated.
Note At the time of writing, Microsoft SoftGrid Application Virtualization does not support 64-bit environments.
Service level agreement (SLA) levels. What SLAs are in place, what service levels do they commit to, and how many users fall under each one? Understanding what the business and user expectations are for the application defines the requirements for performance and availability. This will drive the sizing of the terminal server farm in step 7 so that it is able to deliver the expected performance to the user. It will also determine the fault tolerance approach in that step. It is particularly important to understand the performance and availability expectations that user groups have, whether formalized in an SLA or not, and to use this rather than the actual performance and availability that they experience currently as input to the design.
Connection type. Are all the users connected through local area networks (LAN), or are some connected over wide area network (WAN) links, over dial-up connections, or through an Internet service provider (ISP)? This information will be used in designing the network, security model, server placement, and sizing. It may not be possible to collect this in user interviews; more likely the network design will need to be examined by IT at the conclusion of these interviews.
It can also be helpful to gather the following information. This can prove particularly useful if additional questions arise about the application and how it is used.
Application support group. List the person or persons responsible for supporting the application. Knowing who these people are helps with preliminary testing and researching any technical issues that may arise.
Application owners. List the department or executive responsible for organizing upgrades or requesting more licenses for the application. This entity has to sign off on any change in the way the application is delivered and could help with business issues that may arise.