29
2011
09

云海VA远程接入平台开发者访谈

通过采访"VA虚拟应用管理平台"(以下简称VA)的主要设计和开发者们,我了解到他们为自己制定了一个很大的目标——管理不同的应用,在系统性能管理、安全管理、用户管理、其它应用环境的管理等方面,为用户提供集中化的管理平台。下面,就让我们一起来了解一下他们对VA中承载的众多新功能、性能的看法以及设计研发的思路。

提问(编者):感觉VA功能很丰富,宣传的"亮点"也不少。你认为,就VA这个产品而言,主要是为IT用户解决哪些问题?

回答(郗阳 产品策划、技术服务):

这要从目前IT用户面临的挑战说起。主要包括:

低质量或不一致的应用性能 —— 带宽受限的连接,如分支机构使用的xDSL连接,导致应用性能低下,网络成本很高。IT部门需要可靠而高效的方式来向企业用户、分支机构及远程站点提供一致的应用性能。

数据盗用和丢失风险 —— 公司业务不断发展,不断提高的移动性、远程工作、分支机构扩张,笔记本电脑或移动存储介质丢失,使得数据保护、知识产权控制等问题变得更加严峻。分散在各地的PC中的数据安全性存在很大的风险。

控制应用和数据访问 —— 全球化、分布式计算环境和与日俱增加的移动或者远程用户等因素,使得接入方式复杂多样。IT部门无法有效地控制用户访问和对企业应用及文件的使用,也无法监控使用情况。

我们着重帮助用户解决这些问题:

分布式服务本身缺乏安全性,只有通过集中化全方位的应用管理才能有效保护,而建立集中化架构是确保全面控制和安全性的唯一有效方式。
传统VPN仅仅解决通讯层安全,VA是在通讯层之上对显示画面信息进行封装,在应用层进行管理,大大提高通讯效率,并且进一步提高安全性。
传统应用部署相关的许多运行环境相关的兼容性、安全性和维护挑战,VA通过"虚拟应用"这一模式,将应用的部署全部在服务端完成。
仅使用Microsoft Terminal Services或单一功能产品,面临安全性、系统性能、管理问题。VA作为综合性的管理和操作平台,为用户提供一个集成的解决方案。
总之呢,"VA虚拟应用管理平台"是这个产品的名称,也是产品的设计目标。当前,计算机和网络技术的应用已经到了一个新的阶段,我们尽可能挖掘现有技术平台的潜力,在系统性能管理、安全管理、用户管理、应用管理等方面作了大量的工作,为IT用户提供全面的控制和管理手段。这也是VA存在的价值所在。

提问:嗯,"VA虚拟应用管理平台"。为什么强调"VA虚拟应用"这个概念?

回答(郗阳):

处于"虚拟化"大行其道的今天,我们知道的有虚拟计算机,虚拟化操作系统,虚拟化桌面。其对资源的消耗是由大到小。其实,在多数情况下,终端用户仅仅使用某个应用(程序),不需要关心服务器、操作系统,也并不需要桌面。只是提供虚拟应用就够了,还能节约更多的资源。

VA就是在围绕"应用"做文章,虚拟应用、管理应用、为应用服务——从而也是为计算机的最终用户服务。

提问:VA的好多方面都给我留下深刻印象,称得上是精心打造。例如,打印功能就做得很细致。能否谈谈VA的打印技术有哪些特点?

回答(郗阳):

听到你说"精心打造"我很高兴。我们技术总监杨光经常提"细节是魔鬼"这句话,成是它,败也是它。我们着意培养注重细节的研发文化,高度重视任何一个细节问题,再好的创意也要有完美的细节来实现。

事实上,以前客户反映的问题中,与打印有关的占了一定的比重。打印是很具个性化的事情,会出现各式各样的需求。经过长期研究开发,形成了现在我们称之为"智能化虚拟打印"的技术。

目前仍然保留的"映射打印"可选模式,需要在服务器上安装与终端打印机一致的打印机驱动程序。可想而知,少数能够完全兼容的除外,集群中有多少种打印机,服务端可能就要安装多少种打印程序。由于服务器的打印保留在硬件层面,操作系统不做会话的隔离,终端用户能够看到"别人的"打印机,会发生选错打印机的"窜打"事件。还由于服务器操作系统没有打印池缓冲,输出的数据量又大,容易出现将服务"憋死"现象。

为了得到服务端虚拟应用的打印完全像本地应用一样的感觉,需要保证并兼顾通用性和效率。对比各种方案,VA选择了虚拟打印作为缺省的"通用方式"。虚拟应用的打印不考虑客户端的打印机种类,输出固定的数据格式,VA在后台将打印的内容转换为PDF格式发送,客户端解释给打印机。这样就不需要在服务器上安装任何打印驱动了,传输数据量也很小。

