很多传统企业已经接受软件系统是永远不断改变和优化的这种观点,也愿意投入大量的资源去获得更强大的IT研发能力和软件功能,以此来更好地支撑业务的发展。但在新环境下,若还是按照以往的思路去开发、集成和部署,往往会获得事倍功半结果。
从面向企业内部管理来说,传统企业上线了大量的业务管理系统,如ERP、OA和财务系统等,实现了流程的标准化和优化。但软件实施过程中一直存在两个问题,一个是整体集成,所谓端到端的集成在任何一个企业都是一个复杂的IT工程,而且必须由多个系统厂商进行集成,时间、人员及资金耗费巨大,即使集成项目成功上线了,企业流程又产生变化,系统又需要升级,实际上导致了集成项目的死循环。另外一个是强制升级,企业一直有一种被厂商绑架的感觉,不得不持续购买服务费。而最糟糕的是,很多系统实施完全是违背管理本质的,一股脑儿地将大而全的功能通过一个个所谓的总体解决方案强加给企业,也不管企业是否会“消化不良”,疲惫不堪的业务部门好不容易适应了各种系统,但很快这些系统又会变成业务变革的掣肘。
从技术发展来说,软件开发现在有数不尽的语言和框架可以选择。这虽然有好处,但也带来了诸多麻烦。比如,团队成员对技术选型意见的不一致;解决同一问题工具选择周期的增长;很难客观完整地对比可选方案;员工对哪个语言、哪个框架更好的争论永不休止,究竟如何做技术选型是困扰很多人的问题,并最终成为IT管理人员的选择性难题。此外,由于需要通过新技术解决新问题,目前开发技术发展也越来越快,如开发语言混用、分布式计算引入和非结构化数据库应用等,学习曲线和学习成本越来越高。企业的IT部门需要开发平台提供工具,不仅可以使用新技术,还需要简化这些技术应用难度。
针对以上种种问题和种种需求,平台即服务(PaaS)应运而生。它面对广大的开发者,尤其是适用于互联网环境下应用的开发,把软件开发、测试、部署和运行环境通过互联网提供给用户,实现了简化开发环境和应用部署的目的,在“互联网+”时代为企业的开发平台的演进提供了一个重要的选择。
1.PaaS平台总体架构与基本能力
PaaS平台目前还在快速发展和完善,目前没有标准的服务列表和架构,这里推荐Gartner发布的PaaS平台参考架构。具体如图7-17所示。
整体架构分为两个重要的部分,一个是技术基础,一个是PaaS基础服务提供。其中技术基础一般对用户不可见,而PaaS基础服务则开放为用户(业务系统)使用。
PaaS技术基础是PaaS底层的技术架构,实现PaaS平台的核心技术并与IaaS层实现集成。在整个PaaS技术架构里面又分为了性能能力基础、云能力基础和管理平台能力3个重要的部分。在性能能力基础里面包括了基于内存计算(内存数据库、分布式缓存)、分布计算、弹性伸缩和调度技术、SLA服务水平管理、高可用性、安全管理、数据集成,以及并行计算和处理等。在云基础能力中包括了共享资源池、多租户、自服务、计费管理、弹性、元数据管理,以及资源申请和使用。PaaS管理平台的核心还是云基础技术能力和云资源池中资源的全生命周期管理,以及资源本身的监控和动态调整等。其他还有类似基本的管理功能,包括系统管理、权限管理、用户管理和版本管理等。在这里可以看出通过PaaS的技术基础保障了云计算中技术调用能力和云端部署及管理能力。
图7-17 PaaS平台推荐架构(www.daowen.com)
PaaS服务层本身就包括了开发平台、测试平台和运行平台,这些平台里面本身又可以进行细分,在底层是集成的应用开发和全生命周期管理,包括能力和服务的申请与开通,使用组装和部署的完整生命周期管理。而应用平台的核心是一套集成的应用开发平台,提供了集成的应用开发框架和环境,提供标准的技术附件、服务等。这就是类似于传统所说的开发平台和框架。而集成平台与业务流程管理平台的核心就是SOA,一个是ESB提供服务的集成和服务全生命周期管理能力,而BPM和BPEL提供业务流程管理能力、服务的编排和流程的整合能力。数据平台及数据库的资源使用来自于数据库资源池,其重点还是数据库本身需要支持分布式和集群技术。用户体验平台提供了一整套偏UI和交互层的用户体验框架,这套框架本身就会和底层的所有平台和技术能力进行集成。PaaS真正地体现了平台级服务的概念,实现了研发、测试、部署、集成的一体化框架。
2.PaaS平台技术对比
目前企业级PaaS市场还处于快速发展阶段,但其未来的发展空间及市场非常广阔。也正是基于此,目前很多IT巨头都先后推出了自己的PaaS产品,其中,亚马逊、Google和微软是目前业内公认的最有影响力的3家企业,IBM、RedHat及VMware也都先后推出了相应的产品,这6家产品应该是企业PaaS平台的首选。当然,国内的一些互联网企业,如阿里巴巴、百度和新浪等也都推出了自己的PaaS平台,但更多的是面对单独的开发者而不是企业,而原本提供开发平台的IT企业,如普元,也推出了自己的PaaS平台供企业开发时选用。考虑到当前PaaS的发展现状,国外主流PaaS平台更为强大和成熟,表7-4所示是国外主流PaaS平台对比表。
表7-4 国外主流PaaS平台技术比较
(续)
3.PaaS平台选型选择
毫无疑问,企业开发平台向PaaS平台转化是一个趋势。若企业目前主要的开发环境是微软的.NET平台,那么企业及开发者最应关注的PaaS平台当属Windows Azure。一方面,微软已下决心要在云计算市场闯出一片天地,另一方面,微软对中国用户也表现出了足够的重视,同时也在调整价格,帮助企业尽可能地降低成本。若企业或开发者使用Java或其他语言,则可以考虑OpenShift和CloudFoundry,两者都是开源架构,而且都在快速进化,从现在热度来看,红帽子在云方面的力量还是弱于Vmware的,CloudFoundry应该会更加流行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。