Desktop Virtualization Project. (Deploy phase)
As you can read in previous blog article Citrix recommends a methodology which is based on four phases.
The assessment phase is where business priorities are identified. Data is collected, and the organization assess the users and applications
In the next phase the design is made. This describes how users will access the environment, which virtualization technologies are used, and what resources are required
The third phase is the deployment phase. This is the phase where the build, the rollout and support of the environment are designed.
The final and last phase is the monitoring phase. This is the phase where ongoing operations of the environment are placed.
This blog article will go deeper in the Deployment Phase
As a technical consultant one would like to think this is the most important phase, because the build of an environment is done in this phase, and all the fun stuff starts… I would like underline the importance of the previous phases ( Assess & Design).
Deployment Phase Prerequisites
There are some things that must be completed and signed off on before we can start the deployment phase.
- Detailed Analysis à Completed
- Detailed Design à Completed
- And in some organizations a formal sign-off of the planned architecture.
So at this point a project plan needs to be considered. You may consider the following fields in this project plan:
- Project Team (Who is in the project and what are their responsibilities)
- Tasks (for instance acquiring licenses, SSL Certificates etc.)
In larger environments certain tasks can be fulfilled and planned parallel from each other. For example:
- Building the controller infrastructure
- Building the access infrastructure
- Building the golden VDI image
- Active Directory Integration
- Network integrations
So after the infrastructure is built. We are not finished the real fun starts at this point. Now we need to test the new environment. And it is a good way to not do this one time only but use a so called process with iterations.
There are different test levels one should consider:
- Unit/System testing
- Application Testing
- Performance/Scalability Testing (For instance LoginVSI)
- Operational Testing
- And last but not least the User Acceptance Testing
Unit testing is all about testing the basic functionality of each component. And this should be done by an admin during the build process. For Example
- User Profiles à Profile is created
- XenApp- à Applications can be started
- Provisioning Server à Target is booting.
After Unit test a completed, you could go further with system testing. This means testing the basic functionality of the whole environment, even from testing from a user perspective.
These tests should be performed when build of the environment is completed. You should also refer the infrastructure to the requirements identified during the assessment phase.
There are some baseline checklists available. (For Instance…)
- Connect to virtual desktop and confirm that the Windows operating system loads successfully.
- Confirm the user experience of the XenDesktop session is as expected.
- Open locally installed application – no user acceptance testing performed.
- Check Event Log.
- Open Windows Explorer and identify which drives are available.
- Open Printers and Faxes and identify which printers are available.
- Attempt to copy and paste between local device and virtual desktop.
- Attempt to connect an USB device (e.g. external drive, webcam) and verify if it is available in the virtual desktop.
- Accessing XenApp hosted applications
- Initiate connection to XenApp hosted application from within a virtual desktop
- Initiate connection to a XenApp or App-v streamed application from within a virtual desktop
Next step is to proceed in testing the applications. There are some considerations.
- Validating the application functionality
- Test should be performed by the application owner.
- Testing criteria should be provided and documented. (Printing, opening and saving files etc.)
One should also consider some overlooked things at this stage. Application dependencies, application inputs (Scanners etc.).Even opening the application with multiple users on a shared hosted platform like XenApp.
Performance / Scalability Testing
After all basic tests are done with the applications, the next step is to validate the newly build infrastructure during peak load. You need to have a good understanding of the critical applications of an organization.
For instance if you would use Login VSI for load testing, the standard scripts will give you a pretty baseline, but it is bests to also automate and script the critical business specific apps of an company. This can be time intensive but will give you the best results.
During this phase you must test all tasks and related software dealing with the day to day operation of the new environment.
This could be the following:
- Monitoring Tools
- Reporting Tools
- Backup Tools
- Failover & Recovery
User Acceptance Testing
At this point we are finally at a stage when users can test the environment. These users need to validate the overall functionality and performance from their perspective. Normally no more than a few people will proceed in these User Acceptance Tests (Max 15 users)
The project team should also deliver some training to the end-users. This could be done by hands-on training or with well documented manuals. Another recommendations is to get test users from all different departments within the company, and let them test all the applications needed for their job…
And after this stage is completed you might go on with piloting the environment.
The pilot phase is an important phase. At this point a large amount of people get migrated or provided with the ability to use the new environment. This pilot should be run for a minimum of 4 weeks and then be evaluated.
You should monitor the new environment as if it was in production. All calls should be placed to the support team.
You must also consider some extra time for changes that will definitely come out of the pilot.
Go or no Go
So after all test phases and the pilot phase are completed, there should be an evaluation if there is a Go or No Go for the new environment.
If there is a Go there are some things to consider:
Big Bang Rollout
- Positive, All users in a user or group go live at the same time
- Negative, Errors in the environment not seen during pilot effect everyone
- Positive, Less risk.
- Negative, project needs more time.
Reference materials used: Citrix.com, Support.citrix.com and the E-Docs website.