We announced Amazon AppStream at last fall's re:Invent conference, and made the service available to an initial group of developers at that time.
Today we are taking the next step forward. I am happy to announce that Amazon AppStream is now being made available to all interested developers. You can build applications that run on AppStream and scale them as needed in order to meet demand.
You can now use AppStream to build complex applications that run from simple devices, unconstrained by the compute power, storage, or graphical rendering capabilities of the device. Your application can take advantage of the new and powerful g2 instance type, including high-performance GPU-powered rendering of 2D and 3D graphics.
Let's take a closer look at AppStream and its benefits, and then examine the features that we've added during the limited preview.
AppStream Architecture & Benefits
I covered the most important aspects of AppStream in my original post. Your application runs in a Windows 2008 R2 environment on an EC2 instance. It can make use of native Windows APIs and AWS resources such as relational (Amazon RDS) and NoSQL (Amazon DynamoDB) databases, persistent object storage (Amazon S3), caching (Amazon ElastiCache), message queues (Amazon SQS), publish and subscribe messaging (Amazon SNS), email delivery (Amazon SES), and much more. Since these services run in the same Region as the EC2 instance, latency will be low and performance should be very good.
Your client code runs on a desktop (Windows or Mac) or a mobile device running FireOS, Android, or iOS.
The client code calls AppStream to obtain an Entitlement URL through an Entitlement Service (we supply a sample that you can use as-is, customize, or use as the basis for your own implementation). The client opens the Entitlement URL to initiate the streaming of video and audio content for playback. The client is also responsible for routing keyboard, mouse, and other device events to the application for processing.
Here's how the pieces fit together:
Because your application runs in the cloud, you can support additional device types by creating new client applications.
Based in part on the feedback that we received during the limited preview, we have added some key features to AppStream in preparation for today's launch. Here's a summary:
- Automated Version Resolution - AppStream now detects the SDK version that was used to create a client and launches compatible backend services automatically. This allows AppStream and the SDK to evolve without the need for a client upgrade.
- Mac Client Support - There's now an OSX SDK to enable the development of clients that run on the Mac.
- Client SDK Improvements - The client SDKs have been improved and now include support for game controllers. They also provided an enhanced input mapping model for keyboard and touch events.
- Simplified Getting-Started Experience - We have improved the documentation and the packaging model so that you can get your first application up and running quickly..
AppStream in Action
Earlier this year I talked about the work that CCP Games is doing to improve the new-user experience for Eve Online. Here's what the CTO had to say at the time:
My recent post, Amazon AppStream can Improve the New-User Experience for Eve Online, contains additional information about this work.