云计算的SPI框架.docx
- 文档编号:10873071
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:30
- 大小:400.50KB
云计算的SPI框架.docx
《云计算的SPI框架.docx》由会员分享,可在线阅读,更多相关《云计算的SPI框架.docx(30页珍藏版)》请在冰豆网上搜索。
云计算的SPI框架
云计算的SPI框架
(1)
2011-05-2620:
44刘戈舟/杨泽明/刘宝旭译机械工业出版社我要评论(0)字号:
T|T
《云计算安全与隐私》第2章什么是云计算,在本章我们尝试提供一些基础信息,包括目前云计算的标准交付方式、SPI以及云计算的种类。
我们还提供了关于采用云计算的益处以及采用云计算的一些障碍等方面的信息。
本节为大家介绍云计算的SPI框架。
AD:
云计算的SPI框架
(1)
一个普遍认可的描述云计算服务的框架可以缩写为“SPI”。
这个缩写代表着云计算提供的三种主要的服务:
软件即服务(software-as-a-service,SaaS),平台即服务(platform-as-a-service,PaaS),以及基础设施即服务(infrastructure-as-a-service,IaaS)。
图2-3描述了云计算的服务、用户和类型之间的关系。
图2-3:
SPI服务模式
我们现在一一讨论其中的元素。
云计算相关的技术
云计算结合了许多早已存在的技术。
这些技术在不同的背景下有着不同的成熟度,它们并不是作为一个整体而设计的;然而,它们聚集在一起便构成了云计算的技术体系。
处理器、虚拟化技术、磁盘存储、宽带互联网连接,以及高速而廉价的服务器等方面的新进展,共同使得云计算成为更加引人注目的解决方案。
图2-4说明了相关的技术。
图2-4:
云计算的相关技术结构
云计算接入设备
这些年来云计算接入设备的范畴被极大地扩展。
家用计算机、企业计算机、网络计算机、移动电话设备、定制的手持设备,以及定制的静止设备(包括冰箱)都可以联网。
有趣的是,iPhone及其AppStore应用程序的快速增长也表明了云计算接入的巨大扩展。
接入设备的扩展带来了云计算服务的广泛使用和飞速发展。
例如现在可以通过iPhone使用Skype,这使得点对点网络与用户的距离更加贴近。
此外S以及其他一些商家也推出了可以使用户通过iPhone访问其服务的应用程序。
浏览器和瘦客户端
不同类型设备的用户现在可以从任何能加载浏览器的地方访问应用程序和信息。
事实上,浏览器变得愈加复杂化。
客户端(称之为“胖”)应用程序加载到台式机后,可以通过浏览器接口访问企业应用,例如SAP和Oracle。
普通大众对浏览器的功能已经越来越熟悉,他们能够凭着直觉熟练使用各种不同的应用程序,而不需要经过培训或者阅读用户手册。
高速宽带接入
云计算的一个关键组件是宽带网络,通过宽带网络得以连接各个组件,这与30年前效用计算的概念有着重大区别。
现在宽带接入十分普及,尤其是在全球化的大城市中。
无线接入也近乎实现了无缝覆盖(例如WiFi、蜂窝、新兴的WiMAX),从而将移动设备转变成访问云计算以及企业资源的接入点。
数据中心以及服务器群
基于云计算的服务需要庞大的计算能力,一般位于数据中心以及服务器群中。
这些分布式的数据中心和服务器群分布在多个地域,并可以通过网络连接,从而提供分布式计算以及服务交付能力。
今天大量的实例说明了云计算能力的弹性和可扩展性。
例如,亚马逊的弹性计算云(EC2)提供在数据中心的虚拟化,用来为请求的服务创建数目庞大的虚拟实例。
S通过集群实现可扩展性和弹性,为庞大的客户群提供SaaS服务。
存储设备
不断下降的存储成本,以及部署的灵活性大大改变了存储领域的情况。
固定的直接访问存储设备(DASD)已被存储区域网络(SAN)所取代,后者降低了开销并且在企业级存储方面有更大的灵活性。
存储区域网络软件管理着存储设备的整合,可以在一定数量的设备上实现独立的存储空间分配。
虚拟化技术
虚拟化是促进云计算的基础技术平台,它改变着现代数据中心的形态。
虚拟化一词是对应用程序以及终端用户的计算资源(CPU、存储、网络、内存、应用程序栈,以及数据库)的抽象。
基础设施的抽象为资源(基础设施、应用或信息)的分散化提供服务,并确保资源池中的资源可以通过标准的方式被任何具有访问权限的人或物访问。
虚拟化技术通过为所有用户提供可扩展的共享资源的平台,实现了云计算的多重租赁的业务模式。
更加重要的是,它为平台使用者提供了专有资源的视角。
从企业的角度来看,虚拟化强化了数据中心并提高了IT运维效率。
今天,企业通过各种形式在数据中心上开发虚拟化技术,包括操作系统虚拟化(VMware,Xen)、存储虚拟化(NAS,SAN)、数据库虚拟化,以及应用程序或软件虚拟化(ApacheTomcat,JBoss,OracleAppServer,WebSphere)。
从公共云的角度看,根据云计算服务交付模式(SPI)和架构,虚拟化技术使虚拟化服务(例如操作系统、存储、数据库、应用程序)在各个层面上显示为共享的资源。
图2-5描述了SunMicrosystems公司定义的操作系统虚拟化以及虚拟化环境的各个层面。
基础设施即服务(IaaS)提供商,包括Amazon(EC2)、ServePath(GoGrid)和SunCloud都部署了此类型的虚拟化技术,这种技术可以使用户在公共云上运行各种类型的操作系统。
图2-5中所示的虚拟化平台是SunxVM管理程序(hypervisor)工作平台,它为顾客虚拟化了共同的硬件资源以及在管理程序上部署的虚拟服务器操作系统(Linux、Solaris和MicrosoftWindows)。
这个管理程序工作平台执行和管理虚拟CPU(vCPU)、虚拟内存(vMemory)、事件通道,以及驻留的虚拟机(VM)共享的内存,此外还控制I/O以及设备的内存访问。
图2-5:
SunxVM管理程序工作平台
云计算的SPI框架
(2)
在Xen和SunxVM(xVM是基于Xen团体的工作)中,一个虚拟机称为一个域(domain),而在VMware虚拟化产品中称其为一个客户操作系统。
在图2-5中,虚拟机(VM)的编号为dom0、domU1、domU2和domU3。
Dom0用来管理其他的域(例如domU1)。
VMware采用类似的机制,并称之为“服务控制台”。
通过dom0或者服务控制台进行的管理内容包括:
创建、销毁、迁移、存储和恢复用户域。
配置了运行于用户域的操作系统之后,可以调用管理程序执行特权操作。
除了操作系统和存储虚拟化,软件即服务(SaaS)以及平台即服务(PaaS)提供商也实施了软件和数据库的虚拟化,这样使用户可以共享软件应用程序栈和数据库资源。
例如S对软件和数据库栈的虚拟化。
在这种模式下,所有用户都分享着交付的基础设施的每一个层面。
应用程序编程接口
合适的应用程序编程接口(API)是云计算交付模型的另一项能力(参见图2-6)。
应用程序编程接口授权用户对云计算服务和资源进行自我配置和程序控制。
根据云计算服务交付模型(SPI),应用程序编程接口可以表现为不同的形式,包括从简单的URL(统一资源定位符)操作到高级的如SOA编程模式等。
应用程序编程接口还有助于发挥云计算的全部潜力,以及屏蔽云计算服务在现存IT管理程序和实践方面的复杂性。
图2-6:
云计算的API
云计算服务提供商(CSP)AmazonEC2、SunCloud和GoGridf都提供应用程序编程接口,供用户创建和管理云计算资源使用,这些资源包括计算、存储和网络组件。
在这种情况下,API的使用是通过HTTP实现的,使用GET、POST、PUT和DELETE这些请求,而大部分的任务通过GET和POST就可以完成。
在一些情况下,资源的表述是通过JavaScript对象符号(JSON)实现的,例如在Sun公司云计算规范中,SunCloud的API包含:
适用于所有请求和响应的共同行为
使用JSON数据结构描述的请求和响应的资源模型
可被提交到云计算资源的请求,以及期待的响应
所有SPI开发者都需要熟悉云计算平台上用于部署和管理软件模块的特定API。
SaaS通常仅提供基础输入输出功能的API,供通过HTTP(S)和网络URI(统一资源标识符)操作方式的浏览器或者脚本使用。
今天,云计算使用者面临的一个重要挑战是每个云计算服务提供商(CSP)都有各自独特的API。
这样的结果是,云计算程序无法方便地移植到其他的云计算平台,因此很难实现跨云计算平台(包括私有云)的应用程序互通性。
由于云计算服务的API是独特的,架构师、开发者以及数据中心人员必须熟悉各个云计算平台的独有特性。
虽然目前并没有云计算的API标准,在厂商和用户团体的推动下,标准化的工作正在快速进行着。
其中包括通用云计算接口(UCI),它试图为统一各种云计算API而创建开放的标准化云计算接口。
UCI论坛声明其目标是实现统一的编程交互方式,从而集成所有的基础设施栈、各种即将出现的云计算核心技术、统一的用户接口等。
截止到本书写作之时,我们尚未得知有云计算服务提供商在共同筹划开发普适、一致的跨云平台应用程序编程接口,而这项工作对于实现跨云计算平台的应用移植和数据共享具有里程碑式的重要意义。
市场的刺激也使得云计算服务提供商把他们的用户锁定在其自身的云计算产品中,认识到这点是十分重要的。
这也可能使简捷的互通性难以实现。
传统软件模式
(1)
2011-05-2620:
44刘戈舟/杨泽明/刘宝旭译机械工业出版社我要评论(0)字号:
T|T
《云计算安全与隐私》第2章什么是云计算,在本章我们尝试提供一些基础信息,包括目前云计算的标准交付方式、SPI以及云计算的种类。
我们还提供了关于采用云计算的益处以及采用云计算的一些障碍等方面的信息。
本节为大家介绍传统软件模式。
AD:
传统软件模式
(1)
传统应用程序软件建立在高昂的前期许可费用和每年的支持成本之上。
由于需要配置额外的硬件服务器以及IT支持,用户数目的增加会增大开销。
许可费用的标准通常不够全面,而且并非与软件的使用(服务器类型、CPU的数目,或者其他的物理特性等)相一致。
一个典型的企业软件包需要硬件部署、服务器、备份以及与企业内外的用户数目相匹配的网络配置。
保护重要资源不被未授权用户访问也同样加重了安全架构的压力。
传统的应用程序软件往往是高度可定制的,但这是以财力和人工为代价的。
云计算服务交付模式
如前所述,云计算服务交付模式通常公认为SPI模式,包括三种服务模式(参见图2-7)。
图2-7:
云计算服务交付模式
软件即服务模式
传统模式的软件购买包括用户装载软件到自己的硬件上,同时缴纳使用许可的费用(资本开支,常写作CapEx)。
用户也可以达成维护协议,从而得到软件的补丁程序或者其他支持服务。
用户需要考虑到软件与操作系统的兼容性、补丁的安装,以及遵守许可协议。
在SaaS模式下,用户并不购买软件,而是通过订购或者随用付费模式(运营成本,常写作OpEx),相当于租赁软件。
在一些情况下,服务是免费的,但软件的使用有约束。
特别的,购买的服务无论从硬件角度还是软件角度都是完备的,用户可通过任何经授权的设备访问这些服务。
在一些情况下,为了充分使用这些服务,以及与非该SaaS平台上的其他应用程序集成,需要预先创建企业特定的数据。
SaaS模式的主要优点包括:
.SaaS模式使得用户可以把应用程序的管理运营外包给第三方(软件商或者服务提供商),这样可以降低应用程序软件的软件许可、服务器以及其他基础设施的开销,其实也包括内部应用程序运维人员的费用。
SaaS模式使得软件商得以控制和限制软件的使用,遏制软件的复制和分发,促进了他们对软件所有衍生版本的控制。
SaaS的集中控制常常可以使得软件商或者供应商通过多个业务建立持续的收入,却不需要在用户的每个设备上都预装软件。
SaaS的应用程序交付模式很典型地运用了以网络作为基础设施的一对多的交付方式。
终端用户可以通过网络浏览器接入SaaS应用程序;有些SaaS提供商提供自己的接口,用以支持他们的应用程序的独有特性。
典型的SaaS部署通常不需要任何硬件就能在现有的互联网框架下运行。
有时为了使SaaS应用程序运行更加稳定,需要更改防火墙的规则和设置。
对终端用户来说,SaaS应用程序的管理需要提供商的支持。
虽然可以通过API设置SaaS应用程序,但无法实现完全定制。
典型的SaaS应用是通过公共网络的SaaS模式,这种模式中基于SaaS的应用程序可通过互联网传输到机构的防火墙。
用户的数目和所支持的应用程序是SaaS模式与传统软件模式架构最显著的不同之处。
传统软件模式是孤立的单用户模式,即顾客购买软件应用程序并安装在服务器上。
服务器只是运行特定的应用程序,并且只对特定的最终用户组提供服务。
SaaS模式是多重租赁架构模式,这意味着在物理上许多不同的用户共同分享硬件基础设施,但在逻辑上每个用户是独享的。
多用户结构设计最大化了用户间的资源分享,但仍可以安全区分每个用户所拥有的数据。
例如,一个公司的用户通过SaaS的客户关系管理(CRM)应用程序访问用户信息,这个用户所使用的应用程序实例可以同时为几十或者上百个不同公司的用户提供服务,而这些用户对于其他的用户是完全不知情的。
SaaS解决方案与应用服务提供商(ASP)的解决方案有着显著的不同。
这里有两种主要解释:
ASP应用程序是由第三方运行维护的传统的单用户应用程序。
这种client/server应用程序的前端是HTML,同时增加了远程访问功能。
ASP应用程序并不是网络本地应用程序。
因此它的表现可能很糟糕,并且应用程序的更新方面也和自我管理的本地应用程序一样差。
通过对比,SaaS应用程序是由有专长的商家运行维护的多用户应用程序,并且被设计为网络本地应用程序,而且定期进行日常升级。
平台即服务模式
在平台即服务模式(PaaS)中,供应商为应用程序开发人员提供环境,开发人员可以开发程序并通过供应商的平台提供服务。
供应商通常开发工具包和标准,以及用于分配和支付的渠道。
供应商通常通过提供平台以及分发和销售服务来得到支付。
这样通过很低的参与费用,就可以利用已建立好的客户渠道,快速传播软件应用程序。
PaaS是SaaS的变异,因为它将开发环境作为服务提供。
开发者使用供应商提供的开发环境的组成部分(例如预先定义的代码块)创建自己的应用程序。
对于PaaS解决方案的开发平台,开发工具位于云计算中,可以通过浏览器访问。
开发者通过PaaS可以构建网络应用程序而无须在自己的电脑上安装任何工具,也不需要任何专门的系统管理技能就可以部署应用程序。
PaaS系统是相当有用的,独立开发人员和正处于启动阶段的企业无须经历购买并搭建服务器,就可以部署基于网络的应用程序,在避免复杂工作的同时也大大削减了开销。
PaaS的优点在于大大增加了可以开发、维护以及部署网络应用程序的人数。
简言之,PaaS模式使得开发网络应用程序平民化,就像MicrosoftAccess平民化了client/server应用程序的开发一样。
如今,构建网络应用程序需要专业开发者具有三套高度专业的技能:
后台服务器端开发(如Java/J2EE)
前台客户端开发(如JavaScript/Dojo)
网站管理
PaaS使得一般开发者无须专门知识就可以构建网络应用程序,这样整批的MicrosoftAccess、LotusNote以及PowerBuilder开发者无须过多的学习就可以构建网络应用程序。
替代PaaS的方式是,也使用台式机开发工具构建网络应用程序,例如Eclipse或者MicrosoftAccess,然后手动部署这些应用程序到运行云计算环境的供应商处,例如AmazonWebServices(AWS)。
PaaS解决方案至少需要包含以下内容:
开发工作组的PaaS解决方案应是基于浏览器的。
终端到终端的PaaS解决方案应当提供运行在实际部署目标平台的高效的集成开发环境(IDE),这样调试和测试环节可以在与产品部署的相同背景下进行。
PaaS解决方案应当提供对外部Web服务和数据库的集成。
PaaS解决方案应当提供对应用程序以及用户行为的全面监控,以帮助开发者了解他们的应用程序以及改善效果。
PaaS解决方案应当在不需要添加额外的开发、配置或者其他开销的情况下,在内部就已经建立起可扩展性、可靠性和安全性。
必须在不附加任何工作的前提下就能够实现多重租赁(应用程序自动配置状态和数据,用以服务众多用户的能力)的特性。
PaaS解决方案应当在整个软件生命周期(开发、测试、文档和操作)同时提供常规协作以及远程协作,同时维护源代码及相关知识产权的安全性。
PaaS解决方案应当提供现收现付的计费方式。
表2-1描述了典型PaaS的不同组成部分。
表2-1:
PaaS组成部分
传统软件模式
(2)
PaaS平台区别于传统开发平台的功能还包括:
多用户的开发工具传统开发工具旨在为单个用户提供技术支持;而基于云计算的工作平台必须支持多用户,每个用户还可以有多个活动项目。
多用户的开发架构初步开发工作常常不考虑可扩展性,而是搁置直到项目部署后由系统管理员来处理。
在PaaS模式下,内建了应用程序和数据的可扩展性(例如,负载均衡和透明切换应当是开发平台的基本要素)。
综合管理传统的开发解决方案(通常)不涉及运行期的监控,但在PaaS模式下,运行期监控应当内建在开发平台中。
综合计费PaaS产品的收费机制是基于使用的,这点与SaaS完全不同。
表2-2对比了内部开发平台与PaaS平台的灵活性。
表2-2:
内部开发平台与PaaS开发平台的比较
基础设施即服务模式
在传统托管应用模式中,供应商为用户运行其应用程序提供完整的基础设施,通常这涉及安放为特定的应用程序购置或租用的专用硬件。
IaaS模式也提供运行应用程序的基础设施,但云计算方案实现了按使用付费的模式并可按需扩展规模。
从IaaS提供商的角度看,构建的基础设施可以处理用户在高峰和低谷时期运行的需求,并且可以在总需求增加时扩充运行能力。
类似地,在托管应用模式上,IaaS提供商可以独自处理应用程序托管,也可以扩展出其他的服务(例如应用程序支持、应用程序开发以及增强),以及支持更全面的IT外包。
IaaS模式与效用计算比较类似,后者的基本思想是像提供工具一样去提供计算服务。
这意味着,你只需为实际消耗的处理能力、磁盘空间等付费。
IaaS是典型的在线云计算服务,它为用户抽象了基础设施的细节,包括物理计算资源、地理位置、数据分割、改变规模、安全性、备份等。
在云计算中,供应商全面控制基础设施。
相反地,效用计算用户寻求的服务是让用户自己通过提供商的资源去部署、管理和改变在线服务的规模,并根据用户的资源消费付账。
不过用户还是希望可以掌控基础设施的地理位置,以及每个服务器上到底运行着什么。
典型的IaaS系统功能包括:
可扩展性可根据基于使用需求改变基础设施规模的功能,例如计算资源、内存和存储(以接近实时的速度改变)
现收现付可以在任何特定时间购买准确数量的基础设施的功能。
最先进的技术和资源只要少量的开销就可以得到最先进的解决方案以及优秀的IT人才资源。
云计算部署模式
2011-05-2620:
44刘戈舟/杨泽明/刘宝旭译机械工业出版社我要评论(0)字号:
T|T
《云计算安全与隐私》第2章什么是云计算,在本章我们尝试提供一些基础信息,包括目前云计算的标准交付方式、SPI以及云计算的种类。
我们还提供了关于采用云计算的益处以及采用云计算的一些障碍等方面的信息。
本节为大家介绍云计算部署模式。
AD:
云计算部署模式
云这个词是对互联网的比喻,是对组成互联网的复杂交互的设备和连接的一种简化表达。
私有云和公共云是根据云与企业间的关系定义的,是互联网的子集。
私有云和公共云也可以称为内部云和外部云;其区别在于云计算与企业的关系。
公共云和私有云的概念十分重要,因为它们支撑着云计算,而云计算通过互联网连接着供应商或IT企业与客户,并提供动态的、可扩展的、虚拟化的资源并借此收费。
使用云计算服务的终端用户并不需要了解、精通或者控制支撑这些服务的技术基础设施。
云计算基础设施主要由各种可靠的服务组成,这些服务通过数据中心交付,并使用不同层次的虚拟化技术在服务器上构建。
能够访问网络基础设施就可以访问到这些服务,用户的计算需求都通过访问云计算实现。
商业服务应符合客户对服务质量的要求,通常要提供服务水平协议(SLA)。
开放式标准对云计算的发展是十分重要的,而开源软件已为许多云计算的实现铺垫了基石(例如在AWS中Xen的使用)。
公共云
公共云也称外部云,描述了云计算的传统主流含义。
这种模式的特点是,由外部或者第三方提供商采用细粒度、自服务的方式在Internet上通过网络应用程序或者Web服务动态提供资源,而这些外部或者第三方提供商基于细粒度和效用计算方式分享资源和费用。
公共云是建立在一个或多个数据中心并由第三方供应商操作和管理的。
服务通过公共的基础设施提供给多个用户(云计算就是为多用户服务的),参见图2-8。
在公共云中,安全管理以及日常操作是划归给第三方供应商的,由第三方供应商负责公共云服务产品。
因此,相对于私有云而言,公共云服务产品的用户对于云计算的物理安全以及逻辑安全层面的掌控及监管程度较低。
私有云
私有云也称内部云,用来描述建立在私有网络上的类似云计算的产品。
这些产品(通常是虚拟化和自动化的)声称可以实现云计算的优点,但不具有云计算所存在的不足,可以充分解决数据安全、企业管理和可靠性问题。
相应地,企业必须购买、建造以及管理自己的云计算环境,这样就无法获得较低的前期费用开销,也无法实现较少的维护管理等。
私有云企业用户需要对其私有云的管理全权负责。
图2-8:
公共云
私有云与公共云的区别在于,与私有云相关的网络、计算以及存储等基础设施都是为单独机构所独有的,并不与其他的机构分享(例如,为企业用户单独定制的云计算)。
由此,私有云出现了多种模式:
专用的私有云运行在用户拥有的数据中心或者相关设施上,并由内部IT部门操作。
团体的私有云位于第三方位置,在定制的服务水平协议(SLA)及其他安全与合规的条款约束下,由供应商拥有、管理并操作云计算。
托管的私有云的基础设施由用户所有,并托管给云计算服务提供商。
大体上,在私有云计算模式下,安全管理以及日常操作是划归到内部IT部门或者基于SLA合同的第三方。
这种直接管理模式的好处在于,私有云用户可以高度掌控及监管私有云基础设施(管理程序以及虚拟操作系统)的物理安全和逻辑安全层面。
这种高度可控性和透明度,使得企业容易实现其安全标准、策略以及合规。
混合云
机构的云计算部署也可能是由内部及外部供应商构建的混合云计算模式。
使用混合云计算模式,机构应当在公共云上运行非核心应用程序,而在私有云上支持其核心程序以及内部敏感数据(参见图2-9)。
图2-9:
混合云
图2-10例举了云计算服务提供商(CSP)
图2-10:
CSP例举及各自的服务
通过整合云计算组件来提供的服务在逐步改进,障碍逐渐被克服,云计算的能力也在逐渐增强。
首要考虑的一个问题是信任问题,一个公司或者个人的信息既是安全的又是隐秘的。
在云计算的所有范围内建立这种信任,将会是个重要的里程碑。
采用云计算的主要驱动因素
2011-05-2620:
44刘戈舟/杨泽明/刘宝旭译机械
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 SPI 框架
![提示](https://static.bdocx.com/images/bang_tan.gif)