云计算SPI三大模式浅析

来源:互联网 发布:千牛工作台for mac 编辑:程序博客网 时间:2024/06/01 07:26

      根据NIST(NationalInstituteofStandardsandTechnology,美国国家标准与技术研究院)的权威定义,云计算的服务模式有SPI(即SaaS、PaaS和IaaS)这三个大类或层次。这是目前被业界最广 泛认同的划分。PaaS和IaaS源于SaaS理念。PaaS和IaaS可以直接通过SOA/Web Services向平台用户提供服务, 也可以作为SaaS模式的支撑平台间接向最终用户服务。

    云计算中的三个“高大上”的概念:IaaS、PaaS和SaaS,这几个术语并不好理解。不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!

一个“吃货”是怎样吃到披萨的呢?

1. 在家自己做

这真是个麻烦事,你的准备很多东西,发面、做面团、进烤箱。。。。。简单列一下,需要下图所示的一切:


2. 买好速食披萨回家自己做着吃

你只需要从披萨店里买回成品,回家烘焙就好了,在自己的餐桌上吃。和自己在家做不同,你需要一个pizza供应商。


3. 打电话叫外卖将披萨送到家中

打个电话,pizza就送到家门口。


4.在披萨店吃披萨

你什么都不需要准备,连餐桌也是pizza店的。


总结一下,吃货可以通过如下途径吃披萨:


好了,现在忘掉pizza!


假设你是一家超牛X的技术公司,根本不需要别人提供服务,你拥有基础设施、应用等等其它一切,你把它们分为三层:基础设施(infrastructure)、平台(platform)和软件(software),如下图:


这其实就是云计算的三个分层,基础设施在最下端,平台在中间,软件在顶端,分别是分别是Infrastructure-as-a-Service(IaaS),Platform-as-a-Service(PaaS),Software-as-a-Service(SaaS),别的一些“软”的层可以在这些层上面添加。

而你的公司什么都有,现在所处的状态叫本地部署(On-Premises),就像在自己家做pizza一样。几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来,这就叫本地部署。

假如你家BOSS突然有一天想明白了,只是为了吃上pizza,为什么非要自己做呢?于是,准备考虑一家云服务供应商,这个云服务供应商能提供哪些服务呢?其所能提供的云服务也就是云计算的三个分层:IaaS、PaaS和SaaS,就像pizza店提供三种服务:买成品回家做、外卖和到披萨店吃。


云也是分层的

  任何一个在互联网上提供其服务的公司都可以叫做云计算公司。其实云计算分几层的,分别是Infrastructure(基础设施)-as-a-Service,Platform(平台)-as-a-Service,Software(软件)-as-a-Service。基础设施在最下端,平台在中间,软件在顶端。别的一些“软”的层可以在这些层上面添加。

 IaaS: Infrastructure-as-a-Service(基础设施即服务)

  第一层叫做IaaS,有时候也叫做Hardware-as-a-Service,几年前如果你想在办公室或者公司的网站上运行一些企业应用,你需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。
  但是现在有IaaS,你可以将硬件外包到别的地方去。IaaS公司会提供场外服务器,存储和网络硬件,你可以租用。节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。
  一些大的IaaS公司包括Amazon, Microsoft, VMWare, Rackspace和Red Hat.不过这些公司又都有自己的专长,比如Amazon和微软给你提供的不只是IaaS,他们还会将其计算能力出租给你来host你的网站。

PaaS: Platform-as-a-Service(平台即服务)

  第二层就是所谓的PaaS,某些时候也叫做中间件。你公司所有的开发都可以在这一层进行,节省了时间和资源。
  PaaS公司在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统。这节省了你在硬件上的费用,也让分散的工作室之间的合作变得更加容易。网页应用管理,应用设计,应用虚拟主机,存储,安全以及应用开发协作工具等。
  一些大的PaaS提供者有Google App Engine,Microsoft Azure,Force.com,Heroku,Engine Yard。最近兴起的公司有AppFog, Mendix 和 Standing Cloud

SaaS: Software-as-a-Service(软件即服务)

  第三层也就是所谓SaaS。这一层是和你的生活每天接触的一层,大多是通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,就是SaaS了。
  你消费的服务完全是从网页如Netflix, MOG, Google Apps, Box.net, Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务是用作商务和娱乐或者两者都有,但这也算是云技术的一部分。
  一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM,ADP,Workday和SuccessFactors。

