Droplet Computing containers on Amazon AppStream

Michelle Laverick – Chief Technologist

Amazon WorkSpaces was a doddle to get up and running as I am very familiar with VDI and workspace concepts. I’d not touched AppStream before, so I needed a bit of primer. I found this video by Thorr Giddings to be excellent. To the point and, for someone with quite a bit of experience, I was able to pause the video at the various steps and get the process down. The best 8 mins of my time this week!

In case you don’t know, Amazon AppStream is a fully managed application streaming service. You centrally manage your desktop applications on AppStream and securely deliver them to any computer. You can easily scale to any number of users across the globe without acquiring, provisioning, and operating hardware or infrastructure. AppStream is built on AWS, so you benefit from a data center and network architecture designed for the most security-sensitive organizations. Each user has a fluid and responsive experience with your applications, including GPU-intensive 3D design and engineering ones, because your applications run on virtual machines (VMs) optimized for specific use cases and each streaming session automatically adjusts to network conditions.

Enterprises can use AppStream to simplify application delivery and complete their migration to the cloud. Educational institutions can provide every student access to the applications they need for class on any computer. Software vendors can use AppStream 2.0 to deliver trials, demos, and training for their applications with no downloads or installations. They can also develop a full software-as-a-service (SaaS) solution without rewriting their application.

The video outlines the key stages for the process:

Step 1: Create an image

An image is essentially an OS that allows you to “capture” the app install, which in my case, is the Droplet Computing Application or DCA. The Amazon AppStream Image is a base Windows build, plus the application that you install during a “capture” process.

Note: The latest AppStream base image uses Windows Server 2016

You provide the Amazon AppStream Image a name, a friendly name, and assign an Amazon Instance Type which is a predefined allocation of CPU and RAM. I selected 2vCPUs and 8GB RAM as this is a recommended minimum when installing to physical host devices. As for the rest of information the wizard requests, I just accepted the defaults as I wanted to stand-up a POC and see how well our software behaved in AppStream. At the end of the wizard you “launch” the image which essentially deploys an image ready for you to connect to in order to install your apps.

Step 2: Install the Software

In this stage we connect to the image, and the “Image Builder”. There’s a bit of toggling between accounts here (administrator, template, and test user) where you install the software, then make it into a template, and then test it to make sure it works. Like any “capture” process this probably feels a bit odd the first time. However, once you’ve run through this more than once, it becomes second nature. I’ve used lots of tools like this in the past, and always found that to be the case. It’s all about how much you use it and the familiarity that grows with it. But really, it’s very simple.

TIP: Don’t put files you will need during this process into a profile location, because when you switch users you might find you don’t have the correct permissions to access them. Also watch out for permissions on files.

After the application has been installed, you crank-up the AppStream Image Assistant which automates the process of capturing the application and allows you to set variables such as the icon path and the working directory.

Step 3: Create a Fleet

A fleet consists of streaming instances that run the image that you specify.  The fleet type determines when your instances run and how you pay for them. You can specify a fleet type when you create a fleet. You cannot change the fleet type after you create the fleet. The following are the possible fleet types. The Always-On Fleet type creates instances run all the time, even when no users are streaming applications. The On-Demand creates instances that run only when users are streaming applications. Idle instances that are available for streaming are in a stopped state. As you might imagine, you use an Always-On fleet to provide your users with instant access to their applications, and you use an On-Demand fleet to optimize your streaming charges and provide your users with access to their applications after a 2-minute wait.

Fleet configuration for my Droplet Computing Application.

Step 4: Create a Stack

A Stack consists of an associated Fleet, user access policies, and storage configs.

Stack configuration for my Droplet Computing Application.

Step 5: Update the User Pool

The User Pool, in its simplest form, is an email address which sends out an invite, and chance to set a password, together with friendly first name/last name field.

User Pool Configuration

No prizes for guessing our email addresses! J But seriously, there’s no requirement to enable access to a directory service to complete this entitlement process. Just enter an existing corporate email address and send the invite.

This screen grab blow shows two stages of launch a Droplet Computing container. AppStream sessions are launched within the context of web-browser. This web-client has a number of controls which I’ve highlighted here in red. These are enables the user to switch between AppStream applications, and toggle between them. These controls also allow for the limited uploading of files to the AppStream home and temporary location. Other buttons allow the user to make AppStream switch to a full-screen mode as well as control how the application works.

Within this web-browser window is our Droplet Computing Application Tile system, or Workspace; a series of shortcuts that point to the .EXE residing inside our container.

Droplet Workspace delivered by AppStream

The end user selects an application by double clicking the app icon from the Workspace, and the application launches.

So, what you see here is the Droplet Computing container running the Amazon AppStream environment. The icons you see under the Google Chrome Bookmarks bar belong to AppStream and enable the user to control their AppStream environment. For instance, activities like access the AppStream home directory. Situated within that is the Droplet Computing Application with a container loaded.


I think the main take away is that we are demonstrating how Droplet Computing containers can work practically anywhere you care to think, across range of application delivery solutions and desktop/workspace technologies. It’s widening ability to address customer’s needs, whatever EUC strategy organizations adopt!