再就是智能化操作。这部分功能集中体现在终端软件AR的"智能打印对话框"中。这个对话框,既是打印预览窗口,也是打印效果设置对话框,进行打印机和打印范围选择、打印效果的设置等。打印效果的设置实现动态实时预览,复杂的操作也变得简单直观。可以实现打印的多种需要,如页面旋转、缩放、多页排版等。如果要进行不需要作调整、不需要预览的快速打印,打印时的操作倒计时可以设置为零。这样一来,就很好地实现了"智能化虚拟打印"这一概念,为每一位终端用户提供更好的交互界面。 

提问:VA的安装部署和维护,因为可控制功能很多,对于不熟悉的人会有一定难度。请问:控制台的设计和制作上采取了哪些方法来减轻操作的复杂性?

回答(鲁欢欢 控制台开发):

想要实现细化的IT应用管理,也确实是一个细致的工作。我们使用一个软件常常会经历这样一个过程:开始不熟悉的时候只关心部分功能和参数控制,似乎其它都多余,过于细致;熟悉了以后却发现自己想要的功能或控制参数没有设计,不够细致。

VA的架构是按照细颗粒度进行设计的,现在的版本,控制参数达1000多项,要想全部掌握它们要有个过程,因此,操作的方便性就非常重要。

实际上,所有设置参数可以分为若干类,并且有着一定的逻辑关联。目前就分为8个主模块24个子模块。我们以一个树形图+对话窗口的形式来展现和操作,便于用户理解和寻找设置内容。某些参数不是在唯一的位置操作,在不同的、相关的界面下都能进行设置。

另外,我们为所有控制参数都提供了缺省值。为了让这一组缺省值合理、安全,也费了很多心思,要既能够发挥平台作用,又要保证安全。这一点在"快速部署"中非常重要。

为了操作便利,还特意将控制台程序VaSvr.exe设计成为可以任意迁移到网络内任何PC机上执行(直接拷贝到其他PC运行),甚至可以远程登录。

目前实现的是一个折中的版本。下一步,在研究参数缺省值对于不同类型用户的合理性基础上,将发布不同的快速调配方案。

提问:VA的单点登录有必要提供二次开发功能吗?

回答(邢海量 单点登录开发):

这要从单点登录——Single Sign-On(SSO)的实现方式说起。SSO就是登录用户的身份确认,通常需要通过应用程序与认证中心的通讯来完成。理想的方式,建立软件产品联盟,规范通讯标准接口。目前环境普遍还做不到这一点。还有就是要求应用程序开源,应用方进行改造。大多数情况下,由于种种原因也很难实现。

对于大量没有统一接口的应用程序,采用称为"自动登录"的外部植入技术方案,就是由SSO程序自动识别登录界面,替你输入登录参数,如用户名、密码等。这是目前较为经济、灵活、方便的方式。SSO程序做得有难有易,有好有坏,但也都是只能解决一部分软件的自动登录。

VA的SSO就是基于外部植入技术,对于一般简单、常规的SSO可以通过方便的拖拽操作完成配置。对于不能正确识别的特殊应用程序,要有针对性的方案。这里也有两种选择:插件式、脚本式。插件式是封闭的做法,不容易获用户信任;脚本式是可进行二次开发的开放平台,完全开源,不仅可以建立脚本库,也便于交流,发挥社会资源潜力。

提问:VA的某些管理功能,既在服务端有,客户端也有,如输入法、显示模式以及一些资源管理。请问这是出于什么考虑?

回答(杨光 架构设计):

这是因为实际中这样做可以更加灵活调配资源,适应不同的管理模式,达到更好的用户体验。同时,还能够在一定程度上减轻集群管理的负担。

在所谓的"个性化时代",我们面临许多个性化需求带来的管理问题。要避免"一管就死,一放就乱"的局面出现。既要纳入管理,又要留有空间,就必须把握分寸,将某些参数设置交给我们的客户端程序AR,由终端用户自己进行配置。

你也许注意到了,AR的【本地特性】设置上有"如果服务器允许"的字样,也可以理解为"如果系统管理员允许"。这就意味着,服务端的某些管理设置给你的是一个范围、上限或下限,你的客户端还可以做某些选择。

提问:VA的安全策略有必要搞这么复杂吗?另外,VA的防火墙功能和通常意义上的防火墙有什么区别?

回答(杨光):

信息系统的安全确实是越来越重要了,对于某些机构或企业甚至是怎么强调都不过分的。安全管理还应该是全方位的,不同的层面要有不同的考虑,不能有缺失或漏洞。

