基于云计算的中间件技术
来源:信息技术杂志 更新时间:2014-05-29

 分析总结了云计算和中间件的特点以及两者结合的必要性和可行性,明确了中间件在云计算应用中的核心地位。并在此基础上提出了云计算中间件平台的架构,接着分析了该架构中各层的功能。最后重点讨论了云计算中间件的四种功能:管理虚拟资源池、动态调度虚拟资源、支持分布式存储和分布式数据库。
  1、云计算
  对于云计算的概念,站在不同角度会有不同的定义。对云计算的实现者而言,云计算的实体由一大堆分布在各个地方的计算机组成,本质上就是一台可扩展的网络超级计算机;但对于使用者而言,他们所看到的是一台计算机,而且所提供的计算资源可以根据需要动态调整,能随心所欲的使用相关资源而不必理会其物理实质和管理细节。而从计算资源管理的角度来看,云计算就是利用虚拟化技术将大量分散的资源整合为一个庞大的单一计算资源,并且能够提供弹性规模服务的一种管理方式。在信息化进程中,云计算不仅能大幅降低成本,推动信息技术的普及与应用,还能迸一步将信息化和工业化融为一体。可以预见,云计算将带来信息技术领域里的又一次革命。种种迹象表明,云计算既是一种新的商业模式,也是一种新的技术融合体。它的快速发展将完全打破传统IT产业布局,开辟一个全新的充满机遇和挑战的市场。
  2、中间件
  所谓“中间件”,顾名思义,是指在IT系统中位于“中间地带”的软件。从纵向的“上下“维度上看,中间件处于底层操作系统、数据库等基础软件与上层应用软件之间,向下管理计算资源和网络通信,向上为应用软件提供开发、运行环境;从横向的“左右”维度上看,中间件为各类业务系统提供通信、交换等服务,解决系统之间互连互通的问题。由此可见,中间件是支撑rI'系统高效运行的重要枢纽。中间件为互联网应用的快速开发、灵活部署、可靠运行、有效管理、快速集成提供了一个基础平台。据统计目前95%以上的互联网企业应用和电子政务系统都是构建在具备SOA架构体系的中间件之上的,如果没有中间件,所有应用都将直接面向操作系统。由于现行的虚拟化技术和异构平台都存在大量的差异化,那么面向服务的大规模应用将无法实现,就技术层面而言,也难以支撑这类应用。这就凸显了中间件平台的重要性,也使中间件成为主流厂商竞争的核心领域,无论是微软、IBM还是SAP、ORACLE甚至Google等,都将中间件作为云计算、物联网等解决方案的技术核心,毫不夸张的说,中间件领域竞争的结果,将直接影响这些国际大企业的生命力。
  3、云计算中间件
  3.1 云计算中间件的必要性和可行性
  虽然云计算可以有效地整合和利用现有IT资源,提供高效、可靠的计算服务,但是无论是公共云还是私有云的搭建及应用都是一项艰巨而复杂的工作,不能一蹴而就。尤其既要考虑充分利用已有的软硬件平台,又要将现存的大量应用和数据迁移到云计算的平台上,这是一个关键而难于实现的过程。而中间件最大的优势有两点,一是不去动现有的信息系统,而是插入新的系统,方便数据的迁移和共享;二是便于提供个性化服务。云计算不能飘在空中,要落地,其核心技术是中间件平台。
  在云计算的IaaS、PaaS、SaaS三种平台模式当中,PaaS平台起到了承担调用底层基础资源、为上层业务系统提供支持的任务,而中间件本身也是连接底层操作系统与上层应用的工具,将PaaS平台与中间件技术相结合,无疑是一种天然的选择。通过PaaS平台将中间件整合成为基础应用设施资源池,为用户提供良好的应用开发、测试和运行环境。基于云计算的中间件平台,是操作系统和应用的虚拟化与服务化的承上启下的核心。图1形象地描述了中间件在云计算架构中的核心地位。
