软件行业的新“瓶子”

标签:
vmware虚拟机软件发布 |
分类: 技术分享 |
在很多人的意识里,软件的发布形式就是安装光盘,或是安装文件,甚至更早的软盘,然后找台装好了操作系统的机器,在里面装一下,就可以用了。这种方式现在当然也还在继续,只是多出了很多以前不曾有过的方式。就好比牛奶,不好意思最近因为奶粉事件老听到这个词就顺便想到一个例子。以前很多人家都是订鲜奶,玻璃瓶子的,每天有人送到家门口。后来出了利乐枕的包装,再后来有了方的纸盒子的包装,还有大的塑料瓶子的包装,也有变化之后的酸奶。目前这些包装都存在着,不是因为厂家自己想搞出这么多名堂,而是因为不同的用户有不同的需求。因为每种的价格,保质期,口味都可能不一样。
对于软件的不同发布形态,有个专门的词儿叫form factor,不知道该怎么直译过来,姑且笼统的称为模式。下面列出了通常的六种,并作了简要的介绍和分析,了解了这些之后可能有助于理解市场上很多产品的包装。对开发者而言,就是更容易理解别人的team在干嘛。
1.
2.
虚拟化技术其实是一个很早就出现的技术,最早使用在六、七十年代的IBM大型机上,它可以在一台主机上运行多个操作系统。SUN等公司也有相应的虚拟化技术,这里可能更多的focus在X86平台,所以不再提到。对于很多普通的应用,特别是对于Wintel(Windows-Intel)平台的,虚拟化开始变得普及也是最近几年的事情。其中一个重要的里程碑是VMware在1998年通过binary translation技术成功的实现了X86架构的虚拟化。关于这方面的技术发展,大家可以参考一篇VMware 的white paper,文章的名字叫Understanding full Virtualization, Paravirtualization, and Hardware Assist, 文件名是VMware_paravirtualization.pdf,可以从VMware官方网站找到。应该来说还是写得蛮清楚详尽的,几个同事研究讨论了一下,觉得还算比较客观 :)
虚拟化的技术不断的发展,也出现了更多的vendor,也影响到了服务器的虚拟化,后面有些模式也会用到。这里我们先看看PC上常见的虚拟化方式。相信很多用过VMware
workstation,以前的VirtualPC和后来的Win2008 Hyper-V的人应该都比较熟悉。这里的VMware
workstation本身也是运行在下层OS上的一个application,它也是Guest
OS运行的基础,然后真正使用的软件再跑在Guest OS上。
通常来讲,只要Guest
OS和上面纯软件模式中的OS一样,App不用做特别的改动就可以运行。当然,可能要排除有些对硬件特性有依赖的App。这种模式使得底层的HW和OS对App来说更加透明,而且一台机器上可以跑不同的OS,使用起来也比较方便,特别是对于开发人员。App和Guest
OS一起还可以通过image的方式提供,为环境的保留和备份提到了很大的方便。不过这种模式也会导致性能的下降,因为毕竟多了一个中间层,这也是制约它在企业应用中普及的一个原因,通常来讲不太适合做对性能要求较高的服务器的平台。
概括起来就是这种模式并没有给软件的开发者带来多少额外的工作(通常情况下),但是给使用者带来了很大的自由度。
3.硬件设备模式
曾几何时,大概也就是几年前吧,appliance开始流行,不知道如何确切的翻译,就称之为硬件设备吧。很早之前大家就习惯了路由器、防火墙、测试仪表等以硬件的形式提供,但是对于一个邮件安全网关或者类似的产品,这个还不多见,之前都是纯软件的模式。趋势科技顺应着这种大的趋势(好像有点绕哦),推出了我们的appliance,包括IMSA(InterScan Messaging Security Appliance,http://cn.trendmicro.com/cn/products/enterprise/interscan-messaging-security-appliance/), IWSA(InterScan Web Security Appliance,http://cn.trendmicro.com/cn/products/enterprise/interscan-web-security-appliance/index.html)等,相对应于之前的IMSS和IWSS,两款主流的网关级产品。
在这种模式下,硬件、OS和App都是以前的软件产品开发厂商来提供。当然,硬件可以OEM,
http://1833.img.pp.sohu.com.cn/images/blog/2008/9/26/12/22/11d441a9a36g213.jpg
4.裸机软件模式
用户的口味永远是在不断变化的。上面提到硬件设备模式的一个缺点是硬件是设备专用的,维护起来麻烦,而且可扩展性也不太好。对于一些软件开发商而言,硬件的管理、维护和物流都不是强项,所以一种新的模式出现了。就是下面所谓裸机软件模式,有些国外的评论将其称为“bare metal” software,意识就是裸机上可以装的软件。简单的说就是把App和OS打包到一起,给用户一个光盘或者ISO,就像平时装一个OS一样,装好了,包含初始配置的应用程序就在上面ready了。和上面一样,这样的OS多半也是Linux。精简过的Linux的安装过程相当的简单,只需设置时区、网络和root密码等不多的几项,而且对硬件的适应性也比较强,可扩展性也不是问题。有些地方把这种方式称之为Software Appliance,相对应于之前的Hardware的Appliance而言。
http://1843.img.pp.sohu.com.cn/images/blog/2008/9/26/12/23/11d4421bf6fg215.jpg
5.虚拟设备模式
上面的裸机软件模式看起来还不错是吧?不过IT这个行业就是语不惊人死不休的,不然怎么说“唯有偏执狂才能生存”呢。虚拟化的热火慢慢烧到了服务器的虚拟化,加上提高IT设备使用效率,节省电力能源等等大势,使得这个方面更加的热门。简单的说就是人们认为,一台机器只跑一个应用还不够,想要动态的平衡来提高效率,并且实现动态迁移。WMware也是这个领域的一个主导厂商,感兴趣的可以详细的去了解一下, http://www.vmware.com/appliances/ 。
http://1833.img.pp.sohu.com.cn/images/blog/2008/9/26/12/25/11d441cf59cg213.jpg
这种模式和前面的裸机软件模式很接近,就是下面多了一个Hypervisor,所以OS+App这时是ESX上的一个虚拟机,所以这种方式也被称谓Virtual Appliance。ESX是Vmware企业级虚拟化的产品,详细的信息可以去官方网站了解,网上也能搜到很多的介绍。最近Vmware推出了一个产品叫ESXi,大部分的功能和ESX一样,只是去掉了少部分高级功能,这个产品是完全免费的,可以从官方网站下载。
概念上可以讲这里的ESX server理解成前面提到的纯软件的虚拟化模式中的OS + VWware workstation。从这个意义上ESX就是一个集成了虚拟化平台的定制的OS。好吧,直接跑在硬件上的软件平台我们就粗浅的称之为OS吧。其实,ESX Server也是在Redhat Linux 的基础上做出来,不信你可以login到它的console里面去看看。
模式4和5是两个很重要的趋势,那么趋势科技当然不会错过,实际上我们的gateway产品已经有了相应的模式。可以看出,如果开发和测试的时候考虑周到,一个OS+App就可以适应上面两种方式,就是说software appliance和virutal appliance可以通过同一个安装的ISO提供出来。
6.云计算模式
云计算也是当今炙手可热的名词,相对于前面的模式,这个比较有颠覆性。前面还是把一个软件,或者包含的软件的铁盒子卖给用户,这里都不需要了,用户买的是服务,主要的计算和处理都是在云端完成的。
http://1803.img.pp.sohu.com.cn/images/blog/2008/9/26/12/26/11d442ca5f6g214.jpg
这样说起来,比较抽象,我们看两个例子吧。
第一个是Google Docs,想必很多人用过。你只需要一个浏览器,登录到自己的Docs页面,就可以使用类似于Microsoft Word, Excel和PowerPoint的主要功能。但是你本机并不需要安装这些软件,那些处理都是在Google的服务器上完成的,你得到的是这些文档,这才是你要的结果。稍微极端一点,就是这样啊,我不会因为需要Word而装Word,我装它是用来写东西,排版等等。如果直接可以在浏览器里面做,也是个不错的主意。当然,对于一些高端的用户,比如需要用到复杂的宏啊等等可能云计算还不能完全满足要求。
另一个例子是Trend的。其实在云计算热门之前的几年前,我们就提供了这样的服务,其中的一个是IMHS (InterScan Messaging Hosted Security)。简单的来说就是有些客户如果不想自己维护邮件安全扫描的服务器,包括软硬件。那么一个做法就是可以把进来的邮件流量先交给Trend来做扫描,完了之后它只得到干净的邮件。怎么听着像自来水公司,呵呵。
大家很快会想到一个问题,Trend会不会看我的信啊。所以这里有一个信任的问题,这就是为什么只有一些信誉比较好的大公司才能运行这样的服务。在这种模式下,以前的软件开发商现在其实变成了一个运营商。和电信移动一样?是的,想想普通用户会关心中国移动的计费系统是谁开发的,用的什么服务器,什么OS吗?只要别把我的话费算错就行了。其实对于很多传统的软件开发商而言,这是一个全新的挑战。因为要自己维护庞大的服务器集群,有很多运营维护的工作要做,还要和ISP打交道。
当然不是所有的产品都适合上面的所有模式,比如一些针对终端用户的产品。但是只要有可能,Trend尽量提供更多的选择给客户,有些网关产品上面所有的模式都有了。对于不同的用户,他们可以根据自己的需要,选择适合他们的。哪句话咋说的,没有最好,只有最合适的。
---RQ---