Amazon AppStream Update – Access Windows Apps on Chromebooks, MacBooks, Kindle Fires, and More
When I first wrote about Amazon AppStream last year, I described the AppStream APIs and showed you how to use them to modify an existing application to give it the ability to stream output to a wide variety of output devices. The AppStream SDK can be used to build customized streaming experiences that integrate local and remote applications in a unified fashion. As an example of what can be done when AppStream is used in this manner, see my blog post, Amazon AppStream Can Improve the New-User Experience for Eve Online.
Today I would like to tell you about an important new feature for AppStream. You can now stream just about any existing Microsoft Windows application without having to make any code changes. You simply step through a simple installation and configuration process using the AWS Management Console. Once you’ve completed the process, your users can begin to use the application.
This is a new way to deliver software that obviates the need for shipping CDs (you do remember those, right?) or waiting for massive downloads to complete. Your users can access the applications from devices that run FireOS, Android, Chrome, iOS, Mac OS X, or Microsoft Windows.
On the development side, running the remote side of the application in a single, well-understood, cloud-based environment can dramatically shrink the size of the test matrix. The client application is relatively simple, with responsibility limited to authenticating users, decoding video streams, and relaying local events to AppStream. Because the run-time environment is well-understood and under your control, issues related to libraries, DLLs, and video drivers are no longer an issue.
Finally, streaming applications from the cloud can protect your proprietary data and code from undesired exposure. Put it all together and you have a new and very powerful way to deliver applications to your users!
Let’s take an existing Windows application and make it available via streaming! Since AppStream runs the application on EC2’s GPU-equipped g2 instance type, I went to the NVIDIA Demos page and chose the Design Garage. Then I opened up the Console and selected AppStream:
I clicked on Deploy an Application and filled in the details:
Then I installed the application using the streamed copy of Windows running within the Console:
The download of the installation package takes place over the AWS backbone, generally at very high speed. This is yet another cool benefit of the cloud-based AppStream model.
To finalize the installation I clicked on the Set launch path button to tell AppStream where to find the application. Setting the path initiates the deployment process:
The deployment process can take 30 minutes or more (up to several hours) depending on the size of the application. As part of the process, AppStream creates an Amazon Machine Image (AMI) containing the application.
Once the deployment process is complete, AppStream will automatically launch a server and have it standing by to accept connections ( AppStream pricing is based on the total number of “streamed hours” per month, so you don’t start to accrue any charges until the application is actually put to use).
The console includes instructions and quick links so that I can easily test my application using a sample client:
I downloaded the sample client and pasted in the quick link. Then I clicked on the Connect button and I was up and running without the need to install the application locally. Here’s what I saw on my screen:
The presentation was very responsive and free of lag (I deployed the app in US East (N. Virginia) and accessed it from my desktop in Seattle). I was able to rotate and zoom the image quickly and efficiently. Although I used the Windows client for this demo, I could have also used the Chrome client. This would allow me to run the Design Garage on any platform that can run the Chrome browser — Chromebooks, Macs, Linux desktops, and more.
In the example above I used the sample AppStream client. For production use you will need to customize the sample client or use it as the basis for your own, custom client. Your client will need to include a mechanism to authenticate users. For more information, read about Building a Client Application.
Try it Now
You should be able to think of all sorts of ways to put this new AppStream feature to use. You can deliver many types of applications (medical imaging, data visualization, and CAD all come to mind) to a very wide variety of mass-market devices without the need for lengthy downloads.
AppStream is currently available in the US East (N. Virginia) and Asia Pacific (Tokyo) Regions.
I’ve saved the best part for last! You can try out this new feature at no cost as part of the AppStream Free Tier. The first 20 hour of streaming each month are free for one year. I’d like to invite you to go ahead, deploy an application, and take this new feature for a spin!