在今年的Summit上,Citrix公司宣布收购了应用分层技术(App Layering)的领先公司Unidesk,其解决方案被Citrix,VMware,Nutanix,Micorsoft等多家虚拟化厂商所推崇。2016年的Citrix Synergy、VMware VMworld大会上,Unidesk都被评为最佳的桌面虚拟化技产品,可见其技术和商业价值的巨大。(你要知道Citrix和VMware都有自己的App Layering组件在其产品中哦!)

Unidesk wins Best of Citrix Synergy 2016 Award for New Technology

http://blog.unidesk.com/unidesk-wins-best-of-citrix-synergy-2016-for-new-technology

Unidesk Wins Best of VMworld 2016 Finalist Award for Desktop and Application Delivery

http://blog.unidesk.com/unidesk-best-of-vmworld-2016

为什么Unidesk为代表的App Layering技术目前这么受到包括Citrix、VMware在内的虚拟化厂商所推崇,这个还是要从桌面虚拟化甚至于桌面的本身特点开始说起。

桌面或者我们狭隘点的说就是PC/Windows(这里主要讨论End User Computer),在大家日常使用过程中,其实主要会分成以下几个部分:

  1. OS Layer,操作系统层

  2. App Layer,应用层

  3. User Profile,用户个性化配置

Unidesk, Citrix 桌面虚拟化方案之新神器_第1张图片

在PC时代,基本上一台PC给一个用户使用,从操作系统到应用程序再到应用产生的数据都在同一个硬件平台中,这种硬耦合带来的硬件故障、系统故障都会导致用户无法工作。

到了虚拟化时代,和传统PC时代最大的技术改变就在于把物理硬件和桌面系统之间硬耦合关系变成了关系非常薄弱的关系、某一个物理硬件的故障就不再是最致命的桌面运维问题。

Unidesk, Citrix 桌面虚拟化方案之新神器_第2张图片

所以到了桌面虚拟化时代/VDI时代,大量的厂商提出的口号都是我做的VDI和PC一样的。但是我们要问一个最实际的问题,用户在虚拟桌面里面最关心的是这个桌面本身吗?

我的答案是:NO

用户其实最关心的是运行在桌面里面的应用。你今天给我一个Win10,可是这个上面不能运行我所需要的CRM系统,那这个桌面就毫无价值。

所以过去一直以来大家在讨论桌面虚拟化的同时其实也就是在讨论应用虚拟化,无应用哪来的虚拟桌面。那么Unidesk为代表的App Layering技术能给桌面虚拟化技术带来什么价值呢?

其实从前面传统PC到虚拟化时代,以及整个IT发展的趋势看,我们会发现整体上硬件系统和应用系统之前去除硬耦合关系的趋势,未来的技术发展就一定是把所有的元素剥离的越来越颗粒化(过去一年以Docker为代表的容器技术发展就可以看出这个趋势,应用和系统剥离)然后按照需求再不断组合去面向不同的客户。

那么在桌面虚拟化里面,如何把应用程序和操作系统进行剥离,并能自由组合这个需求就应运而生。相比XenApp、App-V这些虚拟应用方式,App layering的特点在于结合了虚拟化的技术,实现了类似于容器版的应用汇聚的技术。

他的技术特点在于:将操作系统、应用、应用数据分别以虚拟化的形式存在(vhd文件),然后通过Unidesk自有的技术(Composite File System Logic),把一个个Layer里面的文件、注册表信息集成到整个Windows系统里面,让用户看到的最终呈现的系统就是由多个Layer拼装之后的完整桌面,而且Layer和Layer、应用和应用之前的数据、进程、关联文件调用就像是在同一个系统里面一样。

Unidesk, Citrix 桌面虚拟化方案之新神器_第3张图片

所以Unidesk整个体系的分成基本上就是对应了物理PC时代的各个组件,在Unidesk的系统里面他一共分为4层,

  1. OS Layer

  2. App Layers

  3. Personalization Layers

  4. Platform Layers


  1. Unidesk建议每一个OS一个Layer,对应的Image是只有操作系统和对应的补丁,无需安装任何的应用。这点和我们传统的VDI项目不太一样,传统情况下我们会把尽可能多的App放入到Gloden Image里面。

  2. 所有的App都可以作为一个Layer(也可以多个App一个Layer),甚至于杀毒软件,PVS targent,驱动都可以作为App Layer,而不用放入到OS Layer中。(居然不会因为过多的Layer VHD导致VM性能下降,也不会有冲突,真是佩服!)

Unidesk, Citrix 桌面虚拟化方案之新神器_第4张图片

    3. 应用所生成的各种数据信息保存在Personalization Layer。

所以整体上,我们可以看到,未来在Citrix桌面体系中的母镜像制作就像是搭积木,制作好从OS 到App的每一个Layer,然后拼装成一个完整的Image并交付到对应桌面制备系统中,进行批量交付。这个技术在Unidesk体系内称之为:Layered或者Layered Image


Unidesk, Citrix 桌面虚拟化方案之新神器_第5张图片

除了上面3个对应操作系统的Layer,还有一个Platform Layer。

  1. Platform Layer对应的就是虚拟化层。目前Unidesk支持VMware vSphere,Citrix XenServer,Microsoft Hpyer-v/Azure和Nutanix AHV。而且最牛的事情是,如果用户想把VDI的承载层从vSphere改为XenServer,只需要在控制台进行一个变更即可完成Image的调整并重新输出。

    Unidesk, Citrix 桌面虚拟化方案之新神器_第6张图片

除此之外,Unidesk还有一个增强功能,Elastic。

相比前面提到的Layered Image,Elastic更强调动态性。Layered Image是把所有的Layer集成为一个Image并输出为MCS/PVS所需要的母镜像/Gloden Image,换句话说这个输出的Image已经被固化,如果想新加Layer就需要重新输出Image。当然这在PVS场景中问题不大,一个新的Image被输出,所有VM读取新p_w_picpath,用户下次重启就可以获取新的桌面。

Elastic则不然,他是把所有的App Layer存放在一个SMB/CIFS的共享目录,当用户启动的时候,根据策略将这个vhd mount到用户此次访问的VM上,进而获取这里面的应用程序。他的最大优势:

  1. 基于用户的AD权限来获取对应的App

  2. 用户登录时关联VHD进而获取对应App,后台管理员可以更快速的分发App给不同的用户

  3. session/应用隔离。即使是同一台XenApp服务器,不同用户看到的应用可能也不相同。(简直是为XenApp量身定做啊!)

Unidesk, Citrix 桌面虚拟化方案之新神器_第7张图片

这张图从整体上显示了两种交付方式的简单逻辑。


目前能够获取的Unidesk资料还比较少,所以如果内容有不正确的地方还请包涵。后续争取找到资源做一些验证性的测试。个人对于这种技术还是有很有信心,相信他对会使得未来的桌面虚拟化更加的灵活的同时又具备很强的可管理性,希望后续Citrix能够不断发掘这种应用容器类的技术优势,并发扬光大。