只要是现有的中间件应用系统,如果系统采用的服务器数量比较多,或是采用中间件平台实例的数量比较多,都存在 PaaS 私有云模式的需求,通过 PaaS 把中间件平台虚拟化 ( 池化 ),动态的优化资源,基于 OVF 映像的标准化、快速部署,就可以提高运行效率、提升运营质量。由于目前完整的 PaaS 私有云解决方案实施的案例不多,在此抛砖引玉,描述一个典型而比较完整的 PaaS 的私有云应用场景。
某公司为客户提供的核心业务,都是基于 IT 系统 ( 比如银行、电信 )。由于客户众多,近千万的客户,业务系统多是基于 J2EE 架构的应用,应用庞杂,采用了很多服务器,多是基于不同的 Unix,如 AIX,HP-UX 和 Solaris,而应用服务器也有 WebSphere Application Server, Weblogic Application Server、Tomcat、JBOSS 等。目前的核心业务系统支撑的是全省统一的业务,而各个地市有些本地化的特定需求需要满足,出于系统的可用性和复杂度考虑,各个地市的本地化需求不在省核心业务系统中实现,而是在单独的硬件、单独的软件上实现,作为独立的系统而存在。考虑到一个省有 10 多个地市,需要 10 多份本地业务系统。如果按照通常的方式,需要为每个地市配置应用服务器、数据库服务器、Web 服务器等,并做集群。这就需要大量的服务器,而且由于业务量并不大,服务器的利用率不高。
如果采用 PaaS 的私有云模式,应用中间件以 J2EE 应用服务器为主,通过 PaaS 提供虚拟化的中间件应用平台给各个地市,由于地市的业务量并不大,不需要独立的服务器来支持其本地化业务,所有的硬件服务器虚拟化,虚拟机上运行的 WAS/WLS 中间件,并对 WAS/WLS 中间件平台做虚拟化,使得全省各个地市都来共用这些中间件虚拟平台。在根据各个地市的业务容量规划虚拟机的配置和数量之后,部署上线,由虚拟化平台接管所有 HTTP 请求的路由和应用平台池的动态分配。据测算,这种模式可以节省 60% 以上的硬件投资,降低 50% 以上的运维工作量。
如下图为系统原理架构图:
我们在现有利旧的机器上,或是新购的机器上,部署 IaaS 的硬件虚拟机管理平台,对存储、内存、CPU 等虚拟化,并供应出虚拟机。对虚拟机进行逻辑划分,一类是各个地市的业务平台,每个地市根据业务需求和业务容量初步分配虚拟机,第二类是公用应用平台,如 BPM 和 ESB,无需为每个地市专门分配 BPM 和 ESB 平台,把 BPM 和 ESB 也做成 PaaS 的服务,也即各个地市业务公用的 BPM 和 ESB 引擎,可以进一步节省硬件资源并简化管理。
图 13. 私有 PaaS 模式云的场景样例
通过虚拟机映像打包和拓扑管理,把各个机器的操作系统、应用平台和应用软件打包为虚拟映像,并把映像灌入各个虚拟机。
所以用户的的 HTTP 请求进入应用虚拟平台,进行分类、排队和路由,分配到合适的虚拟机的应用平台进行处理。而虚拟平台本身也可以在虚拟机上运行。
PaaS 解决方案的未来发展展望
在企业 IT 系统建设中,对于中、大型企业而言,私有云是个发展方向,私有云带来的业务价值非常明显,通过 IaaS 私有云模式的硬件细颗粒度化和整合,降低 IT 的硬件投资、运维成本,使得 IT 的投资能够更多的花费在业务需求的实现上。
在目前 IaaS 的私有云技术已经很成熟,而且应用的越来越广泛,逐步走向业务价值更大的 PaaS 模式的私有云。对于绝大多数企业的 IT 系统而言,业务应用是最核心 IT 系统,而大多数业务应用都是基于中间件实现的,因此,基于中间件平台的 PaaS 模式云计算是未来应用平台的发展方向。
PaaS 模式目前处于基本成熟阶段,已经有越来越多的成功应用案例。从解决方案来看,相对非云计算模式的应用平台,PaaS 首先要解决应用平台虚拟化的问题,其次要解决 PaaS 云计算模式下的部署复杂、配置工作量大的问题。目前这两个问题已经得到很好的解决了,完全可以搭建起体现业务价值的 PaaS 模式的云计算。
随着 PaaS 模式的解决方案应用越来越广泛和往纵深的方向发展,以下几个方向会有更大的发展:
PaaS 云计算的安全性,在没有 PaaS 模式的云计算之前的应用平台,一般是一个应用一个平台,或是几个应用共享一个平台,应用平台没有整合,应用的安全在是各自实现。而在 PaaS 模式下,应用平台得到整合,应用的安全性也将得到进一步的整合,把应用的安全性独立出来,纳入平台的安全性。PaaS 模式的云计算将在应用和应用平台的安全性整合方面有更大的发展,包括应用和安全性的映射。除了应用的安全性,平台本身的安全性要求比以前更高,包括访问控制、审计性等,还有防攻击,应用隔离、平台隔离等。
PaaS 运行时的管理。PaaS 的云计算是应用平台的整合,有一定数量的虚拟机和应用平台,如何可视化的管理应用平台,提供应用平台的监控、管理的图示化的工具,包括运行时的状态、资源消耗、SLA 指标实时采集等,目前已经有一定的解决方案,但是会往更专业监控管理的方向发展。
根据 PaaS 私有云规模的大小,分别定制横向基础公用平台。大型系列和小型 PaaS 系统对横向基础公用平台的要求不一样,对于大型系统,每个基础公用平台都是专业软件或系统。对于小规模的 PaaS 私有云,可以提供高度定制的完整解决方案。
================================================
PaaS能将现有各种业务能力进行整合,具体可以归类为应用服务器、业务能力接入、业务引擎、业务开放平台,向下根据业务能力需要测算基础服务能力,通过IaaS提供的API调用硬件资源,向上提供业务调度中心服务,实时监控平台的各种资源,并将这些资源通过API开放给SaaS用户。PaaS主要具备以下三个特点:
(1)平台即服务:PaaS所提供的服务与其他的服务最根本的区别是PaaS提供的是一个基础平台,而不是某种应用。在传统的观念中,平台是向外提供服务的基础。一般来说,平台作为应用系统部署的基础,是由应用服务提供商搭建和维护的,而PaaS颠覆了这种概念,由专门的平台服务提供商搭建和运营该基础平台,并将该平台以服务的方式提供给应用系统运营商;
(2)平台及服务:PaaS运营商所需提供的服务,不仅仅是单纯的基础平台,而且包括针对该平台的技术支持服务,甚至针对该平台而进行的应用系统开发、优化等服务。PaaS的运营商最了解他们所运营的基础平台,所以由PaaS运营商所提出的对应用系统优化和改进的建议也非常重要。而在新应用系统的开发过程中,PaaS运营商的技术咨询和支持团队的介入,也是保证应用系统在以后的运营中得以长期、稳定运行的重要因素;
(3)平台及服务:PaaS运营商对外提供的服务不同于其他的服务,这种服务的背后是强大而稳定的基础运营平台,以及专业的技术支持队伍。这种“平台级”服务能够保证支撑SaaS或其他软件服务提供商各种应用系统长时间、稳定的运行。PaaS的实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。有了PaaS平台的支撑,云计算[2]的开发者就获得了大量的可编程元素,这些可编程元素有具体的业务逻辑,这就为开发带来了极大的方便,不但提高了开发效率,还节约了开发成本。有了PaaS平台的支持,WEB应用的开发变得更加敏捷,能够快速响应用户需求的开发能力,也为最终用户带来了实实在在的利益。