For a virtualization fan, one of the most interesting recent developments is the Windows 10 multi-user support which has arrived in the latest preview. For decades we’ve become accustomed to running applications and sometimes shared desktops for multiple users on servers through RDS and Citrix XenApp. We’ve also become accustomed to waiting for a user to log out before we’re able to remote into a desktop occupied by somebody else.
With Windows 10 multi-user that all changes.
You may have read Brian Madden’s attention-grabbing blog post back in March in which he speculated on a multi-user Windows 10. It seems Brian may have known something the rest of us didn’t. In the post, one of the reasons he stated he’s excited about a potential multi-user Windows 10 is down to application compatibility.
In my experience, app compatibility of applications that run on Windows 7 and Windows 10 running on the newer server operating systems hasn’t really been an issue in the past. If it works on one, for the most part, it works on the other. Fellow MVP and co-author of this article, Trentent Tye, informs me that Windows 10 supports .NET Framework 1.1, while Server OS will not. I guess the importance of that will vary customer to customer. Over the last seven years, I have only encountered .NET Framework 1.1 in use by organizations relying on it for a single application, not many.
While multi-user is available in a Windows 10 preview right now, it was announced at Microsoft’s Ignite conference that Windows 10 multi-user will be part of an Azure only offering called Windows Virtual Desktop (WVD). In this article, we will focus on some of the virtues of a multi-user Windows 10 in general and discuss WVD.
Brian also gives a great history lesson on why Terminal Services was originally targeted at the server level due to hardware restrictions and limitations on the desktop side back in the day – limitations that no longer exist. He signs off the blog post predicting that 2019 will be the year of VDI, which is a little tongue in cheek, but we’ll dive into that more a little later on.
What if we could publish a shared Windows 10 desktop, one which already comes out of the box with the look and feel of the operating system many of our employees use today at home on their own personal device?
Windows 10 with Multiple Users
Divergence in Windows UI.
Now, look at Windows 10 vs. Windows Server 2016. Windows 10 has Edge, but Server 2016 doesn’t. For now, Windows 10 preview has MSIX support, Windows Server 2016 doesn’t (neither did 2019 at the time of writing this). Server OS won’t support UWP in future either. Office 365 ProPlus won’t be supported on Server 2019, only on the desktop Operating Systems and earlier Server Operating Systems.
To me, it seems there is a divergence happening between the desktop and server operating systems and if trends continue the look, feel and features on each could become very different, which could mean running shared desktops on Windows Server 2016 requires exposing your users to a look and feel they’re not familiar with.
Edge launched as a Published Application from Windows 10
As it is today, getting a familiar desktop look and feel using Server 2012 R2 or Server 2016 for our Windows 7 and Windows 10 desktop users is very difficult. So the improved end-user experience is the aspect that excites me the most.
As an administrator whose job is to deliver applications to users remotely, 2018 has been a topsy-turvy year. The first builds of Windows Server 2019 were released without the Remote Desktop Services role. Original speculation was Windows 10 would get a multi-user component, putting the desktop operating system back to serving users and the server operating system providing backend services. This just seems to make sense. Use the same operating system on your desktop that you would in a remote session setting.
But why do this?
[x_pullquote cite=”Rory” type=”right”]As an administrator whose job is to deliver applications to users remotely, 2018 has been a topsy-turvy year.[/x_pullquote]One of the challenges faced in the remote application or remote session world is transitions. In the past moving from one technology platform to the next takes a significant amount of planning, effort, testing, and remediation. Perhaps the most significant challenge is migrating from old operating systems to new operating systems. In the past, each release was about five years apart and were major shifts in terms of technology and user experience.
Compare Server 2003, 2008, 2012 and 2016. Each provides a radically different idea for how the desktop should look and how you interact with a system. Simple things like an inconsistent theme can break out a user’s experience or expectation in a sub-optimal way.
Notepad, for example, has an inconsistent experience as a published app on RDSH.
But why should you care? These are server operating systems. Users should never need to see them. That’s correct except in one instance: when you use Remote Desktop Services (RDS) to provide desktop or application access. With this role, regular users are connected to a server operating system and expect a quality experience.
For the most part, this has been fine. Server operating systems and client operating systems have had their release cycles loosely tied together. Equivalencies were done to match what desktop operating systems would be most similar to their server counterparts.
Windows XP == Server 2003.
Windows 7 == Server 2008 R2.
Windows 8.1 == Server 2012 R2.
Enter Windows 10 and the Windows as a Service model (WaaS).
WaaS brings more rapid development to Windows. Features can now be introduced into Windows slowly, with a more organic growth cycle instead of trying to hit the big-bang drop date of a major release. Fixes are the same way. Microsoft introduced the Insider program to get telemetry from early adopters to provide more stages of quality control by pushing code to audiences that increase in population with each tier.
But WaaS isn’t available for their server operating systems with the Desktop Experience. Admins have had to wait for the old approach of monolithic periodic releases. And this brings about large divergences in both user experience and technologies as one product evolves and the other stagnates.
Features added with each Windows 10 Update and example of the release cadence.
I was working on a project to bring the desktop experience to Server 2016 and a simple thing like making a Start Menu experience that is equivalent to Windows 10 of today is no longer possible. Issues that exist in Windows 2016 have been fixed and evolved in Windows 10. James Kindon has documented his experiences over several posts to show how you can overcome some of these. Going into the guts of something that has a profound user experience impact, like the Start menu, and you’ll be wishing to be on the new release where you can provide something better than what was possible 3 years ago.
If, however, I could provide a Windows 10 experience to a Windows 10 user on the same (or near same) release of the operating system, the experiences would be more consistent and improved. You’d no longer need to translate user profiles from one version of Windows to another!
With Windows 10 with multi-session support, this appears to be possible. And this is a big deal. Windows 10 brings a release cadence that includes improvements in security, performance, and fixes that only come on the latest release.
Keeping on the Windows 10 cadence could help remote session administrators as well. The whole world is moving in the direction of continuous and organic upgrade mechanisms which will help move everyone forward and prevent big transitions that could take years and a ton of effort.
The contrast is put cleanly in the WaaS servicing strategy document from Microsoft:
Prior to 2015 is the old world way of doing things. 2015+ is the new world.
Today, the GUI being added to the server operating system feels more like it’s “tacked-on” and over time, a degraded user experience shows through with the lack of updates, fixes, and features. Does an operating system designed for users make more sense to host users than a Server operating system designed to run services?
It’s my opinion that the Windows 10 multi-session operating system can take the Remote App/Remote Session world by storm by allowing a fuller user experience, better compatibility with applications, better security, faster fixes, and all of this with better resource consumption than individually assigned machines.
Microsoft announced the Windows Virtual Desktop which provides this operating system at Ignite. However, the announcement only included this product as an Azure offering. This leaves on-prem customers stuck waiting to see if it’ll ever be available to them.
Shared Desktops vs Personal Virtual Desktops
Windows Virtual Desktop in Azure builds on the shared desktop concept which as discussed is not new, it’s only new to the desktop OS as a multi-user platform. For want of a better term, mainstream VDI solutions such as XenDesktop with MCS and VMware Horizon have usually been deployed for full personal virtual desktops, assigning 1 VM to 1 User, be it persistent or non-persistent. If you’re familiar with these solutions and the nature of spinning off new desktops from linked clones and/or removing desktops completely before re-creating them, this is very resource intensive.
In fact, it’s so resource intensive in a traditional on-premises deployment, that organizations usually keep their VDI in a dedicated environment, e.g., it’s own hypervisor instance, host clusters, storage, etc. Putting these environments on say a shared vCenter instance is not a good idea as VDI is a much more dynamic and intensive service than all other applications and servers in an enterprise.
[x_pullquote cite=”Rory” type=”right”]Running VDI in the cloud not only falls into technical challenges but also financial challenges.[/x_pullquote]Consider what I just said when it comes to public cloud services. Running VDI in the cloud not only falls into technical challenges but also financial challenges. There’s the cost of constantly tearing down and building new desktops, creating full personal virtual desktops and dedicating resources for every single user. A lot of Win7 based virtual desktop builds were kept at 32-bit Window 7 and only had 2GB of memory assigned. Office 2019 requires 4GB of memory!
In my opinion, a shared desktop is much more desirable for a cloud desktop deployment. In a 1:1 desktop to user deployment, there is a resource spend for supporting a dedicated OS on each desktop for each user. With a shared desktop, you have multiple users sharing the same OS, thus cutting down on resource spend.
Having a shared desktop which could have maintenance windows to reboot or possibly even shut down outside of business hours would be much more cost effective too. Windows Virtual Desktop is built with not only Windows 10 in mind but also Office, so sizing for Office 2019 shouldn’t be a concern.
Some are suggesting this is the future of VDI? We’ll have to wait and see. I would like to see a real-world cost breakdown on running a solution like Windows Virtual Desktop full time in an always-on environment. I would also like to see how much tooling Microsoft will provide.
ControlUp Already Seem to Interpret the OS as Windows 10 Enterprise for Virtual Desktops
Microsoft already stated they’ve partnered with vendors like Citrix, Liquidware, Lakeside, FSLogix, and others. And from the image above we can see ControlUp are already starting to prepare for the OS. If we need to integrate other products to make the management experience rich, what is the added cost there? Could this be a viable solution for remote virtual desktop users for an enterprise? With the announced Windows 7 extended Security Updates, will this make an ideal transition platform for those migrating?
We’re not sure, but we’re excited to find out!
You can sign up for the Windows Virtual Desktop preview to receive access when the preview goes live: https://azure.microsoft.com/en-us/services/virtual-desktop/#sign-up