With its new AppStream offering, Amazon is offering intensive graphics processing as a service, with the promise of freeing developers from worrying about the rendering capabilities of each user's device.
"The developer can build for the high-end computational load but still be able to distribute to lots of customers," said Mike Frazzini, general manager of the Amazon games unit. "It frees them up to be more creative."A
The new cloud service, now in beta, can render graphics or video in high definition or even in three dimensions (3D) on behalf of an application, streaming the results to the application in 720p resolution. A The service can take interactive input from the local client's mouse, keyboard or touchscreen interfaces.
Like a number of other services launched at Amazon's re:Invent user conference, held this week in Las Vegas, AppStream tailors the capabilities of Amazon Web Services (AWS) for specific sets of users -- in this case application developers. Amazon is hoping that its model of pay-as-you go cloud services will provide benefits over traditional methods of running IT operations.A
The immediate advantage that AppSteam offers is that the app that uses the service is not constrained by the limitations of its graphics processors, be it a smart phone, tablet or traditional computer.
As a result, this approach could broaden the potential user base for many graphically rich applications, Frazzini said.A
Typically, developers have had to target their graphics-intensive applications to either the subset of computers with superior graphics rendering capabilities, or to a much larger set of computing devices with more limited rendering abilities. AppStream removes the need to make that choice, Frazzini said.
The service could also ease the process of updating applications, because the code can be updated once in the cloud, rather than requiring that a patch be pushed out to every user. It could also reduce the amount of work required to port an application to multiple platforms.
AWS originally developed the service for computer game makers, though the company soon found other potential uses, such as medical imagery, photo or media editing, advanced media delivery, or collaboration on large CAD (computer aided design) files.A
One early user, fashion design firm Embody, used the service to let customers design their own clothing through real-time 3D renderings of the garment.A
"As we've opened this up and talked to a diverse set of potential customers, we've been surprised by the use cases," Frazzini said.A
Any device with a broadband connection and the ability to decode video could work with the service. Frazzini did warn that a small subset of applications with zero tolerance for latency (fast-paced first-person shooters for instance) would not be suitable for running entirely on AppStream, though most types of applications would work well with the service.
For some latency-intensive workloads, the developer can stream only part of the application and keep other parts on the local client. "It's not all or nothing," Frazzini said. "The parts that have no tolerance for latency can be run locally, but other parts, such as background scenery or advanced effects, can be streamed in."A
This hybrid approach could help the size of downloads for very large applications, Frazzini said.
The service uses NVidia G2 graphics processors, running on Microsoft Windows Servers on EC2 (Elastic Cloud Compute).A
To write to the service, the developer only needs to know how to work with Microsoft's DirectX rendering library. The local program interacts with the service through a set of APIs (application programming interfaces) that the developer can work with by way of the SDK (software development kit) AWS provides.A
Over time, AWS will also offer a set of plug-ins for popular IDEs (integrated development environments) such as Eclipse.A
To stream the imagery, AppStream uses Amazon's recently developed SDX (Streaming Experience) broadcast protocol (which is also used by Amazon's new WorkSpaces virtual desktop infrastructure as well).
SDX uses forward error correction (FEC) and other techniques to smooth performance even when the network bandwidth is choppy.A
Like other AWS services, AppStream will be priced on a pay-per-use model, depending on the amount of processing done on EC2, bandwidth usage, licensing for the Windows Server, and the use of SDX.A
Those interested in trying the service before it becomes commercially available can apply to for an account.