Windows Virtual Desktop is generally available today — September 30, 2019. We have been in preview since spring, running lab pools and one cautious production pilot for a logistics client that already lived in Azure for other workloads. This post is first production deployment notes: what GA changes, how we size host pools, how image management compares to Citrix MCS habits, FSLogix in anger, and an honest cost sketch versus on-prem VDI.
If you only remember one sentence: WVD is real enough to pilot in production for the right workload, not yet a reflexive replacement for every XenDesktop estate we run.
What GA means operationally today
Preview taught us the control-plane model: host pools, app groups, workspaces, and session hosts that are just Windows multi-session VMs you manage. GA hardens supportability and the commercial story. It does not remove the need for:
- Identity design (hybrid join vs Azure AD join paths appropriate to your estate)
- Network path quality from users to the hosts
- Profile storage that survives morning logon storms
- An image factory with change control
- FinOps ownership of always-on versus autoscale compute
Microsoft manages more of the broker-ish service plane than a classic on-prem broker farm. You still own everything that makes a desktop feel like a desktop.
Host pool sizing without vendor fairy dust
We size by workload class, not by a single users-per-vCPU myth:
- Task workers: lighter Office and LOB browser apps; higher density
- Knowledge workers: Outlook + Teams + multiple Office docs; medium density
- Power / dev: Visual Studio, fat clients, local admin exceptions; low density, often separate pools
For the pilot production pool (knowledge-leaning), we landed near industry mid-range density on D-series v4-class hosts after measuring CPU ready-ish signals and user complaint rates — then left N+1 headroom for patch drains and a bad Monday. Autoscale is useful; cold start lag is real. Do not promise “zero idle cost” and “instant capacity” in the same breath without testing scale-out under a synthetic logon wave.
Breadth versus depth load balancing matters when a few users can pin a host with Outlook search rebuilds. We prefer settings that avoid turning one noisy user into everyone else’s problem when the pool is mixed.
Image management: MCS muscle memory vs WVD reality
Citrix MCS and PVS users expect a known image pipeline: update master, seal, roll out, easy rollback. WVD session hosts are Azure VMs you update with whatever discipline you bring — shared image gallery patterns, custom scripts, ConfigMgr/Intune, or manual golden images. That flexibility is also an ops foot-gun.
Our production checklist:
- One sealed golden image per pool class, version-tagged
- FSLogix agent and Office settings baked or deployed identically every time
- Patch cadence that drains hosts in rings, not a simultaneous reboot of the pool
- Rollback image kept for seventy-two hours after a broad roll
- No “hot fix on one host” snowflakes that survive the weekend
If your team cannot run an image factory, WVD will not invent one for you.
FSLogix in production (not the lab happy path)
We treat FSLogix profile containers as mandatory for non-persistent Windows 10 multi-session pools. Production lessons so far:
- Storage first. Azure Files (with the right performance tier for concurrency) or equivalent SMB that can take the Monday spike. Under-provisioned storage looks like “WVD is slow.”
- Permissions. Hardened share ACLs; helpdesk procedure for profile reset without domain admin folklore
- Exclusions. Temp and junk paths documented; antivirus exclusions on VHD locations validated
- Office container where Outlook search pain dominated tickets
- Monitoring. Mount failures and share latency as first-class alerts next to host CPU
Login duration percentiles are the KPI. Averages lie.
Gaps versus Citrix we still name aloud
For estates that need HDX-class experience on hostile networks, mature published-app portfolios, or deep existing Citrix automation, Citrix on Azure remains a rational choice. WVD wins on Microsoft-aligned licensing narratives, multi-session Windows 10, and reduced broker farm toil for greenfield Azure-heavy shops. Match requirements; do not win a religion argument.
GPU, advanced peripherals, and complex app layering still need explicit design either way.
Cost model sketch
Compare apples carefully:
- On-prem VDI: hardware refresh, hypervisor, storage, gateways, power, people, Citrix/VDA-style licensing as applicable
- WVD: Azure compute + disk + network + profile storage + user entitlements you may already own + ops labor
The “included Windows entitlement” story helps when true. It never includes careless always-on host pools sized for peak 24/7. We model monthly compute with autoscale assumptions validated in pilot, then add twenty percent humility.
What we deployed in the first production slice
- Hybrid-joined multi-session hosts for a single business unit
- FSLogix on Azure Files
- Separate pilot pool from IT so failures do not hit executives first
- Conditional Access and MFA aligned with the rest of the Azure AD estate
- Runbook: scale-out, image update, profile reset, “who to call when logons fail”
Success criteria written before go-live: login P50/P95 targets, ticket rate, cost per active user per month. Without those, GA day is just a press release.
Operational ownership RACI (short form)
- Identity: Azure AD join / hybrid join standards, CA policies for cloud PCs
- Network: egress, name resolution, forced-tunnel exceptions for media if applicable
- EUC: image, pools, app groups, user runbooks
- Platform/Azure: subscriptions, policy, budgets, private endpoints if used
- Security: admin access to host pools, just-in-time where licensed, logging
- Finance: chargeback for host pool compute and storage
Orphans in that list become production incidents with no owner.
First thirty days after GA pilot go-live
Watch ticket themes daily: logon time, Outlook, Teams in session, disconnect storms, printer redirection (if you enabled it — consider whether you should). Adjust density before you expand to the next business unit. Expanding a broken pool multiplies pain linearly.
If you're facing this
If leadership heard “WVD is GA” and scheduled a company-wide migration for next month, slow them down to a production pilot with metrics. We design WVD and Citrix-on-Azure options side by side — bring concurrent user estimates, identity constraints, and whether your ops team already runs an image factory.