1. 云计算发展概述
云计算的发展[2],追根溯源是从并行计算、分布式计算、网格计算、虚拟化、SaaS、SOA 等技术混合演进的结果。
1959年6月,ChristopherStrachey 发表虚拟化论文,虚拟化是今天云计算基础架构的基石。
1996年,网格计算Globus 开源网格平台起步,网格计算是聚合分散资源,支持大型集中式应用,从技术层面面向科研计算。
2000年,SaaS 兴起。
2004年,Google 发布MapReduce 论文。Hadoop 就是Google 集群系统的一个开源项目总称,主要由HDFS、MapReduce 和Hbase 组成。
2007年11月,IBM 首次发布云计算商业解决方案,云计算是以相对集中的资源,运行分散的应用,主要是针对企业商业应用,商业模式比较清晰。
2008年12月,Gartner 披露十大数据中心突破性技术,虚拟化和云计算上榜。
云计算的提出,引发了新的技术变革和新的IT 服务模式。2007 年以来,云计算成为IT 领域最令人关注的话题之一,也是当前大型企业、互联网的IT 建设正在考虑和投入的重要领域。
十年前的企业IT环境,是一个相当稳定的格局。国外IBM、EMC、Cisco、Intel等大厂牢牢地占据了企业IT的硬件基础设施提供者的龙头位置;在传统企业中间件领域,国外各个大厂通过收购及产品方案组合,将Total Solution完全把握在手里。
以IBM为例[1],IBM作为企业IT的实际领导者,通过对“五朵金花”的收购以及后期对于HPC和Big Data领域的收购,构成了自己软件服务部SWG的基本格局,将Web中间件(WebSphere)、数据库服务(DB2)、办公软件(Lotus)、IT流程(Tivoli)、和企业软件开发能力(Rational),还有后期对Platform Computing的收购,有机地通过技术服务(GTS)和业务咨询(GBS)整合打包在一起,将完整的方法论和企业IT模型灌输给企业IT的实践者们。
今天,云计算已经落地开花,自从AWS(Amazon Web Service) 于 2006 年 3 月 14 日 发布Amazon S3,云计算改变了企业对数据的存储、处理和分析的过程,开启了云计算时代的到来,形成了极其火爆的技术生态圈,受到非常广泛的应用。
大中型企业是怎么样引入云计算的呢?
企业的IT建设过程,以当前电信行业的基准来衡量,主要有五个阶段:一是企业业务信息化(网络化)、二是大集中(面向标准化组件)、三是虚拟化(面向资源)、四是云计算(面向服务)、五是数据中心化。
1997年,电信行业开始97工程,步入企业信息化网络时代,同期电力行业营销计费也开始网络化;2001年开始,电信行业和电力行业又步入集中化升级;2008年开始全面企业信息化;不久,虚拟化、云计算、数据中心化等三个阶段,技术上虽然有一定先后,但是对于企业来说,几乎是同时进行的。
现在,再回顾2012年Gartner在云计算技术成熟度周期情况:
一个完整的技术成熟周期包括:
●技术萌芽期(technology trigger)
●期望膨胀期(Peak of Inflated Expectations)
●泡沫化的谷底期 (Through of Disillusionment)
●稳步爬升的光明期 (Slope of Enlightement)
●实质生产的高峰期 (Plateau of Productivity)
对于云计算技术的发展,Gartner于2012年给出其技术生命周期中,SaaS已经处在稳步爬升期,IaaS已经走出泡沫化的谷底期,PaaS、aPaaS(Application PaaS)、私有云处在期望膨胀期,BPaaS和Private PaaS(Private Platform as a Service)处在技术萌芽期。
在2015年云计算细分市场中,SaaS 规模仍然最大,IaaS 市场增长最快。SaaS 市场规模是IaaS 和PaaS 市场规模总和的一倍还多;但从年增长率来看则分别为45.2%、28.8%和24.4%,IaaS 和PaaS 的市场规模增速都超过SaaS,预计未来几年这种情况还将延续。
2. 云计算模型
对于云计算的分类,目前比较统一的方式是从以下两个维度进行划分。
2.1. 按服务的层次
SaaS
SaaS是Software-as-a-service(软件即服务)的简称,可以说在云计算概念出现之前,2000年就已经有了,而随着云计算技术的发展而得到了更好的支撑。常用的有CRM,HRM,协同OA,ERP,云存储等等,厂商也很多,例如阿里云(钉钉)、金蝶、八百客、神码中小企业公共云等等。
SaaS不是云计算,SaaS是云计算上的应用表现,云计算将弱化SaaS门槛,促进SaaS发展。根据SaaS应用是否具有可配置性,高性能,可伸缩性的特性,SaaS成熟度模型被分成四级。
Level3,提供了多租户单实例(Multi-Tenant)的应用架构,才是通常真正意义上的SaaS应用架构;
Level4,可伸缩架构,提供多租户多实例(Multi-Tenant MultiInstance
)。
为了打破信息孤岛,一些SaaS公司想到了PaaS,他们切入PaaS的核心逻辑是,我来做平台,由我制定游戏规则,那么各类SaaS产品之间的信息流就能打通了。
比如智慧园区、智慧城市使用了大量的SaaS服务,在没有PaaS的情况下,势必产生许多信息孤岛,给智慧园区的数据共享管理带来数据整合的难度。-
PaaS
PaaS是Platform-as-a-Service(平台即服务)的简称,是把计算环境、开发环境等平台作为一种服务提供的商业模式。典型的如国外的 AWS、谷歌App Engine PaaS 和 Windows Azure 和国内的百度 BAE、新浪 SAE、京东云擎 JAE、以及阿里云。IBM 私有云方案,由 TSAM 和 Websphere Pure application 这种厚重的企业软件构成。(1)aPaaS
Application PaaS(aPaaS)应用平台服务是指用来托管与管理每一个应用程序服务和数据的平台。服务功能包括:为多租户应用软件运行优化的容器服务、持久性和内存数据管理、同类环境下服务的独立管理与独立安全、多语言开发工具、编程模型、内部编配与编排、元数据管理和以计费与优化为目的监控。
(2)iPaaS
Integration PaaS (iPaaS)集成平台服务是指用来中介和集成aPaaS所托管与独立管理的应用服务的平台。服务功能包括多种可应用于异构分布部署服务环境的中介功能, 包括:注册和存储、策略管理、安全、应用和数据的集成、适配器、编排、编配、流程管理、合作伙伴社区管理、事件代理等等。集成平台既服务可以用来支持SaaS应用程序、云服务、基于aPaaS的应用程序之间以及在用户自己环境里的定制/套装应用程序与B2B集成等场景的集成。目前市面上有很多PaaS平台,我[9]自己认为可以分为3个阶段:
● 第一代PaaS,比如Google App Engine、SAE,这是最早期的PaaS,当时并没有PaaS这个概念,但是他们做的事情,现在看来是包含在PaaS范围内的。
● 第二代PaaS,比如 Cloud Foundry、OpenShift。这是各大IaaS流行之后,顺势推出的PaaS, 并且迅速发展。
● 第三代PaaS,比如Kubernetes。这是在Docker火爆之后,利用Docker的特性构建出许多PaaS, IaaS
IaaS是Infrastructure-as-a-Service(基础设施即服务)的简称,是把数据中心、基础设施硬件资源通过Web分配给用户使用的商业模式。IaaS服务很好地实现了云计算按需付费的理念,例如亚马逊Elastic Compute Cloud,以及国内的阿里、腾讯、华为云。
传统的IaaS解决的是硬件基础设施的合理使用,例如VMware只是一种降低传统IT成本的手段,降低设备的投资和运维费用,不是用来解决信息孤岛和流程穿透的。
按层次来分,传统的模式就是IaaS、PaaS、SaaS,如下图所示,但是,各个层次之间没有依赖关系,也就是说PaaS层可以独立存在。
层次化的云计算一般各层可独立提供云服务,下一层的架构也可以为上一层云计算提供支撑。
2.2. 按云的归属
按使用范围分类,主要分为公有云、私有云和混合云。
● 公有云一般属ISP 构建,面向公众、企业提供公共服务,由ISP 运营;
● 私有云是指由企业自身构建的为内部提供云服务;
● 混合云是指当企业既有私有云,同时又采用公共云计算服务,这两种云之间形成一种内外数据相互流动的形态,便是混合云的模式。
云计算市场快速增长,主要体现在公有云上,那么私有云是什么情况呢?
3. 私有云及其Private PaaS
从云计算技术成熟度周期来分析,在大数据和公有云的冲击下,企业私有云发展转化到大数据能力平台和BPaaS,例如大数据更倾向使用物理机,而不是IaaS,也只有大中型企业需要建设企业私有云。
推广私有云的公司,基本都源于早期的IT技术服务公司,比如在国内的华为、浪潮、和曙光,以及本地化的各个外企,比如IBM和HP。私有云作为IT重构的一个主要方向,衍生出了软件定义环境(SDE)的概念,将软件和硬件进行解耦,将应用和软件功能模块解耦、将服务和软件应用解耦。
对于云计算技术的发展到2015年,Gartner给出其技术生命周期中,SaaS、IaaS已经处在稳步爬升期,PaaS、aPaaS(Application PaaS)、私有云处在泡沫化的谷底期,期望膨胀期,BPaaS和Private PaaS(Private Platform as a Service)、iPaaS处在期望膨胀期。
3.1. BPaaS
业务流程即服务(BPaaS):是一个按预定步骤完成一个交付到云平台上的业务任务的过程。业务流程即服务功能往往是建立在其他云IaaS和PaaS功能之上。
领先的BPaaS供应商包括Cordys、Accenture、Cognizant、GenpactSungard Financial Systems、Tata Consultancy Services和Wipro。BPaaS在企业服务中被广泛接受。
从云的层次来看,BPaaS是构建在PaaS上,在PaaS上提供BPM服务,以及便于云落地的云市场和应用。目的是便于企业云落实实施,避开传统复杂的云,也可以理解为轻量级的企业PaaS平台,集成搭载常用的BPM、MDM(主数据管理)等。
3.2. 私有(Private)PaaS
私有是相对公有而说的,私有PaaS首先是企业级PaaS,具有PaaS所有特性,云的归属为企业私有,有针对性的为企业信息化及企业架构服务。
对于常规的PaaS平台我们更加关注的是数据库,应用中间件和Runtime的管理和云化;
而对于私有云的PaaS平台则在数据库层面增加了DaaS服务层的考虑,在应用中间件之上增加了技术平台和业务平台的构建,对于企业内的大量业务系统和模块组件,需要进一步考虑集成能力和服务共享。
按道理PaaS平台不用关心到具体的应用和数据,而对于私有云PaaS平台往往会对应用和数据进行一定程度的强约束和要求,如应用架构,数据架构设计,应用本身的技术架构和分层,应用内的业务模块组件化要求等。
对于私有PaaS平台使用者需要关心 | 对于PaaS平台的管理方需要关心 |
---|---|
支持的编程语言、web服务器或者应用服务器 | 统计报表 |
支持的数据库软件类型 | 监控报警 |
支持的数据库模式,cluster还是主从 | 面向应用的监控 |
数据库主从分离是否透明 | 如何给开发人员提供一致的开发环境 |
支持的文件存储类型,如何操作 | 如何给测试人员提供一致的测试环境 |
其它类型服务,如何访问?是否有SDK或API文档 | 容量管理,如何增减节点 |
如何部署应用 | 数据保障,备份管理和灾备管理 |
代码目录路径和布局的规范 | 消息发布管理,如平台对某个软件进行升级的通知 |
名字服务,代码如何访问这些服务(connect),是通过环境变量,还是通过域名,或者通过封装的类或者库,还是通过kv名字服务的查询获取? | 工单管理,处理使用方提出的疑问 |
3.3. BPaaS是企业私有云最佳实践
Cantara研究的副总裁Michele Gartner提到[8],SaaS和BPaaS通常建立在PaaS功能之上。有时SaaS是一个明确的服务层,并且,SaaS服务层直接被嵌入到BPaaS产品中。有了BPaaS,你更关注业务成果,包括访问应用程序和可用性,还包括客户应用程序正确处理的数量,以及客户主板的数量。Garnter关于云计算市场的预测来看,更靠近业务层BPaaS市场空间更大。
数据来源:Gartner(2016.1)
BPaaS有可能使组织能够采用更少的编码创建应用程序, BP Logix(一个BPM工具厂商和BPaaS服务提供商)业务解决方案的副总裁Scott Menter表示,“企业架构师终于开始认识到,BPM不仅仅是一个技术,自动化业务流程,更是一种彻底改变发展的方式。”
本文作者于2015年,基于BPaaS产品OpenText Cordys BOP,完成一套企业私有云PaaS的建设。
名称 | 类型 | 描述 | 备注 |
---|---|---|---|
PaaS平台 | 产品 | OpenText Cordys BOP 4 | 搭建在Linux环境上 |
SOA | 技术 | 面向服务 | 由平台SOA Grid提供ESB |
Web服务 | 产品 | Apache | HTTP 平台内部集成 |
开发语言 | 技术 | Java和JavaScript | JQuery |
关系型数据库 | 产品 | Oracle、MySQL | |
文档型数据库 | 产品 | MongoDB 开源免费 | |
目录服务 | 产品 | OpenLDap | 平台内部集成【注:前台通过Webservice使用】 |
客户端组件 | 组件 | BootStrup | 开源免费,HTML5+CSS+JQuery |
接口规范 | 技术 | Soap Webservice | 通过XML传递JSON数据 |
其他 | 技术 | XML、JSON、HTML、CSS | 解析XML、Document【注:支持HTML5】 |
本案例解决现有流程各自独立、分割,各部门按自身业务需要建立应用系统,数据自采自用,缺乏统一规划与标准,形成大量纵强横弱的“信息孤岛”与“烟囱系统”,信息资源不能共享问题,实现了流程穿透、信息共享的需求。
云行业多年的经验积累使得PaaS层面的技术有了长足的发展和提升。但不管是提供各种数据库服务还是企业中间件服务,都是为了让开发者能更快、更方便的开发出应用并部署在云端。
企业使用用私有PaaS,解决信息孤岛、主数据一致性问题。这是SaaS及其向PaaS延伸也很难解决的短板。也可以充分利旧设备,使用分布式,避开云资源集中的资源限制。BPaaS是企业Private PaaS最佳实践。
通过此分析,我计划下一步云应用思路:
目标:整合BPaaS、ECM和多租户技术搭建私有PaaS,形成云能力平台,并集成Hadoop、MongoDB、MySQL、Spark产品,建设智慧油田大数据应用云能力平台。
主要技术内容:
1、使用BPaaS产品Opentext BPS(原Cordys BOP)做为整合基础平台,使用其集群技术,以及LDap负载均衡技术;
2、使用ECM产品Opentext ECM整合到基础平台上,基于内容管理构建知识管理;
3、按Gartner多租户模型,在基础平台上构建多租户能力;
4、关系型数据使用MySQL,采用主从复制技术;
5、文档数据库使用MongoDB,采用主从复制技术;
6、大数据平台使用Hadoop,算法使用Spark及自有采油工程算法。
企业信息化采用云架构的特点:
1、通过云整合计算资源和虚拟化技术,降低硬件投资和维护费用,并提高资源使用效率;
2、通过使用PaaS平台,消除信息孤岛,实现流程穿透和信息共享;
3、多租户技术,是大中型企业多层级管理架构最佳实践,很好的解决了共享与隔离的关系;
4、基于PaaS平台开发的应用就直接是SaaS服务,可以直接在云端使用,降低了应用开发复杂度;
5、对于大型应用系统,云平台将降低系统的复杂度,使其更易实施和运维;
6、基于PaaS平台,形成统一开发平台为企业用户、应用开发者、平台厂商提供统一的生态环境,便于企业推进信息化工作落地,也便于开发者复用。
参考:
1.《十年历程:云计算打通IT之间的孤岛》InfoQ 杨海明 2016年5月
2.《云计算的发展史》赢在积累的博客 2012年10月
3.《云计算乱局:国内四大巨头PaaS云平台优缺点》IDCPS Veature Beat 2014年7月
4.《使用云技术升级改造现有应用系统的思考》CSDN博客 肖永威 2013年11月
5.《面向集团客户的云计算运营平台概述——之云计算运营平台方案(一)》CSDN博客 肖永威 2013年12月
6.《在IT系统中使用多租户技术提供人员跨部门及虚拟团队的解决方案(草稿)》CSDN博客 肖永威 2014年10月
7.《估值1200亿美金,AWS在公有云市场一骑绝尘》界面JMedia联盟成员.爱分析 2017年1月
8.《BPaaS采用最佳实践》TechTarget中国 作者:George Lawton 翻译:皮红 2015年5月
9.《DockOne技术分享(十九):畅谈PaaS》DockOne.io wulonghui 2015年9月