Iaas和Paas之间的比较

    PaaS的主要作用是将一个开发和运行平台作为服务提供给用户,而IaaS的主要作用是提供虚拟机或者其他资源作为服务提供给用户。接下来,将在七个方面对PaaS和IaaS进行比较:

    1) 开发环境:PaaS基本都会给开发者提供一整套包括IDE在内的开发和测试环境,而IaaS方面用户主要还是沿用之前比较熟悉那套开发环境,但是因为之前那套开发环境在和云的整合方面比较欠缺,所以使用起来不是很方便。
    2) 支持的应用:因为IaaS主要是提供虚拟机,而且普通的虚拟机能支持多种操作系统,所以IaaS支持的应用的范围是非常广泛的。但如果要让一个应用能跑在某个PaaS平台不是一件轻松的事,因为不仅需要确保这个应用是基于这个平台所支持的语言,而且也要确保这个应用只能调用这个平台所支持的API,如果这个应用调用了平台所不支持的API,那么就需要对这个应用进行修改。
 3) 开放标准:虽然很多IaaS平台都存在一定的私有功能,但是由于OVF等协议的存在,使得IaaS在跨平台和避免被供应商锁定这两面是稳步前进的。而PaaS平台的情况则不容乐观,因为不论是Google的App Engine,还是Salesforce的Force.com都存在一定的私有API。
    4) 可伸缩性:PaaS平台会自动调整资源来帮助运行于其上的应用更好地应对突发流量。而IaaS平台则需要开发人员手动对资源进行调整才能应对。
    5) 整合率和经济性: PaaS平台整合率是非常高,比如PaaS的代表Google App Engine能在一台服务器上承载成千上万的应用,而普通的IaaS平台的整合率最多也不会超过100,而且普遍在10左右,使得IaaS的经济性不如PaaS。
    6) 计费和监管:因为PaaS平台在计费和监管这两方面不仅达到了IaaS平台所能企及的操作系统层面,比如,CPU和内存的使用量等,而且还能做到应用层面,比如,应用的反应时间(Response Time)或者应用所消耗的事务多少等,这将提高计费和管理的精确性。
    7) 学习难度:因为在IaaS上面开发和管理应用和现有的方式比较接近,而PaaS上面开发则有可能需要学一门新的语言或者新的框架,所以IaaS学习难度更低。

 PaaSIaaS开发环境完善普通支持的应用有限广通用性欠缺稍好可伸缩性自动伸缩手动伸缩整合率和经济性高整合率,更经济低整合率计费和监管精细简单学习难度略难

表1. PaaS和IaaS之间的比较

