Amazon 提供了 AppStream 服务,使开发人员可以在 AWS 上运行应用程序,而将输出以流传输的方式发送到各种设备上。
在 2013 年 11 月推出有限预览版四个月之后,Amazon 发布了面向所有开发人员的 AppStream 服务。当使用 AppStream 时,应用程序可以运行在 Amazon 的云上,而将其输出——视频、音频、数据——以流传输的方式发送到瘦客户端应用程序。客户端应用程序运行在遍及整个互联网的各种设备上,负责接收和显示信息流,并获取用户输入,发送回服务器。这种方式有若干好处:
- 应用程序可以针对单一的平台开发和测试
- 简便,用于各种平台的客户端应用程序都很容易开发
- 应用程序可以运行在强大的服务器上,而不受制于设备的局限性
- 更新应用程序通常意味着更新服务器部分,可以在不影响用户的情况下以任何方式完成
- 用户无需下载应用程序,这点在面对比较大的应用程序时会有用
现有的应用程序可以通过 AppStream SDK 进行增强,以便支持流传输。目前,AppStream 只支持 Windows 应用程序,不过客户端应用程序可以部署到所有主流平台上:Android、iOS、OS X、Windows 和 Kindle/FireOS。Amazon 还提供了一个 Java SDK ,其中封装了一个 RESTful API,用于与 AppStream 服务在验证、授权、处理错误等方面进行交互。AppStream 应用程序可以访问许多 Amazon 服务——S3、RDS、NoSQL、SQS、SNS 等——限于同一区域内。
为了在 AWS 上使用流传输,应用程序必须能够运行在 Windows Server 2008 及更高版本上。32 位应用程序可以通过 WoW64 扩展使用。.NET 应用程序也可以使用。应用程序必须能够使用 YUV 420 视频格式进行流传输。Amazon 为这样的应用程序提供了 EC2 G2 实例类型,这是一个 3D 图形实例,包含了 10 个 EC2 计算单位,其中有 8 个虚拟内核,频率为 2.5HZ,10GB 内存,50GB 存储和 1 个有 4G 内存的 NVIDIA GK104 GPU。
但是,有一个问题。客户设备必须总是具备良好的互联网连接,对于每秒 30 帧 720p 的流传输速率,Amazon 推荐 3Mbps 的连接带宽。如果应用程序脱机工作,那么客户端应用程序就要在本地处理各自的功能。
Amazon 还宣布了十一月份之后推出的多项服务改进:
- 自动识别版本——AppStream 现在可以检测出客户端创建所使用的 SDK 版本,并自动启动兼容的后端服务。这使 AppStream 和 SDK 可以不断发展,而无需升级客户端。
- 支持 Mac 客户端——现在有一个 OSX SDK 可以用来开发运行在 Mac 上的客户端。
- 改进客户端 SDK——客户端 SDK 经过改进,现在包含了对游戏控制器的支持。它们还提供了一个增强的面向键盘和触控事件的输入映射模型。
- 简化入门体验——文档和打包模型经过改进,这样,用户可以快速建立并运行自己的第一个应用程序。
Amazon 对 AppStream 评价颇高,号称它可以使开发人员创建图形密集型应用程序,而与之匹配的轻量级客户端只有 5MB 大小:游戏、CAD、视频渲染。它还允许混合结构,应用程序可以部分运行在服务器上,部分运行在客户端上。 CCP 的 Eve Online 是一个大型多人游戏使用AppStream 运行在Amazon 上的案例。
查看英文原文:**** Amazon AppStream (GA) Apps Run on AWS and Stream to Devices around the World
评论