Amazon AppStream
Developer Guide

This documentation is for an older version of Amazon AppStream. For information about the latest version, see the Amazon AppStream 2.0 Developer Guide.

Amazon AppStream Components

Streaming an application from Amazon AppStream involves several components working together, some are AWS products, and others you supply.

Amazon AppStream Host

Amazon AppStream hosts your application on EC2 instances. Each host runs on a very large instance type called a GPU instance. Each GPU instance provide large amounts of parallel processing power. For more information, see GPU Instances in the Amazon Elastic Compute Cloud User Guide.

Streaming Application

The streaming application is the code that you plan to host on Amazon AppStream. This can be a current application that you deploy without modification or a new application that you design specifically to work with Amazon AppStream.

Client Applications

Client applications are lightweight applications that run on consumer devices. They decode the audio and video output of your application and display it on the device. They also encode user input from the device and return it to the application. Thus, they provide a fully interactive experience to your users.

Each device type requires a client application for that platform. For example, if you want your customers to be able to access your application from both iPhone mobile phones and Android tablets, you would provide two client applications, one for iOS and one for Android. Both client applications access the same streaming application. To support new device types, simply create a new client application for that device. You do not have to change the streaming application to support a new client application.

Example client applications are available as a Chrome app for the Chrome browser and for devices and computers running the Android, iOS, OS X, and Windows operating systems. To download a client application, see Streaming Your Amazon AppStream Application.

Entitlement Service

An entitlement service authenticates and authorizes users. It is the gatekeeper between clients and your application, ensuring that only those clients entitled to access your application can do so. Your entitlement service may authenticate users in a variety of ways: by comparing user login credentials to a list of subscribers in a database, by using an external login service such as Login with Amazon, or by simply authenticating all clients.

After the entitlement service creates a new session, it returns the session identifier to the authorized client as an entitlement URL. The client then uses the entitlement URL to connect to the application.

When you deploy a streaming application to Amazon AppStream, you also deploy an entitlement service that you can modify to authenticate and authorize users.