当前位置:首页 > 问答 > 正文

SoftGrid那些事儿,教你怎么一步步整合用起来,不光是基础操作那么简单

我记得以前在公司里,最头疼的就是给一堆电脑装同一个软件,比如新版本的Office,每台电脑配置不一样,系统环境也不同,经常是这台装好了,那台报错,折腾下来一两天就没了,后来接触到一个叫Microsoft Application Virtualization的东西,当时还叫SoftGrid,这东西真是打开了新世界的大门,说白了,它的核心思想就一句话:把应用程序和操作系统“隔离开”,怎么隔离呢?它不是用虚拟机装整个操作系统,那样太笨重了,它只虚拟化应用程序运行所需要的环境,比如注册表项、动态链接库DLL文件、配置文件这些。

(来源:基于对应用程序虚拟化技术原理的普遍理解)

你想啊,一个软件之所以难装,就是因为它在安装的时候会往你的C盘各个角落塞文件、写注册表,如果我能把所有这些动作“录制”下来,打包成一个单独的文件,然后让用户电脑直接运行这个文件,不就省去了安装的麻烦吗?SoftGrid干的就是这个事儿,这个打包好的文件,后缀通常是.sft,你可以把它想象成一个“软件泡泡”,这个泡泡里装着运行Word或Adobe Acrobat所需的一切,但这个泡泡是独立于你的Windows系统的。

SoftGrid那些事儿,教你怎么一步步整合用起来,不光是基础操作那么简单

(来源:对SoftGrid核心组件SFT文件功能的描述)

光有“软件泡泡”还不行,还得有个“吹泡泡”和“管理泡泡”的机制,这就涉及到SoftGrid的几个关键角色了,你得有个SoftGrid服务器,它的角色就像是一个软件仓库的管理员,所有打包好的.sft文件都放在它那里,用户电脑上需要安装一个非常轻量级的SoftGrid客户端,这个客户端就是个“播放器”,专门负责从服务器上把“软件泡泡”拉过来,然后在本地给你创造一个虚拟环境把它运行起来。

(来源:对SoftGrid系统架构中服务器与客户端角色的解释)

SoftGrid那些事儿,教你怎么一步步整合用起来,不光是基础操作那么简单

那具体怎么一步步用起来呢?第一步,也是最关键的一步,叫做序列化,这个词听起来高大上,其实就是一个“录制”软件安装过程的过程,你需要找一台非常干净、标准的电脑(我们称之为“序列化计算机”),在上面安装SoftGrid Sequencer(序列化工具),然后启动Sequencer,它就开始录像了,你就像平常一样安装那个目标软件,比如Office 2010,你一步步点“下一步”,选择安装路径和组件,装完之后,你还需要打开这个软件,进行一些初始设置,比如接受许可协议、关闭自动更新等,目的是为了让软件达到一个“即开即用”的理想状态,做完这些,你告诉Sequencer“录制结束”,这时,Sequencer就会把刚才录制下来的所有文件改动、注册表改动,分析、打包,最终生成两个文件:一个就是核心的.sft文件(软件泡泡本身),另一个是.osd或.ini格式的引导文件(告诉客户端怎么打开这个泡泡)。

(来源:对SoftGrid应用序列化流程的步骤拆解)

第二步,就是部署,你把生成的.sft文件和引导文件放到SoftGrid服务器上,并在服务器管理台里把这个应用“发布”出去,你可以设置哪些AD用户或用户组有权使用这个应用,第三步,就到了用户体验了,授权用户登录自己的电脑后,他们可能会在开始菜单里看到一个快捷方式,或者通过一个网页门户来点击启动这个应用,当他第一次点击时,SoftGrid客户端就会在后台从服务器按需下载这个应用的“块”(不是整个文件,有点像流媒体),很快应用界面就弹出来了,感觉就像在本地安装了一样,但实际上他的电脑C盘干干净净。

SoftGrid那些事儿,教你怎么一步步整合用起来,不光是基础操作那么简单

(来源:对从服务器发布到客户端加载整个流程的说明)

这玩意儿的好处是显而易见的,对我们IT管理员来说,实现了真正的集中管理,我只需要在服务器上更新一次.sft包,比如给Office打个补丁,所有用户下次启动时自动就用上新版本了,再也不用一台台电脑去跑了,解决了软件冲突这个老大难问题,比如财务部需要Java 7,开发部需要Java 8,以前在一台电脑上根本没法共存,现在好了,各自运行在自己的“泡泡”里,互不干扰,他们感觉不到背后的复杂,只觉得IT部门效率变高了,申请个新软件秒速就能用上。

它也不是万能的,有些软件,特别是那些需要安装底层硬件驱动的(比如某些杀毒软件),或者和操作系统结合得非常紧密的,就不太适合被虚拟化,最初的序列化过程是个技术活,打包得好不好,直接决定了后面用户用的顺不顺利,需要一定的经验和耐心。

(来源:基于实际使用SoftGrid技术中遇到的限制和经验总结)

SoftGrid这套思路,在当时看来非常超前,它把软件的“安装”和“运行”这两个动作分开了,通过虚拟化技术把应用变成了一个可以随时随地、即点即用的服务,虽然现在这个技术已经演进成了微软的App-V,整合进了更大的MDOP和现代管理方案中,但它的核心思想——通过隔离来实现简化管理和兼容性——至今仍然是企业IT管理领域里非常宝贵的一条原则。