智慧计算助企业安全过冬

行业采购

时下金融危机对于全球的中小企业来说都是一场严峻的考验。在开拓新的市场渠道、扩大经营范围以提高收入的同时,对现有开支的节约也是中小企业在危机之下求生存、求发展的必由之路。现代的中小企业,几乎无一例外都在IT基础设施上进行了不小的投资:或购买、租用了昂贵的服务器和网络带宽,或高薪聘用了软件开发团队。然而,在目前的外部环境下,如何减少IT基础设施的总体拥有成本(Total Cost Of Ownership,TCO),以及提高IT投资的回报率(Return On Investment,ROI),已成为中小企业用户十分关注的竞争力比拼因素。在这里笔者就向中小企业的管理者介绍几种已经被业界证明行之有效的技术,来达到降低成本和提高效率的目的,这几种技术就是被称为“智慧计算”的SOA、SaaS、虚拟化和云计算等。

11-企业01-1-2.jpg

SOA:化整为零,简化复杂的企业应用

SOA,中文意思是面向服务的架构,听起来是一个很空泛的概念。的确,SOA这个IBM在20世纪70年代就提出的概念直到今天还是找不到一个完整的、一致的明确定义。可以说,SOA并不是一种非常抽象的理论模型,而是在实践中被大家认可的一种软件开发模式。其原理就是把某些非常复杂的应用,分解成一系列简单服务,然后以某种“中间件”的方式实现相互通信的体系结构。这样,实际给企业用户提供对内、对外的复杂应用的,不是一个庞大的、笨重的“大一统”应用程序,而是由一系列简单服务组合而成的体系结构。

所谓SOA,有两个特点是必不可少的:第一,每个服务必须是简单而独立的;第二,服务之间的通信协议必须是统一的。过去有一种通行的SOA实现机制叫做CORBA,不过那种办法非常复杂,难以调试,也容易出错。现在,比较流行和实用的SOA都是建立在Web Service这种统一的通信协议基础上的。比如,有一种叫做SOAP协议的Web Service,就提供了建立在HTTP这种TCP/IP应用层协议上和XML这种最通用的标准消息交换协议上的服务描述,可以用在最常用的Web服务器上实现SOA。当然,更好的选择是使用专用的服务器软件,比如微软公司提供的BizTalk服务器软件。

使用SOA,中小企业可以避免开发大型应用程序的高额研发成本,软件开发的费用是随复杂度的提高呈指数级增长的。开发一款含有1000项功能的复杂软件,其费用可能是开发1000款单项功能软件并组合起来的体系结构所花费用的数百倍。而且复杂软件的质量极不可靠,很多项目因此失败,造成开发成本大增,甚至给企业带来灭顶之灾。使用SOA,企业能够很容易地根据业务需求灵活地更改软件。由于各项服务之间的通信协议统一,企业还能很容易地从市场上购买现成的软件解决方案,然后将它融入自己的体系结构中,而无须自己投资开发单功能软件。

SaaS:别人栽树,企业用户“乘凉”

SaaS,“作为服务存在的软件”,又是一个噱头吗?为什么要提出把软件作为“服务的存在”这样的概念?

这就要回归到一个最原始的问题:什么是软件?或者换一种问法:软件以什么形式存在?传统观点认为,软件以出售给企业的二进制代码的形式存在。也就是说,软件制造公司根据企业用户的业务需求开发出软件来,并卖给企业用户或替企业用户部署到服务器上,这就算是软件交付了。售出后的软件变成了购买它的企业用户的私有财产,和销售它的软件制造公司再无关系了。

不过现在这种观点已经过时了,因为它对于软件制造公司和购买软件的企业用户都没有好处。由于销售的软件对象较多,软件制造公司的客户服务负担繁重。而购买软件的企业用户的业务需求一旦变更,不得不找到原来的公司或请人做二次开发,费用自然直线上升。

使用SaaS后,生产软件的公司采用服务租用的方式提供软件服务。你需要进销存软件吗?好,我就提供一个进销存的网站给注册的企业用户使用。你需要客户关系管理软件吗?好,我再提供一个客户关系管理的网站给注册的企业用户使用。依此类推,企业用户需要哪些服务,软件制造公司就提供哪些服务供企业用户租用。

当然,租用的服务价格很低廉,相比以前企业用户买断软件的使用权费用低很多。而且软件运行在软件制造公司的服务器上,企业用户无须自己部署,可以立刻使用或停用。这样,中小企业用户不仅省去了大笔的服务器硬件采购成本,还省掉了几乎所有的软件开发成本,并且可以按需选择服务。当然,SaaS也有一些缺点:第一,它提供的服务比较标准,针对企业特定需求的定制程度不高;第二,企业用户的数据存储在第三方服务器上,有一定的安全风险。尽管几乎所有的SaaS服务提供商都会与企业用户签订保密协议,但企业用户在选择SaaS提供商时还是要注意其信誉是否良好。

虚拟化:一台服务器“掰”成几台用

虚拟化的概念近来也比较火。其实很早就有软件虚拟机的概念,只是虚拟化技术成熟起来并用于企业应用还是近几年的事。虚拟机软件可能很多人都用过,比如微软公司的Virtual PC和EMC公司的VMware Workstation等,它们的作用就是把一台物理计算机的一部分计算资源拿出来,“做”成一台实际并不存在,但工作起来和物理计算机毫无差别的“虚拟计算机”。比如,一台物理计算机有2GB内存、320GB硬盘,就可以分出512MB内存和80GB硬盘,并共享CPU和外设形成一台虚拟计算机。现在的虚拟化技术已经可以直接在物理硬件上实现虚拟机的资源分配,这样实现出来的虚拟机,在运行性能上几乎和物理机毫无差异。目前比较成熟的虚拟化软件主要有EMC公司的ESX(中小企业可以选用免费的ESXi)和微软公司的Windows Server 2008 with Hyper-V等。

