XenDesktop虚拟桌面精品书籍导读(part3)

Reading time ~1 minute

[box color=”orange” icon=”flag”] 感谢 Eric Yao 的供稿,@老树皮Eric [/box]

桌面虚拟化项目的实施白皮书 《Citrix Virtual Desktop Handbook 5.x》,点击下载

智慧的积累靠一蹴而就很难实现,慢慢积累和温故而知新往往是最佳的手段。让我们继续开始《Citrix桌面虚拟化实施部署白皮书》,这晚我们开讲第二部分的第三单元:桌面层。

四、 桌面层 Desktop Layer

设计思想的第三层,也是和用户相关的最后一层,就是桌面层。用户是否能接受桌面虚拟化很多程度上就是在这一层实现的,例如包括个性化、应用程序,以及后台操作系统镜像文件的设计。

  1. 应用程序交付

选择正确的应用程序交付方法会对整个系统设计的可扩展性、可管理性,以及用户感受起到非常大的帮助。基于我们在前几章节的“四、 应用程序数据搜集”,我们可以考虑以下几种交付方法:

l 直接安装在操作系统镜像文件上:应用程序是基础操作系统镜像文件的一部分;

l 安装在Personal vDisk上:物理是分离的,但是逻辑上是直接安装在基础操作系统镜像文件中;

l 流化(Streaming):应用程序被profiled(XenApp组件)后通过网络交付到桌面上。应用程序的文件和注册表键值在虚拟桌面的一个容器中保存,但是和基础操作系统镜像文件是分离的。

l Hosted:应用程序安装在XenApp服务器上,用户通过Citrix HDX协议远程访问。

1) 决断:应用程序交付方法

系统架构师应该在基于用户需求、应用程序兼容性,以及其他通过在前几章(“四、 应用程序数据搜集”)搜集上来的应用程序因素基础之上决定采用何种方法来进行应用程序的交付。通常单一的方法是无法满足用户全部的需求的,所以多种方法组合才是最佳答案。但是不管用什么方法,这些交付手段都应当对整个项目的交付复杂程度和后续跟进步骤与以最小的影响。

下面的表格就是不同的交付方法对系统不同层面的影响:

除了应用程序交付方法对系统不同层面的应用之外,系统架构师还应该考虑应用程序在不同交付手段上的适用性。下面的表格就是不同应用程序所推荐的部署方法示例:

上表中需要注意的是最后一种应用程序,我们往往会觉得这种复杂安装和配置的应用程序最好是安装在操作系统镜像文件中,但是最佳实践告诉我们应该安装在XenApp Server上,通过Hosted的方法发布给用户。

2) 兼容性

任何一个桌面虚拟化项目都会对一个公司的应用程序交付方法产生巨大的应用。举例来说,许多公司都希望通过在桌面虚拟化中使用流化的应用程序交付或者是XenApp交付应用程序来降低升级用户的桌面操作系统的劳动负荷以及提高管理效率。所以在设计阶段我们就要做很多兼容性测试以确定最正确的应用程序交付方法。最重要需要考虑的兼容性需求一般来说包括以下几点:

l 桌面操作系统的版本:如果操作系统是通过流化安装或者是直接安装在操作系统中,那么应用程序需要考虑和操作系统的兼容性问题;

l 服务器操作系统的版本:有一些应用程序可能会更合适通过XenApp的方式来交付,所以,应用程序是否能安装在服务器版本的操作系统平台上是要考虑的因素;

l 应用程序本身的架构:应用程序本身的开发平台有可能是16位的,32位的,也可能是64位的。16位的应用程序就不能运行在64位的操作系统平台上,例如Windows 2008Server R2、Windows XP 64bits等;

l 互操作性:有一些应用程序如果和某些版本的操作系统共存是会有兼容性问题,例如注册表冲突、DLL冲突,或者是ini冲突。

l 应用程序流化:应用程序流化到桌面虽然可以简化管理,因为操作系统上不用安装那么多的应用程序了,但是记住有些带有设备驱动程序,或者是使用了COM+等应用程序就不适合了

在做应用程序兼容性测试时的三种主要技术手段有:

l 手动:不言而喻这种方法最消耗时间,每种交付方法都要测试,每种操作系统版本、不同操作系统语言包等也都要验证。手动模式下想要的出应用程序所有方面的测试结果是非常困难的,对应用程序互操作性的测试是几乎测不出来的。而且更多的测试结果是现场使用人员发现的,而不是测试时发现的。