VA作为集群的安全管理,有它的先天优势。首先,VA的集中化架构为这种管理提供了可能性和方便;其次,VA实际上是在管理服务器的系统资源和应用,技术上能够实现多方位的细化管理;再一条,VA仅仅是虚拟应用的管理,不影响终端电脑的其它应用,就是说,有着"从严从重"的需求和空间。

我们的思路还是坚持在设计底层细化颗粒度。但是如果你了解Windows的域管理的话,就会发现VA目前实现的200多项控制策略只有域管理的十分之一内容,当然这是经过选择对应用管理"有用的"。这样做,实质上是将域管理的安全策略方便的应用到工作组模式(就是VA的集群)中来。

在操作层面,通常没有必要进行逐项的设置。VA预置了的三种主要安全策略,只需要和其中一项关联就可以了,每一种安全策略都可以导出和导入,以简化操作,降低使用门槛。

作为集群的安全管理的另一个方面,VA防火墙有它的特殊意义。为了适应人们的操作使用习惯,借鉴了传统防火墙的配置模式,但是其中的"源"和"目标"都是不同的。VA的"源"是客户机、人,"目标"是应用。

提问:请介绍一下VA的服务器负载均衡是如何实现的?呵呵,如果不涉及技术秘密的话。

回答(杨光):

VA集群中的服务器是要做Server Computing,运行应用,而不仅仅是传递信息。对于多服务器的VA集群,服务器的负载均衡是非常重要的。

从原理上说,VA的集群服务实时取得各个服务器的负载状态,收到接入请求后,根据服务器的状态统一分发服务器。

当然这里边要考虑很多技术细节,例如如何评价服务器的状态?除了CPU和MEM的占用率之外,还与每一台服务器的硬件配置有关,与服务器上不同的应用等情况有关。所以,在集群的负载均衡模式设置之外,对每一台集群服务器,设计了一组负载均衡的配置参数,反映这台服务器的负载能力特性。VA的负载均衡算法是综合了这些因素后,来为客户端分发服务器的。

提问:作为集成系统平台的终端程序,好像应该越小越简单越好,甚至没有最好,适应瘦客户端的软硬环境。但是感觉VA的客户端程序AR功能却很丰富。AR在整个VA平台中是个什么地位?

回答(杨光):

VA和AR可以说是俩概念,给人解释还挺费力的。简单说吧,同样是围绕着"应用",VA是管理后台服务端,AR是管理前台客户端。

首先说,VA确实能够在瘦客户端集群中发挥显著作用,但瘦客户端软件并不意味着功能简单,客户端就瘦得不需要管理吗?关键是看你占用资源的多少,起什么作用。还有就是要综合评估,一件事情,如果在客户端做更有效率、交互操作更方便、兼容性稳定性更好,就没必要放到服务端去;况且有些事情是非本地不可能实现的。

AR全名是Application Runner —— 应用执行器。在VA的整个架构中,AR负责将虚拟应用执行起来:一、与服务器的通讯;二、客户端操作界面;三、解释并执行服务端的指令和数据;四、本地特性控制和资源管理。

除Client/Server Computing架构中的功能之外,AR还被定位作为与集群无关的、另外一个角度的本地应用管理工具来设计,这个已经计划在下一步实现。这方面能做的文章也很多,有些是与集群应用相似的,例如"单点登录"功能,还有其它仅仅针对本地应用的功能。

在某些应用场景中,AR也许会以不同的安装使用方式出现。我们新推出的Key-U盘就很有意思,他们说是"一个U盘带在手,天下应用跟我走"。

总之吧,客户端的AR与服务端的VA都很重要,从客户端的用户感受来说,AR甚至更重要一些,值得我们下大力气去发掘它的潜能。

提问:杨总能不能为大家展望一下VA的未来?

回答(杨光):

终端模式的系统平台适用于很多应用场景,有广阔的发展空间,还有很多事要做。最重要的还是不断改善VA的用户体验,提高作为"管理平台"的能力。技术和管理的结合,是我们的立足点。VA将成为机构、企业IT越来越重要的管理平台。

由于VA先天的优势,可以使得客户端的软硬件要求降到最低。计划推出"机顶盒"产品线,让客户端"瘦"到极致,进一步降低IT的系统成本和安全风险。在3G终端产品遍及全球的今天,其它移动设备也都是VA客户机的理想对象。

VA的应用组合非常广泛,新的应用场景层出不穷,超过我们的预期。市场会有越来越多的对于差异化产品的需求。随着计算机系统,包括应用软件和应用环境的发展,要不断解决新出现的兼容性和安全性问题,会出现新的挑战和机遇。因此,推广和发展虚拟应用市场产品,产品做全、做细,将各类实用场景更好的落地,是VA的长期发展战略。云海公司将不断深化开发相关技术,提供适应IT发展需要的、用户满意的产品。

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。