130456559023926760_new.jpg (580×400)图1 中间件在云计算架构中的核心地位
  3.2云计算中间件的功能和结构
  云计算中间件并不是凭空产生的,而是时代发展的产物。云计算中间件的技术理念就是把分布式计算资源管理中常见的问题和解决方案提炼出来,并针对不同的资源类型进行性能优化和容错处理,然后通过统一的管理引擎和开发平台提供给应用服务开发者使用。云计算中间件利用多层次分布式虚拟技术、智能系统管理和资源自动调配,使企业能够快速、有效地搭建和管理“云”平台。在云计算中间件的帮助下,应用服务商可以从复杂繁琐的分布式计算资源管理问题中解脱出来,集中精力和财力为他们的用户提供更好的搜索、邮件、企业管理等各种服务。
  根据上述分析,云计算中间件平台可分为如图2所示的四层:基础设施层、中间件层、显示层和管理层。
130456559639801986_new.jpg (530×313)

图2 云计算中间件平台架构
  其中,基础设施层利用虚拟化技术提供可扩展的物理资源池,完成数据的存储和系统的虚拟化功能;显示层则是利用现有的各种技术保证系统的操纵性和用户界面的友好性;管理层则完成用户的账号管理、资源的智能监控、计费、安全及负载均衡等功能;而最核心的云计算中间件层则必须具备对虚拟资源池的管理能力、对虚拟计算资源的动态调度能力、对分布式存储的扩展支撑能力以及对分布式数据库的支持能力。本文重点分析云计算中间件层的上述四大功能。
  (1)管理虚拟资源池,包括对虚拟资源的创建,使用,回收等全生命周期的管理。云计算中间件平台首先通过IaaS层的服务接口去动态创建虚拟机,然后下发部署包完成程序的部署。最后可以根据业务系统的并发访问情况以及业务需求动态地去调度后台的虚拟资源池资源,真正实现计算和存储能力的弹性和可伸缩性。
  (2)对虚拟计算资源的动态调度能力,即云计算中间件平台可以动态调度虚拟资源满足业务需求。完成上述功能的传统方式是采用四层交换的负载均衡和集群技术,这种方式下基础设施层的物理资源对应用系统来说是透明的。而当云计算中间件平台接管了自动部署后,底层资源对于应用系统的透明度大大提高,基本实现了底层资源的完全黑盒,这样就能只依据用户的应用并发量来动态调度底层资源,使人们的调度策略更加灵活多变,满足用户全方位的需求,也更能体现云计算的服务特性。
  (3)对分布式存储的扩展支撑能力。云计算中问件平台第三个最主要的功能就是能支撑和融合现在业界流行的分布式存储架构,当然也包括了基于hadoop+hdfs的云存储架构。云计算中间平台能将业务系统对存储的需求和后天存储资源之间完全解耦,它可以依据业务需求调度后台的存储资源和存储节点。对于存储而言,存储资源的动态伸缩扩展是衡量其性能的重要指标。对于常规的计算资源调度,一般情况下并不需要对业务系统开发有大的约束和要求,而对于分布式存储,则必须要求业务系统安装云计算中间件平台指定的标准和提供的Webservice或API进行开发,这样才能够保证云计算中间件平台能的业务系统提供分布式存储能力。
  (4)对分布式数据库的支持能力,云计算中间件平台最后一个必须集成的能力就是对包括key-value半结构化数据库和hive等数据云数据库在内的分布式数据库的支持能力。云计算中间件平台必须要能提供分布式缓存的能力。就像IBM的Web-Sphere eXtreme Scale一样,云计算中间件平台主要为分布式数据库提供高性能,高扩展性。这种能力通常只针对一些数据密集型的业务系统,比如说当有需要时可以把数据从数据库中取出存放到内存当中,从而提高对数据的处理速度,获得更高的性能。
  4、结束语
  根据2012年最新调研数据显示,中国云计算基础架构市场投资增长率已经达到了42.0%,同时,IDC预测,到2016年中国云计算基础架构市场的规模将超过10亿美元。在云计算时代,系统集成的需求,无论是在数量上还是在类型上都会大大增加增长,而且这种集成的力度将会变得更加精细。因此,如何来实现这种混合云之间、平台与平台之间、应用于应用之间的信息互通,就显得非常重要。而中间件扮演着非常重要的角色,它能够实现各种不同应用于平台之间的标准化,使得各个平台实现互联互通。本文在分析总结了云计算、中间件技术和应用的特点的基础上,提出了云计算中间件平台的架构,并着重分析云计算中间件的包括管理虚拟资源池、动态调度虚拟资源、支持分布式存储和分布式数据库在内的四大能力。