使用虚拟化技术,中小企业用户就不必为数据库应用购买一台数据库服务器,再为邮件服务购买一台邮件服务器——只要有一台服务器,就可以当多台服务器使用。并且由于在同一台物理机上划分出来的虚拟机位于同一局域网段内,这样只使用一台服务器就实现了以前需要多台服务器才能实现的集群(Cluster)功能。这样不仅节约了硬件投资,还大大提高了单台服务器的利用率,同时还降低了能耗,有利于环境保护。

云计算:分布式存储和计算的外包

云计算的概念最先是由互联网领头企业谷歌公司提出的,它倡导的理念是:IT人员应该使用几乎全部的精力来关注企业的业务实现,而数据的存储和具体计算则应该交由最擅长于此的“云”,也就是互联网上的服务器集群来完成。当然,这背后是有很高端的技术在支撑的。因为成千上万的企业会有海量的数据存储需求,也有极大数量的计算需要完成。如何将存储和计算的请求在服务器集群中进行高效的分布式运算,这需要很复杂的算法和工程技术。但是云计算的核心思想在于把业务与具体的存储和计算分离,这个思路的方向是正确的。

近一两年来,云计算进入了群雄并起的阶段。“云安全”、“云算法”、“云存储”等概念纷纷兴起。亚马逊被认为是云计算应用最成功的企业网站,也是云计算概念最激进的倡导者。它逐渐从一个网上书店转型为一个IT服务提供商,2008年其云计算服务部门的营收达1亿美元,这是一个非常有意思的经典案例。

但云计算毕竟还是一种非常“年轻”的应用,它的服务模式在中国还不是很成熟。一般来说,云计算服务的租用会按CPU时间、网络存储容量和带宽收费,但价格远远低于向网络运营商租用的费用。而且,企业用户可以设定使用上限以及制定租用计划。但这需要企业用户有相当强的IT规划水平,并且和SaaS一样,将企业数据和计算过程托管,也存在着一定的安全风险。

“智慧计算”综合应用案例

上面介绍了几种实用且有效的“智慧计算”,但是要将它们转化为生产力的话,关键还在于如何将它们应用到企业的实际经营活动中去,否则就是纸上谈兵。尤其重要的是,对于任何企业用户来说,应用新技术前应该对企业当前的IT软硬件基础设施作一个整体的评估,选择先动哪一部分,后动哪一部分。一般来说,原则上是先动公司内部的部分,再动与客户相关的部分;先动外围部门的,再动核心部门的。在数据的迁移过程中,也要格外小心谨慎,不要造成意外的损失和信息泄露。

对于自有服务器的企业用户来说,应该尽可能地利用虚拟化技术来发挥服务器的功用,以降低硬件采购成本。对于自有软件开发团队的企业用户来说,应该重视软件架构师的作用,将现有业务尽可能拆解成简单的研发任务,并采用时下通行的通信标准和协议,或选用市场上现成的低价或免费解决方案,尽可能地利用SOA降低软件研发成本。而对于软硬件设施还不全且IT预算有限的企业用户来说,可以考虑通过SaaS提供商为企业用户提供的标准化软件服务,利用云计算平台的廉价资源完成企业的信息化目标。

以一家上海的制衣厂为例,它有1台服务器和5名软件开发人员。经过评估,企业需要一个网站来展示企业形象,服装批发商能够通过网站下订单。企业还要为100名工作人员提供邮件服务、日程服务和即时通讯服务,并管理50家原料供应商和超过1000个客户。于是,该制衣厂将业务分为内外两个部分,对外展示的网站和订单功能,由自有服务器存储和管理,采用SOA技术开发了展示站点和订单管理系统,并运用虚拟化技术将服务器划分成数据库服务器(建立了集群和备份)、SOAP服务器和代理服务器(如图)。这样不仅充分地利用了服务器硬件和开发人员的人力,还大大提高了服务器的安全性、灾备能力和响应性能。

11-企业01-1-1.jpg

而对内的服务,该制衣厂则托管给了Windows Live管理中心,不仅可以使用微软提供的Hotmail和Windows Live Messenger等一系列软件服务,还可以使用企业的域名,保持了很好的企业形象。同时,该企业还借助Windows Azure提供的接口,很容易地开发出了客户关系管理软件,把大量的数据存储和计算任务交给了云平台。通过这一系列改造,该制衣厂的IT投资预算减少了70%,因为不必再购买新的服务器或雇用新的员工。同时回报提高了近100%,通过借助外部的力量,企业实现了原本需要投入大量资金才能实现的目标。

编后:从上文可以看出,被称为“智慧计算”的SaaS、SOA、虚拟化和云计算为企业用户带来的价值是巨大的。而SaaS、SOA、虚拟化和云计算之间也不是毫无联系的。SaaS是一种软件服务,它是运行在服务器上的,要提供更好的SaaS服务,就要提高服务器的性能,服务器虚拟化是很好的办法。目前通过SOP(面向服务编程,一种突破性的软件组件化新技术),SOA、SaaS和服务虚拟化正走向融合。

而云计算则更离不开SaaS和虚拟化,服务器群是云计算的基础,其中肯定会用到虚拟化技术,SaaS是云计算的上层应用,直接面向消费者,一句话概括:SaaS出租软件服务,云计算出租网络资源。

如果你对SaaS、SOA、虚拟化和云计算有什么看法,请来信!当然,如果你的企业在信息化过程中遇到了难题,也可以与我们联系,邮箱:pcw-chenp@vip.sina.com。