从软件托管战略角度理解应用虚拟化

目前,仍然有相当一部分企业还没有完全采用最灵活的软件托管战略之一——应用虚拟化。当然这也是合情合理的,从成本节约框架来讲,采用应用虚拟化技术是最难以把握的。

很多软件既没有安装在用户自身的系统上,也没有在客户端或服务器模式中的服务器上运行。然而,客户端或服务器应用程序可能会有性能问题,另外随着配置参数和注册表参数的不断增多和可能会与本地库文件产生冲突,以及中间件越来越相似,本地软件的安装工作也变得相当复杂。对于很多公司来讲,简单地按顺序保持运行桌面应用的系统上所有的公司软件需求是技术支持部门的工作。

应用虚拟化可以使用一种客户端/服务器、两步流程的方法解决这些问题。这个是好消息,坏消息是这个流程不太容易理解。其中部分原因是因为像IT产业的很多术语一样,“应用虚拟化”被赋予过多的含义了。

最直观地来看,提到虚拟化的应用程序,就会认为是一个宿主在某个平台上的虚拟服务器。然而实际上是由于中间件存在的问题,这个情况不太可能出现。应用程序在操作系统和物理平台上运行,但是也使用到其它系统软件工具,如通信系统工作、数据库访问工具和图形用户界面等。比如,如果有一个用在Windows平台上的应用程序,需要在Linux平台上运行,就需要一个复杂的应用程序中间件集合,即所谓的“动态链接库(DLL:Dynamic Link Libraries)”;同样,如果试图在Linux平台上运行Windows DLL,也会遇到兼容性问题和相当多的性能问题。

当前很多应用程序虚拟化都基于双元素模型——一个客户端或者目标系统和一个宿主系统。宿主系统用来运行应用程序,有时也用来通过称作“sequencing”的进程构建所谓的“应用程序包(Application Package)”。在应用程序组件装载和运行的时候创建一系列“机器镜像”,这样的话就可以在创建镜像时保证注册表参数和配置参数都已经得到了处理。在使用应用程序的时候,这些应用程序组件就可以“流向”客户端系统。

由于这些镜像已经和注册表参数和配置参数无关了,所以在客户端就只需要一个兼容的应用程序接口(API)来提供操作系统正常运行所需要的机器镜像集合和中间件接口。在理论上,这就是整合应用程序和不兼容的软件、甚至硬件的原因。只要客户端系统能够模拟宿主系统的执行环境,任何程序都可以正常运行。但是在大多数情况下,为了保证应用程序的可用性最大化,硬件平台(x86)和软件操作系统(Windows)最好能够相同。

应用虚拟化的最大好处就是排除了配置上不兼容的常见问题,尤其是和注册表或者配置数据不兼容问题。很多公司都有应用程序和配置变量不兼容或者完全相冲突的问题,此时找到合适的应用程序就是主要问题了。应用程序虚拟化也能够辅助完成系统保护,因为不会使用受到破坏的系统库文件——流线化应用程序是独立的。

这个方法的问题出在难以对应用程序序列化,序列化可以从轻微不方便到高度复杂性。如果不打算广泛使用应用程序虚拟化技术的话,可能就没有必要花费精力序列化应用程序。另外一个需要考虑的问题是很多应用程序要么根本就没有次序,要么就是序列化之后就不能再正常运行。最好是有一个需要虚拟化的应用程序完整目录,在使用“序列化”这个概念之前,检查这些应用程序与“序列化”和“流线化能力”的兼容性。

对于跨一种操作系统多个版本的应用程序虚拟化,在业界的经验非常有限,因此需要考虑到即将发布的Windows 7的部署。知道虚拟化以何种方式支持新操作系统非常重要,开发人员在正式版本发行的较长一段时间会公布一个预发布版本,用来提供过渡时期的体验。为了安全起见,有必要考虑在任何操作系统的早期版本下所做的应用程序序列化和流线化工作都有可能在新的操作系统下必须重新序列化,并且宿主和目标或者客户端操作系统也必须相同。

应用程序虚拟化是有潜力价值的强大工具,并且一天天变得越来越成熟、越来越功能化、也越来越有用。该项技术也应该是任何一家企业在操作层节支的重要手段,并且需要留意技术方面的不断演进。

鼎峰胡佳雄
QQ.2881064155
Skype.live:2881064155

时间: 2024-10-15 00:33:39

从软件托管战略角度理解应用虚拟化的相关文章

2014年度总结——软件产品化的简要理解

2014年度总结--软件产品化的简要理解 2014年转瞬即逝,真是让人感慨,岁月不是一天天在逝去,而是一年年:总结一年的工作非常有意义,觉得今年最大的变化就是从定制软件到产品化的过度:2014年做的几个项目基本都是根据客户的要求定制,团队成员付出了很多,大家都希望能够产品化,下面是我们对产品化的简要理解,希望有些借鉴价值. 微创新 现在比较受大众认可的创新概念是微创新,其核心价值就是用户至上:那么既然我们的软件项目有用户非常认可,那么我们就站在用户的角度,做最终用户喜欢的事情,最佳用户体验,更简

从编程角度理解什么是蜜罐

