从Web服务开发、XML和其它技术领域中汲取营养,并转移到网格计算开发,这种技术开发者不需要花费太多时间即可实现。这就是网格计算技术的魅力所在。同时,我们从中可以看出,网格服务及其依附的框架与面向对象编程有着非常相似的一面。
从大型机、中型机、小型机、服务器到PC,各种各样的IT设备将计算能力拓展到更广泛的人群,客户端、网络技术和网络协议实现了所有机器之间的相互通信……
所有的这一切都随着互联网的产生而发展起来。网络使得地球上任何联网的机器相互沟通、分享文件和数据。而网格计算的出现,就像互联网一样改变我们商业的运作规律。或许你已经对Web服务、XML和面向对象编程等技术非常了解,但仅从概念上说,网格计算很像这些具有影响力的技术。
将网格计算付诸实践
如果把互联网理解为通信网络,那么网格计算就是计算的网络:工具和协议用来协调资源,所有资源集中在一起,彼此分享,共同解决问题。这些集中在一起的资源被称之为虚拟组织。虚拟组织在地球上广泛散布,组织间可以是不同种类的(有些是PC,有些是服务器,还可能是大型机或者超级计算机),有些也可以是自我管理的(网格可以在不同虚拟组织内获取资源),有些则是间歇性开放的。
尽管网格计算通常是隐藏在高校和研究机构的实验室里(已经有十年之久),但是越来越多的公司开始求助于网格来解决现实世界中依靠寻常手段难以解决的问题。大多数IT部门都被强令少花钱多办事。预算紧张,资源稀缺,有经验的人力资源严重不足或者代价惊人。为了完成任务,越来越多的公司经理需要一种非常充裕的、时刻可以使用的计算能力。众所周知,在使用寿命周期中,大多数桌面电脑仅仅用到了其工作能力的5%~10%,多数服务器应用峰值只有20%。毫无疑问,美国公司花了大钱,只是为了购买机器完成工作。
网格计算正是一种可行的技术,商业企业能以此从IT资源中得到更多的利润和生产力。而网格将取决于开发者和了解网格计算的管理者,依靠这两种人,网格计算才能够应用在实际工作中。
细看网格技术
从一个开发人员的角度来看,网格是使用公共传输协议组织起来的虚拟组织。这些协议允许网格用户用网格应用程序,通过安全、可控制的方式运营服务。
就像本文中谈到的那样,虚拟组织能够由许多服务器或者一间房子里的桌面电脑组成,或者是由世界上不同类别、各式各样、到处分散的系统通过网络连接构成。因为在特定的协议下,所有这些系统能够协同工作,协议能控制网络连接、资源分布管理,并协调这些资源。
全球网格论坛正在努力组织开发基于“开放式网格服务架构(OGSA)”的各种协议,开放式网格服务架构是从开放式标准Web服务延伸出来的架构。之所以被称为“架构”,是因为它主要是构筑经过精确定义的界面,通过界面可以构架系统。同时,所有的系统都是基于类似Web服务描述语言(WSDL)的开放式标准。此外,OGSA(开放式网络服务架构)还要从Globus工具包中获取经验,Globus是一个非常有价值、有参考意义的执行工具。下图描述了开放式网格服务架构的结构。
开放式标准和协议导致建立服务,服务位于网格的核心。其服务涉及信息查询、宽带网络分配、数据管理/调用、请求调用处理器、管理数据分区、均衡负载等部分。为了简化操作,这些服务还允许用户在网格上完成工作。
当网格专家谈论运行个人服务(例如信息查询)时,他们称之为“服务实例”(这个用法与面向对象编程中的经典实例相似)。服务和服务实例持续时间很短,长期任务能够从网格得到深度、广度的支持。服务和服务实例可以是动态的或者互动的,也可以是批量处理,并能够在规定时间或任意时间内运行。
然而,良好的服务并不仅仅局限在向网格用户提供哪些服务内容,而且会受到虚拟化工作方式的影响。基于其可靠协议的一整套优质服务能够降低某些请求任务的复杂程度——可靠的虚拟化能够将计算能力转变为普遍存在的网格,非常近似于我们水、电等公用事业。因此,网格技术的支持者说,同样的事情也会发生在计算能力领域,但它取决于我们如何建立协议、服务,允许计算机组成网格并互动起来。
“网格计算之父”Ian Foster用了术语“语义”来形容OGSA的计算能力并定义服务实例:服务是如何被创造和控制的,如何来沟通,诸如此类。“语义”是从语言学和心理学中借用的,它说明了网格计算不仅仅是关于数据、处理器和任务——关于文本和含义,在计算机编程环境中,语义还包含了应用计算能力处理数据并产生结果,以及向计算机(或网格)提交问题并得到解决方案。
迎接挑战
任何像网格计算那样复杂的事物都一定会有相应的挑战。一方面,网格能够快速确定在加入网格的哪台电脑上可以获得何种资源。另外一方面,网格不会因为一个低速或者落伍的系统而降低整体速度,避开了“最小公分母”问题,有时对完成技术清单意义重大。
此外,财务计算面临的另外一个大问题尽管与网格技术无关,但是它将影响到网格的成功应用——成功使用在网格环境下的应用程序。现在,大部分应用程序是安装在服务器或者桌面环境。一个处理器完成所有工作。在网格环境下,如果需要,工作可以打包交给很多系统,每个系统都发挥其应有的作用。工作结果会自动组合起来,送回发送任务请求的那个系统。
然而,一旦这些应用都被整合到网格环境下,我们就不得不担心这些数据如何分享、分割、过滤、移动、确保安全和有效管理。其次,安全性绝对是一个巨大的需求。毕竟,我们不想让其他人取得网格资源,而那些将自己系统并入网格的人都想知道是谁在调用资源,何时调用资源。此外,可靠性和性能也很重要,如果网格不能又快又好地完成工作,那么商业对网格的需求就会马上萎缩。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国