In this post I’ll describe to you briefly the differences between AWS WorkSpaces and AWS AppStream 2.0. But first a short introduction of the two Amazon services and the use case in which the comparison will take place.
Use case
We have a desktop application and we want to use it on the Internet from a web browser or some other application without allocating any considerable development time to this task.
Amazon WorkSpaces
An Amazon WorkSpace is basically an easy to setup Virtual Machine which runs on the AWS cloud. It’s a full-blown virtual desktop. There are two ways to access an AWS WorkSpaces instance, the WorkSpaces application or through a web browser. The AWS application can be downloaded and ran from every single major desktop and mobile platform. The application is very convenient and easy to use.
The way you go about using an AWS WorkSpaces instance is identical to the way you’d go and use a desktop computer. You provision users for said instance and then they can login to the machine via the app and use your software right away.
The pricing of this service varies. It can be hourly or monthly depending on your needs.
AWS AppStream 2.0
Amazon AppStream 2.0 is a fully managed, secure application streaming service. It allows for a desktop application to be streamed and used inside a web browser from any device. AppStream 2.0 is much more flexible when it comes to configuration compared to Workspaces. The biggest differences are the ability to choose the type of instance (CPU, memory or GPU optimized to reduce costs) and the option to launch the instance inside an Amazon VPC. The bonus of the latter is increased security and control over the resources being used. AppStream has the same problem as Workspaces in that an instance can be assigned to only one user at a time.
Configuration is a bit trickier inside the AppStream 2.0 ImageBuilder than in Workspaces. However that gives us greater control on what exactly do we want. The general process is that we use the ImageBuilder to install our application on the machine. Then the application will be added as an available option to the user when they connect to the AppStream 2.0 instance in the browser. Once this image is created it can be used to provision new instances quickly (~10 minutes).
The user experience in AppStream 2.0 is more streamlined than in Workspaces. In Workspaces you have an RDP Connection to the virtual machine so you get access to the Windows functionality. In AppStream 2.0 the user can see only the available applications for use. No additional Windows controls are available. The look and feel of the UI are more in line with an app launcher than a Windows desktop.
The pricing for AppStream 2.0 is also a lot more flexible than in Workspaces. That in combination with the points described previously make AppStream 2.0 the better choice in our case.