(转自:http://hi.baidu.com/fengjun8216/item/b15bbef4dcf74049922af27b)

一般而言,云计算架构可以用三层SPI模型来表述。

一、基础设施即服务(IaaS,Infrastructrue as a Service)

把硬件资源集中起来一个关键性技术突破就是虚拟化技术。虚拟化可以提高资源的有效利用率,使操作更加灵活,同时简化变更管理。单台物理服务器可以有多个虚拟机,同时提供分离和安全防护,每个虚拟机就象在自己的硬件上运行一样。
这种把主机集中管理,以市场机制通过虚拟化层对外提供服务,用按使用量收费的盈利模式,形成了云计算的基础层。这就是基础设施即服务(IaaS,Infrastructrue as a Service),构成了云计算的基础层。

硬件平台在云计算中是极其重要的,事实上只有硬件设备能以低成本实现大规模处理量的时候,云计算的实现才有可能。硬件平台的低成本大规模处理量有赖于专业化分工,这也是一个行业走向成熟的标志。
通过虚拟机的方式提供硬件设备有很多好处:
1,云计算的管理平台能够动态的把计算平台定位到所需要的物理平台上,而无需停止在虚拟机上运行的应用程序。
2,能更有效的使用机器资源,当负载比较轻的时候,可以把负载合并到同一个物理节点上,关闭其它的物理节点,以节约资源。
3,通过虚拟机在不同物理节点的动态迁移,可以起到动态负载平衡的效果。
4,在部署上更加灵活,可以把虚拟机直接部署到物理计算平台当中。

二、平台即服务(PaaS,Platform as a Service)

为了给用户提供更大的方便,很多公司开始提供云计算的应用平台,这就是云计算的第二层:平台即服务(PaaS,Platform as a Service)。平台即服务(PaaS)是指把一个完整的应用程序运行平台作为一种服务提供给客户。在这种服务模式中,客户不需要购买底层硬件和平台软件,只需要利用PaaS平台,就能够创建、测试和部署应用程序。

PaaS类型的云计算服务有如下几个特点:
1,提供服务平台的编程接口,开发人员需要根据服务平台的服务接口进行应用程序开发。
2,提供应用程序的托管平台,针对这个平台开发的应用程序一般只部署在这个平台上。

三、软件即服务(SaaS,Software as a Service)

在云计算推出之前,人们已经开始认识到软件与服务的关系,首先提出来的概念就是:“软件即是服务”(Software as a Service)。其概念可以这样来定义:把软件部署为托管服务,用户不需要购买软件,可以通过网络访问所需要的服务,或者把各种服务综合成自己的需要,而客户按照使用量付费。SaaS的出现彻底颠覆了传统软件的运营模式。它不仅仅从价格上,交付模式上,实施风险上带来了明显改观。在云计算上,SaaS有了更好的发展空间。而云计算的推出,给SaaS提供了更好的生态环境。这就形成了云计算的第三层:软件即服务(SaaS,Software as a Service)。
这三个层结合起来,就形成了典型的云计算的SPI模型。可以预期,在这个模型上,大量的创新企业可以获得更好的生存空间。

这种云计算服务方式的特点是:用户不需要把软件安装在自己的电脑或者服务器上,而是按照某种服务水平协议(SLA)直接通过网络,从专门的提供商获取自己所需要的、带有相应软件功能的服务。
SaaS类型的云计算一般有如下特点:
 1,多主租用(Multi-tenancy)。
 2,用户不必购买软件,只需要租用(订约)按使用量付费使用软件。
云计算允许服务提供商在不属于自己的硬件平台和系统软件上提供软件服务,服务提供商也不需要知道服务所在的物理位置,平台的问题委托云平台来负责了。这是一个好事情,因为降低了进入门坎,可以吸引大量有创新能力的中小企业参与云计算服务。
SaaS提供商需要使用PssS和IaaS提供商提供的服务按使用量付费。这里的盈利模式在于,SaaS是一种增值服务,最终用户按使用量付给SaaS供应商的费用,要比SaaS供应商付给同样流量的PaaS供应商的费用要高,这就有了盈利空间。再次说明,云计算看问题的角度是服务和业务模式,而不是技术实现,这一点很重要。

云计算的三层SPI模型的更多相关文章

  1. 1.4 云计算的SPI服务模型

    云计算是通过共享资源池的方式来提高资源利用率的.在云计算中,根据其资源池中资源的类别,可以把云计算的服务模型分为三种,即所谓的SPI 模型   应用程序 Software as a Service ( ...

  2. 浅谈云计算SPI(SaaS、PaaS、IaaS)

    The other day, I arrived at the SAP LABS CHINA for interview with my pleasure. That gave me a chance ...

  3. 云计算SPI(SaaS、PaaS、IaaS)

    云计算SPI(SaaS.PaaS.IaaS) The other day, I arrived at the SAP LABS CHINA for interview with my pleasure ...

  4. CCNA网络工程师学习进程(3)常规网络设计模型与基本的网络协议

        本节介绍分层的网络设计模型与基本的网络协议,包括ARP协议,ICMP协议和IP协议.     (1)三层网络架构: 一个好的园区网设计应该是一个分层的设计.一般分为接入层.汇聚层(分布层).核 ...

  5. MVC三层架构编程(Dao、service、servlet 之间的关系)

    木哈哈~先开心一会儿,人生的第一篇博客aaa.我一定好好写.不过之前也没怎么看别人写过,还是有点小激动呢,加油.好好总结,会总结的宝宝才会有提高! 今天想总结一下mvc三层架构模型编程,宝宝学习不怎么 ...

  6. 【openstack N版】——走进云计算

    一.云计算 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括:网络.服务器.存储.应用软件.服务),这些资源能够被快速提供,只需投入很少 ...

  7. SPI设计

    目录 SPI设计 概述 寄存器配置 title: SPI设计 tags: ARM date: 2018-11-05 15:22:59 --- SPI设计 概述 在SPI协议中,有两个值来确定SPI的模 ...

  8. MVC三层架构模式编程思想 JSP-Servlet-JavaBean

    MVC(Mdodel-View-Controller)编程模式.把一个Java应用分成三层:模型层.视图层.控制层,各层分别实现各层的功能,整个过程见下图就一目了然了. watermark/2/tex ...

  9. 从hadoop框架与MapReduce模式中谈海量数据处理

    http://blog.csdn.net/wind19/article/details/7716326 前言 几周前,当我最初听到,以致后来初次接触Hadoop与MapReduce这两个东西,我便稍显 ...

随机推荐

  1. 更改vsts源代码绑定服务器地址方法

    第一步找到更改源代码管理 第二步首先选中第一个,滚动条拉至最后一项,点击最后一项(全选). 第三步点击绑定,vsts会自动签出所有项目,而后签入就可以更改成功了.

  2. [转]15年双11手淘前端技术巡演 - H5性能最佳实践

    [原文地址]:https://github.com/amfe/article/issues/21 前言 2015年是全面『无线化』的一年,在BAT(财报)几家公司都已经超过50%的流量来自移动端,这次 ...

  3. ELMAH入门

    简介 ELMAH(Error Logging Modules and Handlers)错误日志记录模块和处理程序,是一种应用广泛的错误日志工具是完全可插拔.它可以动态添加到一个正在运行的ASP.NE ...

  4. [JAVA] 基于TCP的起重机运行模拟器

    1.客户端 package ClientMain; import java.io.DataInputStream; import java.io.DataOutputStream; import ja ...

  5. 02_Hello World!

    hello word ? 学习任何语言,我们都喜欢在屏幕上直接输出一点什么,作为最简单基本的案例.很多人习惯输出 hello world ,世界你好.感觉很有情况的样子——然而很多人都只停留在这个阶段 ...

  6. atitit.404错误的排查流程总结vOa6

    atitit.404错误的排查流程总结vOa6 1. 场景 1 1.1. 子应用猛个腊擦不能使用  404 兰.. 1 2. 服务器配置问题 2 2.1. 登录服务器管理子应用,查看应用是否启动okk ...

  7. Effective STL中文版 译序

    <Effective STL中文版>译序 就像本书的前两本姊妹作(Effective C++.More Effective C++)一样,本书的侧重点仍然在于提升读者的经验,只不过这次将焦 ...

  8. JAVA实现多线程入门

    package com.thread;/** * 1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种 * 机制被称为多线程 * 2:实现线程的两种方法是,分别是继承 ...

  9. 通过swap代码分析C语言指针在汇编级别的实现

    我们先用C语言写一个交换两个数的代码: void swap(int *a, int *b){ int temp = *a; *a = *b; *b = temp; } int main(void) { ...

  10. Cocos2d-JS V3.10 一个小bug提示

    感谢读者古事东流反馈,新版V3.10的音乐播放接口存在一个bug. 重复播放一个音乐,会出现音乐停止的状况. debug了一下,发现src的对比有点问题.传入的url是相对路径,但背景bgMusic. ...