一.蜜罐定义 百度百科:蜜罐技术本质上是一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机.网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,了解攻击方所使用的工具与方法,推测攻击意图和动机,能够让防御方清晰地了解他们所面对的安全威胁,并通过技术和管理手段来增强实际系统的安全防护能力. 维基百科:蜜罐通常伪装成看似有利用价值的网络.数据.计算机系统,并故意设置了bug,用来吸引黑客攻击.由于蜜罐事实上并未对网络提供任何有价值的服务,所以任何对蜜罐的尝试都是可疑的.

转:如何学习SQL(第二部分:从关系角度理解SQL)

转自:http://blog.163.com/[email protected]/blog/static/285720652010950825538/ 6. 从关系角度理解SQL 6.1. 关系和表 众所周知,我们目前所用的数据库,通常都是关系数据库.关系自然在其中处于关键位置.初学数据库原理的人可能会很困惑关系和表是什么联系,如果没有清楚的理解,很可能会认为关系这个概念没有实际意义,只会引起混淆.其实这两组概念只是由于理论界与技术界的着重点不同.前者需要用一个专业的.没有歧义的概念来进行理论探

二 从 GPU 的角度理解并行计算

前言 本文从使用 GPU 编程技术的角度来了解计算中并行实现的方法思路. 并行计算中需要考虑的三个重要问题 1. 同步问题 在操作系统原理的相关课程中我们学习过进程间的死锁问题,以及由于资源共享带来的临界资源问题等,这里不做累述. 2. 并发度 有一些问题属于 “易并行” 问题:如矩阵乘法.在这类型问题中,各个运算单元输出的结果是相互独立的,这类问题能够得到很轻松的解决 (通常甚至调用几个类库就能搞定问题). 然而,若各个运算单元之间有依赖关系,那问题就复杂了.在 CUDA 中,块内的通信通过共

从别人的角度理解这个世界——Leo鉴书80

本书是比较系统介绍博弈论的书,写得通俗易懂,翻译也文从字顺.最为难得的是书里主要用有趣的事例说话,而且考虑到理解的难度先用"10个策略故事"在第一章为读者热身,之后才逐步展开."从别人的角度理解这个世界"是本书的主旨之一,从写法上两位作者写作时无疑首先做到了. 人生就是由一场接着一场不同的博弈组成的,小到明天出门准备穿什么衣服,大到企业甚至国家竞争策略的制定都是博弈的过程.当然,其中有些是单重零和博弈(就玩一次,只有一方最终胜出),有些是多重非零和博弈(玩很多次,最

从软件工程师的角度看MacBook Air的几个设计亮点

我多年从事软件开发和运营工作,从未跟“设计”间断过.现在在设计一个全新saas产品:超级表格(www.domypp.com).最近买了台苹果最新款的笔记本电脑MacBook Air,从该产品功能设计和用户体验得到很深的体会.我想,软件设计不应该这样吗? 先说说第一印象.刚刚打开MacBook Air的包装,打开精致的包装盒,取出了小巧玲珑的MacBook Air.我开始想从现在起我需要花多长时间琢磨才能“开始”使用这台电脑.打开翻盖,一眼看到右上角的电源按钮,按下(会不会需要先充电?我想如果需要

Android Volley完全解析(四),带你从源码的角度理解Volley

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/17656437 经过前三篇文章的学习,Volley的用法我们已经掌握的差不多了,但是对于Volley的工作原理,恐怕有很多朋友还不是很清楚.因此,本篇文章中我们就来一起阅读一下Volley的源码,将它的工作流程整体地梳理一遍.同时,这也是Volley系列的最后一篇文章了. 其实,Volley的官方文档中本身就附有了一张Volley的工作流程图,如下图所示. 多数朋友突然看到一张这样

从相亲的角度理解 K8S 的 Node Affinity, Taints 与 Tolerations

这是昨天晚上阅读园子里的2篇 k8s 博文时产生的想法,在随笔中记录一下. 这2篇博文是 K8S调度之节点亲和性 与 K8S调度之Taints and Tolerations . 如果我们把 node 当作女方,pod 当作南方,scheduler 当作媒人,从相亲的角度理解这3个概念,不仅豁然开朗,而且很容易记住. node affinity 就是女方告诉媒人自己喜欢什么类型的男生,介绍这些类型的男生给她. taints 就是女方告诉媒人自己有哪些缺点,不能容忍这些缺点的男生请走开. tole

汇总从代数角度与几何角度理解相似度计算方法(以机器学习Mahout框架为主线)

相似度的计算是数据挖掘与机器学习中的一个永恒的话题,为了能更好地理解与比较各种相似度计算的方法,能灵活运用到各种计算模型中,自己在研究机器学习之Mahout框架时,源代码中也实现了很多相似度计算方法,本文结合机器学习Mahout框架中各种相似度计算方法的实现,并且从代数角度和几何角度来理解相似度的计算方法.并阐述其优缺点,及自己的适用场景.本文通过总结和归纳,一共总结了9中距离测量方法,方法一到方法七是Mahout中完完本本实现了,其中前面是方面名,破折号后是Mahout中各方法实现的类名,本文