- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
- Automatically mount an NVMe EBS volume in an EC2 Linux instance using fstab - Mon, Feb 21 2022
Recommended latency ^
Amazon recommends a maximum latency of 100ms for a good user experience. Since I am currently in Asia, my latency varied between 200ms and 300ms, and the connection speed between client and virtual desktop was below 1Mbit/s.
With a latency of 200ms, work was still convenient, although the user experience when typing longer text was suboptimal. What surprised me was that, with my poor connection, watching YouTube videos was still perfectly possible. However, with a latency of 300ms, things got a bit choppy.
Multimedia and PCoIP ^
I still remember when I was first confronted with the virtual desktop concept almost 20 years ago. It was on a Citrix WinFrame server based on Windows 3.51. At first, I was very excited about the new technology and was wondering if we could replace our PCs with it. A few days later, I installed Microsoft Encarta (a multimedia encyclopedia that is no longer available) and launched a video. Encarta’s videos had the size of thumbnails and were of poor quality. Nevertheless, it was essentially impossible to watch these videos on the WinFrame server through the Citrix ICA protocol.
With every new version (and name) of their product, Citrix promised improvement with regard to multimedia applications. And, every time, I was disappointed again (I had a few more disappointments with Citrix along the way, which I will discuss in a later post). After some years, I gave up and just accepted that application and desktop sharing protocols are simply not suitable for transferring video and sound. (Notice: I didn't work with Citrix latest protocols (HDX and HDX-3D)).
Amazon WorkSpaces - YouTube video
This is why I was quite surprised that I could watch a YouTube video across continents, with a relatively slow Internet connection and on a remote desktop in Amazon’s cloud, using Teradici’s PCoIP protocol. Even HD videos worked fine as long as I didn’t watch the video in full-screen mode. I could still notice a difference from using a direct connection through HTTP, though. However, this was good enough for me. I think, with latencies below 100ms, your users probably won’t notice the difference from a physical desktop.
Testing user experience ^
I guess it won’t take long before Amazon offers WorkSpaces in all their datacenters around the world. Thus, you should be able to find an availability zone close enough with a latency below 100ms. You can run a preliminary test before signing up for WorkSpaces by launching an EC2 instance in the same availability zone and then pinging the server from your network or wherever you plan to offer virtual desktops. Make sure to allow ICMP in the EC2 security group (firewall).
EC2 Security Group - Allow ICMP
By the way, I tried to watch the same video on an EC2 Windows server in the same availability zone without success. RDP started choking after a few frames even though the video quality was set to only 360p. Notice that this was without RemoteFX. RDP appears to be less forgiving than PCoIP with high latencies, but it performs better at low connection speeds.
The WorkSpaces desktop with PCoIP felt much snappier than did the Window server with RDP. I just mention it to make it clear that you can’t just launch an EC2 Windows server to find out how the user experience would be with WorkSpaces. PCoIP and RDP are two different things. And PCoIP in Amazon’s cloud is different from PCoIP in a VMware environment.
USB, copy and paste, and printing ^
Aside from the snappiness of the user interface, a few other things have to be considered when it comes to user experience. Users might want to copy and paste between the local and the remote desktops, they want to access USB drives, and some users even still insist on carving information into dead wood.
Copy and paste worked fine with text, including formatting; however, images from documents can’t be transferred this way between the local and the remote desktops. The nice thing is that PCoIP automatically maps local drives on the remote desktop, including USB drives. Thus, you can easily transfer all kinds of files between the local and the remote machines. However, this feature requires better bandwidth than the one I had in my test. Printing is not supported in the WorkSpaces limited preview, but this functionality will be added later.
A nice feature of running a desktop in the cloud is that the machine is always on—that is, shutdown and reboot do exactly the same thing. Whenever I logged on, my WorkSpace was available almost instantly. Users can leave all applications open. In addition, they don’t really need to log off; closing the remote desktop window is enough.
Of course, this can cause trouble with updates. With physical desktops, you have the problem of being unable to easily deploy updates if users turn their PC off. With VDI, you have the opposite problem—that is, because the desktop is always on, users will be tempted to leave applications with unsaved data open overnight. But who said that VDI is really better for deploying updates?
Testing user experience is crucial when it comes to making the decision of whether VDI is an option for your organization. Every environment is different, and user experience depends heavily on the software and hardware your users require. If you consider WorkSpaces as an option for your organization, I recommend testing it with a couple of users for some time.
A big advantage of VDI in the cloud is that you don’t need to buy expensive hardware and invest a lot of time in setting up a test environment. You also don’t have to commit to a service provider. All you need is a credit card, and you can run your test for just $35 per desktop per month.
In my next post of this series I will have a closer look at the administration of WorkSpaces.