1 of 22

NCSU WVD

Taking labs online

2 of 22

What is WVD?

Windows Virtual Desktop is a desktop and app virtualization service that runs on the cloud

  • Set up a multi-session Windows 10 deployment that delivers a full Windows 10 with scalability
  • Virtualize Microsoft 365 Apps for enterprise and optimize it to run in multi-user virtual scenarios
  • Bring your existing Remote Desktop Services (RDS) and Windows Server desktops and apps to any computer
  • Virtualize both desktops and apps
  • Bring your own image for production workloads or test from the Azure Gallery.
  • Reduce costs with pooled, multi-session resources. Windows 10 Enterprise multi-session capability exclusive to Windows Virtual Desktop.

3 of 22

  • 100,000 devices on Campus
  • ~34,000 Students
  • ~100 IT Units - Highly Decentralized
  • ~700 IT Staff (240 in Central IT)
  • Each College has its own OU, managed by it’s own IT personnel, which has been delegated Full Control to their OU
  • ~30,000 University-Owned Computers�4000 Mac OS, 4000 Linux, 22,000 Windows

Some Info about NC State

4 of 22

Where we were...

  • Traditional on campus computer labs
    • "Butt in the seat" reservation model
    • Lots of up front cost
    • Machines sit idle for long periods of time
    • Different software load in each lab
    • Little remote access

  • Virtual Computing Lab (VCL)
    • NCSU developed solution Open Source Apache VCL
      • Created in 2004, has been the go-to resource for on demand virtual desktop usage on campus
    • Students and Faculty could reserve Linux and Windows machines for class use
      • Reservations could be personal use and could last an entire semester

5 of 22

Why Windows Virtual Desktop?

Virtual Desktop Access (VDA) licensing cost increases

Augmenting normal solutions due to COVID-19

6 of 22

Where are we using it?

  • Physical lab replacement
  • Classroom instruction
  • Homework for students
  • Course specific images
  • Access general use Site Licensed software

7 of 22

Where are we using it?

  • NCSU Meta Hostpool
    • Software
      • Site licensed software
    • D4s V3 & 10 Session Hosts

8 of 22

Where are we using it?

  • Electrical and Computer Engineering Computing Lab
    • Software
      • Cadence
      • MATLAB
      • Ansys
    • D4s V3 & 4 Session Hosts

9 of 22

Azure Requirements

  • An Azure Active Directory.
  • A Windows Server Active Directory in sync with Azure Active Directory.
    • A Windows Server AD in sync with Azure Active Directory. User is sourced from Windows Server AD and the Windows Virtual Desktop VM is joined to Windows Server AD domain.
    • A Windows Server AD in sync with Azure Active Directory. User is sourced from Windows Server AD and the Windows Virtual Desktop VM is joined to Azure AD Domain Services domain.
    • A Azure AD Domain Services domain. User is sourced from Azure Active Directory, and the Windows Virtual Desktop VM is joined to Azure AD Domain Services domain.
  • An Azure subscription, parented to the same Azure AD tenant, that contains a virtual network that either contains or is connected to the Windows Server Active Directory or Azure AD DS instance.
  • VNet (Virtual Network)
    • Basically a subnet in Azure terminology
    • Has firewall capabilities (Network Security Groups or NSG)
  • Connectivity to on-prem (site-to-site VPN, or Express Route)

10 of 22

WVD Connectivity

11 of 22

WVD 1.0 (Classic/Fall) vs WVD 2.0 (Spring/ARM)

  • Tenant (1.0/Classic/Fall)
    • Workspace (2.0/Spring/ARM)
  • Session Host(s)
    • VM running multi-session Windows 10 20XX
    • VM running Server 2016/2019
  • Hostpool
    • One or more session hosts working together to handle the load of users accessing provided applications
  • Application groups - Full desktop or Remote Apps (streaming apps)
    • Desktop Application Group or DAG (1.0/Classic/Fall)
      • Default Desktop (2.0/Spring/ARM)
    • Remoteapp - same for both versions

