[Microsoft Azure] Azure RemoteApp: Azure 上的桌面虚拟化工具

桌面虚拟化 (Desktop Virtualization) 是虚拟化的一个分支,它着重的是在将使用者执行环境的虚拟化,让它可以在本地端电脑资源不足的情况下还能执行应用程序,例如当本地显卡 GPU 不够力时还能玩需要高档 GPU 才能执行的游戏,或是在等级低的电脑上执行等级高的应用程序等....


桌面虚拟化 (Desktop Virtualization) 是虚拟化的一个分支,它着重的是在将使用者执行环境的虚拟化,让它可以在本地端电脑资源不足的情况下还能执行应用程序,例如当本地显卡 GPU 不够力时还能玩需要高档 GPU 才能执行的游戏,或是在等级低的电脑上执行等级高的应用程序等。


(Source: http://en.wikipedia.org/wiki/Application_virtualization)

桌面虚拟化的原理是让使用者在远端执行作业时,但感觉是在自己的电脑上工作。因为真正执行程序的地方不在本地,而是在远端的电脑,远端电脑上配有足够的 CPU/GPU 等资源,由远端电脑负责执行,应用程序的画面则是透过网络传输到本地端显示,因此本地端一定会安装用户端软件,以接收来自远端电脑的画面资讯,以及使用者操作的命令,像是鼠标游目标移动,键盘的输入与焦点的位置等,都要送回远端电脑做处理后,将画面回传到本地端。而这之中会有一个关键:网络速度,所以或多或少都会有些延迟,不过在网络带宽愈来愈大且应用程序虚拟化技术的进步 (如画面压缩加快网络速度) 之下,桌面虚拟化的应用将会愈来愈多。

Amazon EC2 平台在桌面虚拟化上有提供 AppStream 服务 以支持应用程序虚拟化,当然微软也不能落后太多,在 TechEd 2014 NA 大会中,微软宣布了 Azure 上的应用程序虚拟化服务,称为 RemoteApp,其实这个技术早就有了,它是 Windows 远端桌面服务的一支,特别的地方是它在使用者的电脑上只是一个捷径,使用者执行程序时背后会开启一个特制的 Remote Desktop 用户端,画面会由这个用户端带给使用者,使用者也不会看到一般的 Remote Desktop 的程序画面 (电脑设定,账户设定之类的),而是看到应用程序执行的画面,就像在本地端执行应用程序一样。

Azure RemoteApp 是基于 Azure 所提供的运算资源所建置的 RemoteApp 服务,在预览阶段提供了 Office 2013 Professional Plus + Project + Visio 等用户端软件的 RemoteApp 影像,而企业也可以在 Windows Server 2012 R2 的影像架构下,安装部署自己的企业应用程序,并利用 RemoteApp 方式对企业用户端发行。这个服务目前是预览阶段,需要申请核准才可以使用。

当申请核准后,在新增功能表的 RemoteApp 功能即可使用,它分成两种模式,一种是经过 Internet 的 RemoteApp,另一种是经过 VPN 的 RemoteApp,目前 Internet-based RemoteApp 只能使用微软提供的影像,若想要发行自己的影像,必须要使用 VPN-based RemoteApp。

image

新增的时间会比较长 (大约 30 分钟内),因为这是新的服务,架构还在试行中,未来 GA 时相信会更快。

image

建立完成后,进入它的数位仪表板界面:

image

我们可以选择要不要发行特定应用程序,点选 RemoteApp Programs,即可看到应用程序清单,可选择其中一个应用程序选择发行与否,或是编辑它的启动参数:

image

当然,我们一样可以决定使用者能不能用,目前 Internet-based RemoteApp 可支持 Microsoft Account 以及 Azure AD 的使用者验证 (若要用企业的 AD 账户则是要先做 Azure AD 的 Directory Sync)。

image

当我们要连线这个 RemoteApp 前,要先下载 RemoteApp Client,这可在 https://www.remoteapp.windowsazure.com/ 中找到,选择右上角的 Install Client,然后选择 Download 'RemoteApp' client for Windows,即可下载。

image

下载安装完成后 (它是 ClickOnce Application,不用特别的手续),它会指引你进行登入:

image

image

然后就会列出可用的 RemoteApp 的应用程序资源:

image

这时只要点选其中的一个应用程序,就会启动远端桌面 (RemoteApp Session),将应用程序执行起来。

image

若 Show Details 可展开时,展开它会看到远端桌面的登入过程:

image

当入完成后,远端桌面会隐藏起来,并开启指定的应用程序 (本例是开启 Visio):

image

管理人员可在使用者上线工作时看到连入的使用者状态,也可以传送消息,终止连线阶段或是强制登出。

image

image

这是使用 Send Message 给使用者时,使用者桌面的画面:

image

管理者若将使用者加到别的 RemoteApp 时,使用者可用工具栏上的 App Invitiations 取得使用的邀请。

image

现阶段 Internet-based 上的 RemoteApp 内的 Office 2013 只有英文版 微笑,每个 RemoteApp 可容纳 10 个使用者连线,并且可建立 2 个 RemoteApp 执行个体,用户端程序可支持 Windows 8、Windows 7、iOS、Android、Mac OS X 等操作系统,且目前预览为免费,重点是网络频寛是含在服务费用内 (也就是预览阶段免费)。详细的规格资讯可参考:http://azure.microsoft.com/zh-tw/pricing/details/remoteapp/