l 预验证的应用程序:很多应用程序的开发商都会提供该应用程序的兼容性文档和最佳安装方式的文档。参考这些文档会有直接的帮助。此外,Citrix Community Verified的网站上也有一整系列的由Citrix的客户和合作伙伴验证过包括采用流化方法/XenApp/Xendesktop兼容的应用程序列表。微软公司也提供了类似的应用程序列表:Microsoft Windows 7 Application Compatibility List for IT Professionals;

l 自动化的工具:Citrix AppDNA可以快速而且准确的对应用程序的兼容性做出精确的测试,包括测试不同的操作系统平台,测试不同的交付手段,例如Windows XP、Windows 7、Citrix XenApp、Microsoft App-V,以及Citrix Streaming流化交付方式等。应用程序被导入到AppDNA时,它会被和数千种应用程序进行兼容性的匹配验证以判断是否有互操作性问题。当发现问题时,AppDNA会告知问题出自何处,可能的解决办法,以及估计解决的时间。

上述每种方法的优点和缺点都列在下表中:

测试做完之后,兼容性的结果就应该填入到之前的应用程序评估表各种以便我们的后续分析:

l 预运行环境:许多程序都有运行环境的要求,例如Java、.Net环境,或者是数据库要求;

l 程序之间的依赖:例如,需要以pdf格式呈现信息的应用程序就需要电脑上安装了pdf的阅读器;

l 16位的代码:应用程序评估也应该判断是否应用程序包含有16位的代码,因为16位的代码是不能运行在64位的操作系统平台上;

l Windows XP:确认应用程序是否能通过Windows XP的兼容性测试;

l Windows 7:确认应用程序是否能通过Windows 7的兼容性测试;

l XenApp 6.5:确认应用程序是否能通过XenApp 6.5的兼容性测试;

l Application Streaming 应用程序流化安装:确认应用程序是否能通过流化程序安装的兼容性测试;

3) 用户分类

通常不是所有用户都需要所有的应用程序,有些程序可能就只有很小一部分用户用的上。所以系统架构师应该做好这个工作,例如如果一个部门的用户都需要的应用程序列表组,我们可以单独做一个操作系统镜像文件。如果只有少部门用户需要使用,那我们建议采用Personal vDisk或者是Streaming的方式交付应用程序。

4) 业务特点

l IT经验:如果IT部门已经对某种应用程序交付方式有经验,或者是基础架构已经Ready了,那么这种交付模式可能就是合适的方式。例如,如果公司内部已经通过Microsoft App-V平台部署过Streaming的应用程序,那么XenApp Streaming 应用程序就应当优先被考虑。

l 管理需求:应用程序交付的方法很可能严重依赖于应用程序的拥有着。如果应用程序是公司拥有的程序,那么IT部门就有责任和义务来维护该应用程序,包括XenApp发布或者是XenApp流化。如果程序的拥有者是某个下级部门,那么IT部门就不方便集中管理,这种情况下应用程序可能就建议安装在Personal vDisk上,让部门自己来管理该应用程序。

l 升级频率:应用程序的升级所需要花费的时间和部门协调也对交付模式的选择有很大影响。如果应用程序经常升级,那么系统架构师就应当选择安装数量最少的交付模式,这样可以减少升级的应用程序数量,以及降低升级的复杂程度。这种情况西XenApp交付方式最为合适;

l 产品Licensing:如果应用程序没有License要求,例如和软件厂商签订了Site License,那么我们可以将该程序发布给所有的用户也不会产生其他任何成本,将该程序直接安装在操作系统模板里面也能降低交付的复杂性。如果应用程序对License很敏感,系统架构师就需要考虑采用一种能够遵守应用程序软件提供商要求的License模型。

5) 技术特点

l 资源使用:如果应用程序对资源要求很高,可能会更合适于直接在虚拟桌面里面直接运行;

l 技术难点:如果一个应用程序的安装都很复杂,例如需要专门的配置,脚本的运行,或者对其他应用程序有很多要求,我们称之为技术难点。这种情况下,安装在XenApp Server上能减少操作系统镜像文件制作的复杂性。

互联网规模的超融合平台

什么是互联网规模?什么是web scale风格?看下Nutanix的亮点。 阅读全文

2017DevOps采用和趋势现状-信息图

Published on February 11, 2017