12 of 22

  • We give departments a base VM to log into and customize as needed, capture, and use for hostpool creation and updating
  • Updating Hostpools
    • Golden image
      • Maintain image and re-deploy hostpools as needed when image is updated
    • Update session hosts in place
  • Premium SSD is really a must for performance reasons on pooled hostpools
  • Suggestions from other universities
  • Trial and error until we achieved the performance we were needed
  • Idle sessions are automatically disconnected after 1 hour
  • Disconnected sessions are closed after 30 minutes

Choices we made

13 of 22

  • Using the Fall/Classic model
  • Separate Azure VNET
    • Two subnets
      • WVD
      • Lab Services
    • Peered with hub VNET to on-prem
    • Firewall rules back to campus
  • 2 Azure resource groups for each dept - Dev / Production
  • WVD OU in each college for computer objects for their session hosts
  • GPOs for required policy settings
  • SCCM for application deployment
  • Gallery Multi-session Windows 10 2004 with Office for base images
  • Session hosts and hostpools rolled with custom images created from the gallery base images
  • Started with WebJEA to automate
    • Base VM
    • Capturing Image
    • Deploying / Updating new hostpools

How we built it

14 of 22

Our setup cont’d...

  • Our platform services team used WVD APIs to incorporate a self-service portal of sorts for end users and admins

15 of 22

  • FSLogix
    • Profile redirection to Azure files
    • App Masking
      • Certain software is restricted to who can use it and for what purpose. On certain hostpools that are used for multiple courses, app masking is used to ensure only students from certain classes can see the software they need.
      • Works better for us than MSIX app attach

  • User data is not recommended to be stored on session hosts
    • Google Drive
    • OneDrive
    • NCSU Home Drive

Our setup cont’d...

16 of 22

Problems / Gotchas

  • Cloud Management Gateway (CMG) application deployment issues for large applications
  • MSIX app attach
    • Wouldn’t work for larger applications. Small apps like VLC or Notepad++ were no problem but large applications wouldn’t finish building without errors
    • Do we want to maintain separate application packages in SCCM and MSIX app attach?
  • 50 app group limit is tenant-wide for Azure Resource Manager (ARM) version of WVD
    • Not currently limited for Classic
    • Call to MSFT may get the limit increased
  • Webhooks don’t require auth, keep them secret!
  • User assignments
    • Classic requires access to be granted on a user by user basis
    • ARM allows for group based access
  • Optimizing number of hostpools vs software loads vs session host sizes
    • Is it “better” to have 10 hostpools with 5 main apps or�5 larger hostpools with 10 main plus lesser used apps?
  • Some applications believe the OS to be server based and will not install
  • Time zone may throw people

17 of 22

  • Adoption has been slower than anticipated, the ability to expand or shrink with demand is beneficial
    • Perhaps professors aren’t pushing software usage as much, but cloud platforms from individual vendors have also taken some of the load
  • Discovering usage
    • Hostpool normally used by a course with 25 people, suddenly another course with 98 people hop on the hostpool and hijacks all resources.
      • Could be solved with scaling the hostpool, but not knowing when this may happen is an issue.
  • App streaming makes the rdweb portal potentially super busy

  • A cmdlet existed to allow folders for grouping similar to on-prem RDS, but after inquiring about its usage the cmdlet was deprecated and removed from documentation

Problems / Gotchas cont’d

18 of 22

Monitoring

  • Azure Monitor
  • Sepago
  • Azure alerts
  • Azure performance counters
  • Looking into Nerdio
  • Getting feedback is difficult in COVID times.
    • In-person, if a student has a problem, they raise their hand. If everyone is having the same problem, IT staff can be alerted, stop by, and see for themselves. When everyone is remote on WVD, much harder to get feedback.
  • Does it work well? We think so.

19 of 22

Azure Monitor

20 of 22

Future Uses / Improvements

  • Conversion to ARM scheduled for Winter break
  • Investigate conversion of on-prem RDS services to WVD
  • Possibly use to replace RDP’ing to desktops in offices burning electricity
  • Admin VMs
  • Scaling script
    • Need to know how big to make hostpools
    • Decision to use breadth or depth
  • Pull information from monitoring into Splunk
    • We aren’t currently using Sentinel

21 of 22

WVD Resources

22 of 22

Thanks!

Questions: mlpollar@ncsu.edu

***Please add subject of WVD Hi-Ed***