Background & Challenge
A large federal facility operating Citrix Virtual Apps & Desktops (CVAD) across a multi-server environment faced a strategic decision: continue investing in an aging Citrix infrastructure with rising license costs, or migrate to VMware Horizon, which the organization had already begun procuring as its future-state VDI platform.
The transition involved hundreds of end users, a catalog of mission-critical applications with unknown compatibility profiles, and a federal environment that could not tolerate unplanned downtime. The project required careful orchestration of three workstreams: application validation, infrastructure configuration, and decommission planning for legacy Citrix servers.
Key constraint: All application testing had to be completed and signed off before any Citrix server was decommissioned. Rollback capability had to be maintained throughout the transition period.
My Role
I served as the lead systems engineer responsible for coordinating the migration. This included owning the application compatibility matrix, resolving infrastructure blockers, and producing all decommission documentation.
- Designed and maintained the application compatibility testing matrix, tracking 30+ applications across Citrix and Horizon environments
- Led hands-on testing of line-of-business applications including UiPath RPA, KY OpenGrid, and TIMP in the Horizon environment
- Resolved domain join failures for Horizon virtual desktops — root cause traced to DNS configuration and OU placement policies
- Configured and validated clipboard redirection settings to match user workflows established in Citrix
- Authored pre-decommission documentation for Citrix test servers, including dependency mapping and sign-off requirements
- Developed final decommission runbooks for each Citrix server group, including shutdown sequences and AD cleanup procedures
Technical Approach
The migration followed a phased approach built around application validation gates. No phase could begin until the previous phase's application sign-offs were documented and approved by the infrastructure lead.
Phase 1 — Horizon Environment Preparation: Configured Horizon Connection Servers, pools, and policies to mirror existing Citrix delivery settings. Resolved domain join and profile issues before any user-facing testing began.
Phase 2 — Application Compatibility Testing: Every application in the Citrix catalog was run in Horizon and evaluated against functional requirements. Issues were categorized: passed, passed with configuration change, failed (escalated), or not applicable. UiPath RPA required specific Group Policy adjustments for automation hooks; KY OpenGrid and TIMP required DPI scaling fixes in the Horizon baseline image.
Phase 3 — User Pilot & Validation: A small pilot group migrated to Horizon ahead of the full cutover. Clipboard redirection, drive mapping, and print behavior were validated against documented Citrix baselines. Issues were documented and resolved before broadening the rollout.
Phase 4 — Decommission Planning: Once validation was complete, I produced pre-decommission documentation for each Citrix server — identifying active sessions, dependent services, linked policies, and required cleanup steps. Final decommission runbooks were reviewed and approved before any server was shut down.
Key Challenges & Resolutions
Domain join failures: Horizon VMs were failing to join the domain during provisioning. Investigation revealed that the OU path specified in the Horizon pool configuration was not aligned with the AD delegation model, and DNS suffix search order on the parent ESXi hosts was misconfigured. Resolved by correcting the OU path, updating DNS settings, and validating with a controlled provisioning test before full-scale deployment.
Clipboard redirection: Users reported inability to copy-paste between local and virtual sessions. Citrix had this enabled via Citrix Policy; Horizon requires clipboard redirection to be configured both in the Horizon Group Policy template (VMware View Agent) and validated that no conflicting Windows policy was blocking it. Resolved by applying the correct Horizon ADMX settings and testing with a representative user group.
RPA application behavior: UiPath RPA, used for process automation workflows, exhibited unexpected behavior in Horizon due to differences in how Horizon handles session isolation versus Citrix's ICA protocol. Resolved through targeted Group Policy adjustments and coordination with the application owner on allowable configuration changes.
Outcome
The migration completed on schedule with no production outages. All targeted applications were validated and signed off. Citrix server decommissions proceeded in planned tranches following the documented runbooks. The organization successfully transitioned to a fully managed VMware Horizon environment with reduced licensing overhead and a cleaner infrastructure footprint.
Full pre-decommission and final decommission documentation was delivered to the infrastructure team and archived for compliance purposes.