IaaS的主要应用趋势
  
  IaaS是电信运营商IT支撑系统领域开展云计算服务的最佳切入点。首先,开展IaaS服务所需的虚拟化技术和运营技术相对成熟,业界已经有较为成熟的IaaS商业应用。其次,开展IaaS服务需要构建大规模数据中心,需要在软硬件基础设施、网络、资金、用户和运营管理经验方面有相当的积累,电信运营商拥有丰富的网络和IDC资源,运营经验上也具有相当的优势。再次,随着中国电信企业转型的推进,实现企业集约高效运营也成为企业信息化工作必须落实的一项关键举措,运营商必须提升IT基础设施的运营效率,控制投资规模,提高投资效益,而这也正是IT云计算的初衷。
  
  IT领域的IaaS应用可以建议从以下两点切入:
  
  加强IT资源的整合集中,通过虚拟化技术提升资源利用率
  
  运营商已基本完成IT支撑系统的省集中建设,在资源的整合和集中运营的经验已有一定的储备,在此基础上,为进一步加强资源的整合力度以及进一步降低IT的建设成本以及运营成本。可以考虑从中西部公司入手,鼓励一些小的省分公司进行跨系统存储资源共享试点,在条件成熟的情况下,可以考虑适度推广。在应用的选择上,可以容灾应用为切入点,实现异地数据容灾中心的集中建设和运维,并根据运营成熟度逐步提升到应用和业务级容灾,探索实现区域集中存储的共享使用。在上述工作的基础上,还可以结合各个系统应用的特点及管理的要求,对具备进一步集中条件的系统实施集团层面的集中。
  
  分公司可以根据业务发展和支撑(特别是本地网支撑)需要,还有可能建设许多零星系统。针对这部分需求,如果不能利旧已有机器,可以考虑采购处理能力比较强的主机,将其虚拟化后供多个系统使用。
  
  探索实现计算资源细粒度共享的机制和方法,实现跨主机、跨应用、模块级的CPU计算能力共享。
  
  当前运营商IT支撑系统由于功能、支持的业务等方面的差异,其计算能力要求在时间分布上存在显著的集中效应,峰值时段的计算能力要求很高,可达到平均水平的2~5倍。为保证生产,所有系统的计算能力不得不按照满足峰值时段的要求来配置,因此在非高峰期存在大量的计算能力冗余。与此同时,各个应用系统的计算能力时间分布又是不同的,峰值重叠较少,有比较大的“削峰填谷”的空间。从运营商现有硬件资源看,核心应用一般由大型Unix服务器承担,但同时也存在着大量的PC服务器和刀片机等处理能力相对较小的设备,承担非核心应用或对CPU能力要求较低的系统应用。随着IT系统的整合集中,大量PC服务器和刀片机的计算能力闲置了下来,同时又不具备退网条件,IT资产存在浪费。基于以上两点,运营商探索一套实现CPU计算能力细粒度共享的机制和技术体制是很有必要的。
  
  相对于存储的共享,CPU计算能力的共享成熟度比较低,适用的范围相对较狭窄,但探索的空间和潜在的受益也很大。结合现有分布式计算平台技术和电信IT系统的计算特点(是否可并行、是否有状态等)、CPU峰值时间分布特征,可以探索CPU计算能力细粒度共享的应用空间。建议IT技术和管控能力强、IT系统运营稳定、系统版本符合规范要求、厂商数量合理且能力较强的分公司可以考虑试点,从统计分析、计费数据采集预处理、业务受理等支撑入手,分析大型应用系统中的计算能力瓶颈环节,并联合厂商探索分析模块级计算能力分布式部署的方式,最终实现跨主机、跨应用、模块级的CPU计算能力共享。
  
  PaaS的主要应用趋势
  
  PaaS应用具有软件密集的特点,能够有效聚合产业链,提高用户粘着度。但是,PaaS应用技术门槛相对较高,本身仍处于不断发展中,目前有能力提供PaaS服务的只有Google、Salesforce等少数几个大型IT企业。因此,运营商应稳妥考虑PaaS应用,可以考虑采取外部合作与内部应用并举的策略。
  
  内部应用方面,为应对激烈的竞争,提升整体化的IT服务能力,各大电信运营商对IT系统统一版本管理正逐步加强,建设PaaS在系统规范和管理要求方面有了较好的基础。但在实践中,由于目前省公司业务环境不同、业务发展水平不同、IT系统厂商数量和可管控能力不同、各系统厂商水平和配合意愿不同,当下还不具备在省层面构建用于IT的PaaS平台的条件。
  
  IT支撑系统应用PaaS可以采用“三步走”的策略,如图3所示:
  
  标准化:PaaS的典型特定是提供一个具体应用部署的平台,各类电信IT系统一定有一些功能是可以跨系统、跨省公司共享的,可以根据调查结果把这些模块甄别出来,基于相关国际标准规范、现有成熟软件及电信业务特点进行标准化。
  
  独立化:根据各厂商标准化进展,探索实现相关模块的独立化,通用化,并逐步与其他应用模块分离。
  
  通用化:通过对标准模块的逐步积累、更新、整合,最终的目标是构建一个面向中国电信内部应用、可以独立部署、通用化使用的PaaS平台,具体的应用可以基于此平台构建,这样就可以大大缩短应用能力形成时间,提高全集团IT整体服务能力的一致性。
  
  目前运营商的IT系统主要由第三方公司构建和维护,在建设PaaS过程中,外部合作必不可少。在分公司层面,建议选择具备条件的分公司,梳理IT系统基础服务集,对于使用频度高、需求敏感度低,功能稳定具备跨系统使用的条件进行试点基础服务的独立化,并基于试点结果,协同厂商实现基础服务云跨系统共享;同时在具备条件的省份基于虚拟技术构建统一的测试、开发环境,供周边省份共同使用。
  
  SaaS的主要应用趋势
  
  SaaS业务的商业运营历史悠久,也是目前为止技术发展最为成熟的云计算业务。中国电信商务领航平台本身已经集合了多个第三方信息化应用系统,已经向客户提供基于互联网的SaaS服务。目前,运营商自营业务系统可以借助新型云计算技术,完成自营业务系统的技术转型,利用Web2.0、SOAP等SaaS技术改造现有系统,实现各种应用的零安装、零维护和高度可扩展。主要可以从以下三方面入手:
  
  1)技术架构方面:探索前台系统(CRM、网厅等)和后台系统的云化互联,落实松耦合模块化的软件架构。
  
  2)作为云端:探索逐步开放部分IT服务能力和信息,借助社会力量扩展企业服务渠道,打造IT的“巧实力”。
  
  3)作为客户:统一规划、获取外部信息源和云信息,完善企业IT外部云信息管理机制。
  
  在省公司层面,建议具备条件的省,基于SOA技术和服务接口,探索系统间的云化互联;适时整合外部资源,引入外部云信息使用;同时结合ICT发展需求以及支撑系统发展成熟度,适时考虑对外提供云服务,实现IT创造业务价值的目标。
  
  在集团层面,建议在规范体系内,制定系统间互联云服务相关接口规范,统一制定对外提供云端服务的技术标准,协同业务开发部门推广相关技术标准的应用;同时以SOA为指导,将应用进一步服务化、标准化,在提升其通用性的基础上,针对中小省份探索区域云化应用的模式。

0 0