范文一:云计算架构
云计算架构
求助编辑百科名片
云计算——至少作为虚拟化的一种延伸,影响范围已经越来越大。但是,目前云计算还不能支持复杂的企业环境。因此云计算架构呼之欲出,经验表明,在云计算走向成熟之前,我们更应该关注系统云计算架构的细节。基于对现有的一些云计算产品的分析和个人一些经验,总结出一套云计算架构,云计算架构主要可分为四层。 目录
云计算的架构层
参考资料
云计算的架构层
参考资料
展开
编辑本段云计算的架构层
显示层
多数据中心云计算架构这层主要是用于以友好的方式展现用户所需的内容,并会利用到下面中间件层提供的多种服务,主要有五种技术:
HTML:标准的Web页面技术,现在主要以HTML4为主,但是将要推出的HTML5会在很多方面推动Web页面的发展,比如视频[1]和本地存储等方面。
JavaScript:一种用于Web页面的动态语言,通过JavaScript,能够极大地丰富Web页面的功能。
CSS:主要用于控制Web页面的外观,而且能使页面的内容与其表现形式之间进行优雅地分离。
Flash[2]:业界最常用的RIA(Rich Internet Applications)
技术,能够在现阶段提供HTML等技术所无法提供的基于Web的富应用,而且在用户体验[3]方面,非常不错。
Silverlight:来自业界巨擎微软[4]的RIA技术,虽然其现在市场占有率稍逊于Flash,但由于其可以使用C#[5]来进行编程,所以对开发者非常友好。
中间层
这层是承上启下的,它在下面的基础设施层所提供资源的基础上提供了多种服务,比如缓存服务和REST服务等,而且这些服务即可用于支撑显示层,也可以直接让用户调用,并主要有五种技术:
REST:通过REST技术,能够非常方便和优雅地将中间件层所支撑的部分服务提供给调用者。
多租户:就是能让一个单独的应用实例可以为多个组织服务,而且保持良好的隔离性和安全性,并且通过这种技术,能有效地降低应用的购置和维护成本。
并行处理:为了处理海量的数据,需要利用庞大的X86集群进行规模巨大的并行处理,Google的MapReduce是这方面的代表之作。
应用服务器:在原有的应用服务器的基础上为云计算做了一定程度的优化,比如用于Google App Engine的Jetty应用服务器。
分布式缓存:通过分布式缓存技术,不仅能有效地降低对后台服务器的压力,而且还能加快相应的反应速度,最著名的分布式缓存例子莫过于Memcached。
基础设施层
这层作用是为给上面的中间件层或者用户准备其所需的计算和存储等资源,主要有四种技术:
虚拟化:也可以理解它为基础设施层的“多租户”,因为通过虚拟化技术,能够在一个物理服务器上生成多个虚拟 机,并且能在这些虚拟机之间能实现全面的隔离,这样不仅能减低服务器的购置成本,而且还能同时降低服务器的运维成本,成熟的X86虚拟化技术有 VMware的ESX和开源的Xen。
分布式存储:为了承载海量的数据,同时也要保证这些数据的可管理性,所以需要一整套分布式的存储系统。
关系型数据库:基本是在原有的关系型数据库的基础上做了扩展和管理等方面的优化,使其在云中更适应。
NoSQL:为了满足一些关系数据库所无法满足的目标,比如支撑海量的数据等,一些公司特地设计一批不是基于关系模型的数据库。
管理层
这层是为横向的三层服务的,并给这三层提供多种管理和维护等方面的技术,主要有下面这六个方面:
帐号管理:通过良好的帐号管理技术,能够在安全的条件下方便用户地登录,并方便管理员对帐号的管理。
SLA监控:对各个层次运行的虚拟机,服务和应用等进行性能方面的监控,以使它们都能在满足预先设定的SLA(Service
Level Agreement)的情况下运行。
计费管理:也就是对每个用户所消耗的资源等进行统计,来准确地向用户索取费用。
安全管理:对数据,应用和帐号等IT[6]资源采取全面地保护,使其免受犯罪分子和恶意程序[7]的侵害。
负载均衡:通过将流量分发给一个应用或者服务的多个实例来应对突发情况。
运维管理:主要是使运维操作尽可能地专业和自动化,从而降低云计算中心的运维成本。
云计算架构其中有三层是横向的,分别是显示层、中间件层和基础设施层,通过这三层技术能够提供非常丰富的云计算能力和友好的用户界面,云计算架构还有一层是纵向的,称为管理层,是为了更好地管理和维护横向的三层而存在的。 编辑本段参考资料
云计算定义
一种计算模式:把IT资源、数据、应用作为服务通过网络提供给用户(IBM)
一种基础架构管理方法论:把大量的高度虚拟化的资源管理起来,组成一个大的资源池,用来统一提供服务(IBM)
以公开的标准和服务为基础,以互联网为中心,提供安全 、快速、便捷的数据存储和网络计算服务(Google)
云计算所使用的技术
Google的云计算平台与应用
分布式文件系统( Google File System )
MapReduce编程模式
分布式锁机制Chubby
分布式数据库BigTable
IBM蓝云计算平台
虚拟机的使用
存储结构
范文二:云计算架构方案
云技术架构方案
目 录
1 云计算架购............................................................................................................................... 3
2 基础设施即服务IaaS............................................................................................................... 3 2.1 基础设施 ....................................................................................................................... 3
2.1.1 功能介绍 ........................................................................................................... 3
2.1.2 实现技术 ........................................................................................................... 4
2.1.3 服务收费方案 ................................................................................................... 4
2.1.4 开发项目 ........................................................................................................... 4 2.2 数据存储 ....................................................................................................................... 4
2.2.1 功能介绍 ........................................................................................................... 4
2.2.2 实现技术 ........................................................................................................... 4
2.2.3 服务收费方案 ................................................................................................... 5
2.2.4 开发项目 ........................................................................................................... 5 2.3 计算服务 ....................................................................................................................... 5
2.3.1 功能介绍 ........................................................................................................... 5
2.3.2 实现技术 ........................................................................................................... 5
2.3.3 服务收费方案 ................................................................................................... 5
2.3.4 开发项目 ........................................................................................................... 5 2.4 负载均衡 ....................................................................................................................... 5
2.4.1 功能介绍 ........................................................................................................... 5
2.4.2 实现技术 ........................................................................................................... 6
2.4.3 服务收费方案 ................................................................................................... 6
2.4.4 开发项目 ........................................................................................................... 6 2.5 监测服务 ....................................................................................................................... 6
2.5.1 功能介绍 ........................................................................................................... 6
2.5.2 实现技术 ........................................................................................................... 6
2.5.3 服务收费方案 ................................................................................................... 6
2.5.4 开发项目 ........................................................................................................... 6
3 平台即服务PaaS ...................................................................................................................... 7 3.1 Web应用引擎 .............................................................................................................. 7
3.1.1 功能介绍 ........................................................................................................... 7
3.1.2 实现技术 ........................................................................................................... 7
3.1.3 服务收费方案 ................................................................................................... 7
3.1.4 开发项目 ........................................................................................................... 7
4 软件即服务SaaS ...................................................................................................................... 7
5 服务支付系统 ........................................................................................................................... 7 5.1 功能介绍 ....................................................................................................................... 7 5.2 实现技术 ....................................................................................................................... 8 5.3 服务收费方案 ............................................................................................................... 8 5.4 开发项目 ....................................................................................................................... 8
1 云计算架购
2 基础设施即服务IaaS
2.1 基础设施
2.1.1 功能介绍
主机虚拟化:主要功能是在一台主机上安装多个操作系统,每个操作系统为一个实
例。可以把这个实例考到其他主机进行运行。
存储虚拟化:在主机创建实例时,可以分配所需要的内存大小,硬盘大小。
网络虚拟化:管理每个实例的IP地址。
2.1.2 实现技术
要实现主机,存储,网络的虚拟化,开源软件eucalyptus,xen,linux进行组合可以
实现。
xen创建虚拟机,负责虚拟机的运行。
Eucalyptus与xen结合实现虚拟机的创建。可以对虚拟机的内存、硬盘容量、网络
的进行设置,可以释放一个虚拟机。
2.1.3 服务收费方案
根据cpu的位数(32位或64位),cpu的个数,内存的大小,硬盘的大小,网络带
宽按月租订收费额。
2.1.4 开发项目
开发“云实例管理系统”。
系统介绍:实现云实例的创建,内存、硬盘的分配,网络的配置。虚拟机使用开源
代码xen或kvm。在ubuntu-9.10 linux操作系统部署。
2.2 数据存储
2.2.1 功能介绍
数据存储即服务,在云中提供数据存储服务,使用分布式数据库hadoop的HBase
开源代码为主,提供稳定,高效的数据存储服务功能。
2.2.2 实现技术
面向对象数据库虚拟化DataNucleus
IaaS
HBase 分布式数据库
用开源软件DataNucleus+HBase实现。DataNucleus一个把数据库转换成对象数据库
的中间件。HBase一个分布式数据库,把数据库冗余存储,一台数据库有问题,不影响
正常使用,可以在另外一台联网的新数据库服务器上快速同步数据库数据。
2.2.3 服务收费方案
根据数据量的大小收费。
2.2.4 开发项目
开发“云存储系统”。
系统介绍:云存储系统,在网络端提供数据库服务。使用开源软件
DataNucleus+HBase开发。
2.3 计算服务
2.3.1 功能介绍
提供一个高效率的计算中心,计算中心可以分布部署上百台pc服务器,一个计算任
务可以在这上百台计算机同时计算,得出结果。
2.3.2 实现技术
使用hadoop的MapReduce开源技术实现,是一个编程模型,运行计算的平台。把
一个计算的数据分成若干份,分发到各个计算机,把计算程序分发到各个计算机,在各
个计算机进行计算后,再把结果汇总,得出结果。
2.3.3 服务收费方案
根据计算占用机子的个数收费。
2.3.4 开发项目
开发“云计算服务系统”。
系统介绍:用户提交数据与按MapReduce规定编写的计算程序,进行计算。 2.4 负载均衡
2.4.1 功能介绍
负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理。同时实现
tomcat1,tomcat2的集群,主要实现session同步。
2.4.2 实现技术
使用开源技术Apache+tomcat+ mod_jk 2.4.3 服务收费方案
根据负载计算机的个数收费。
2.4.4 开发项目
开发“云计负载均衡系统”。
系统介绍:负载均衡,tomcat的系统集成。
2.5 监测服务
2.5.1 功能介绍
Chukwa是Yahoo开发的Hadoop之上的数据采集/分析框架,主要用于日志采集/分
析。该框架提供了采集数据的Agent,由Agent采集数据通过HTTP发送数据给Cluster
的Collector,collector把数据sink进Hadoop,然后通过定期运行Map reducer来分析
数据,将结果呈现给用户。
2.5.2 实现技术
使用Hadoop的Chukwa开源技术实现。
2.5.3 服务收费方案
免费
2.5.4 开发项目
开发“云监控服务系统”。
系统介绍:主要多云计算,运存储服务的性能进行监控。
3 平台即服务PaaS
3.1 Web应用引擎
3.1.1 功能介绍
在该平台上可以部署j2ee程序,提供访问数据库的api。
3.1.2 实现技术
使用tomcat集群技术,apache负载均衡技术实现。用户需要下载web应用引擎开
发包进行本地开发。开发包包括,tomcat,jdk,数据库API。运行环境在本地运行,但
数据库连接远程数据存储服务。
3.1.3 服务收费方案
根据存储服务大小,用户访问量大小,使用机子个数收费。
3.1.4 开发项目
开发“web 应用引擎系统”。
系统介绍:用户开发的j2ee程序可以在该平台稳定的运行,用户可以下载开发环
境包进行本地开发,本地运行调试。远程部署用户的程序。
4 软件即服务SaaS
公司的软件都可以开发成saas
5 服务支付系统
5.1 功能介绍
管理用户资源,可以管理用户使用IaaS,PaaS,SaaS的费用。根据用户付费情况,有
开通服务,停止服务的功能。与银行接口连接,实现转帐,查询等功能。
5.2 实现技术
独立开发,银行提供网上银行接口。
5.3 服务收费方案
根据存储服务大小,用户访问量大小,使用机子个数收费。
5.4 开发项目
开发“服务支付系统”。
系统介绍:用户使用云计算,必须注册帐户,根据服务的收费情况,给固定帐户转
入金额后,才可以使用定制的服务。如果在使用的过程中费用不足,将会短信给用户发
送提示信息,过一定时间将会自动停止服务。
范文三:浅谈云计算架构
浅谈 Google 云计算架构
成都信息工程大学信息安全工程学院
方欣 方睿 廖勇
摘要:本文通过对 google 云计算架构的介绍,分析数据在云计算中存储,读取, 获取等一系列技术,本文将 google 云计算分为两部分分别为外网与内网,从两 个部分讲解 google 云计算架构,重点分析云计算架构的原理。
关键字:云计算,平台,架构,技术,网络
Introduction to Google cloud computing architecture
Abstract :Based on the introduction to Google cloud computing architectures, analyze the data stored in the cloud computing, to read, access and a series of technology, this article will Google cloud computing is divided into two parts, respectively for the outside network and Intranet, from the two parts on Google cloud computing architectures, focuses on analyzing the principle of cloud computing architectures.
Key words: Cloud computing ,platform, architecture, technology, and networks
1、 引言
云计算 (Cloud computing) 是继 20世纪 80年代由大型计算机向客户端 /服务器 (C/S) 模式大转变后,信息技术的又一次革命性变化。 2006年 8月 9日, Google 首席执行官 Eric Schmidt 在搜索引擎大会(SES San Jose 2006)上首次提出云计算概念。云计算是网格计算, 分布式计算,并行计算、效用技术、网络存储、虚拟化和负载均衡等传统计算机和网络技术 发展融合的产物。其目的是通过基于网络的计算方式,将共享的软件 /硬件资源和信息进行组 织整合,按需提供给计算机和其他系统使用。
而本文就是从 google 云计算架构的角度来说明,云计算的原理,从云计算概念出发, 自下而上的介绍云计算的关键技术,通过将客户到云计算之间的通信过程,本文将云计算分 为两个部分,分别为外网和内网,并分析各种的关键技术。
2、云计算概念
2.1 什么是云计算
美国国家标准技术研究院(NIST )将云计算定义为“一种无处不在的、便捷的且按需的 对一个共享的可配置的计算资源(如网络、服务器、存储、应用和服务)进行网络访问的模 式,它能够通过最少两的管理或服务供应商的互动实现计算资源的迅速供给和释放。” IBM 认为云计算一种计算模式:把 IT 资源、数据、应用作为服务通过网络提供给用户 (IBM )
Google 认为云计算以公开的标准和服务为基础,以互联网为中心,提供安全、快速、便 捷的数据存储和网络计算服务。
2.2 云计算特征
云计算的定义各有各的理解,但是核心思想是一样的。根据 NIST 的定义,云计算具有 五个关键特征:(1)按需自服务,用户在需要时自动配置计算能力;(2)宽度接入,利用 网络支持各种标准接入手段;(3)虚拟化的资源 “ 池 ” ,按照用户需要,将物理和虚拟化资源 进行动态分配和管理;(4)弹性架构、服务可以快速弹性地供应;(5)可测量服务。
2.3 云计算服务
云计算具有三种典型的交付模式:(1)软件即服务(SaaS ),提供给用户以服务的方式 使用应用程序的能力; (2)平台即服务(PaaS ),提供给用户在云基础设施之上部署和使用 开发的环境的能力;(3)集成设施即服务(IaaS ),提供给用户以服务的方式使用处理器、 存储、网络以及其它基础性计算资源的能力。
云计算具有四种部署模型:(1)公开云,即为外部客户提供服务的云,服务对象没有特 定限制;(2)私有云,即专供内部使用的云平台,不向外提供服务;(3)社区云,即云基 础设施由多个组织分享, 以支持特定的社区; (4) 混合云, 云基础设施由两个或多个云组成。
3、 Google 云计算架构技术
云计算架构从图 1,可知,访问服务可以分为两个部分,从客户到云计算的一部分通信和 云计算内部处理数据通信的一部分,我将这两部分为了外网和内网。
图 1
3.1 外部网络系统
当一个互联网用户输入 www.google.com 时候, URL 请求就会发通过 DNS 解析服务器获取 到对应的 IP 地址, 然后 Google 的 DNS 服务器会根据用户原 IP 地址来判断, 这个用户请求来 自哪个国家,哪个地区,根据不同用户的 IP 地址信息,解析到不同的 Google 的数据中心。 进入第一道防火墙,这次防火墙主要根据不同端口来判断应用,过滤相应的流量。如 果仅仅接受浏览器应用的访问,一般只会开放 80端口 http ,和 443端口 https (通过 SSL 加 密)。将其他的来自互联网的非 ip4/ip6h和非 80/443端口的请求都放弃,避免遭受互联网 上大量的 DOS 攻击。
3.1.1 外部网络数据传输技术
(1)、在大量的 web 应用服务器群前, Google 使用反向代理(reverse proxy)的技术。反 向代理方式是指以代理服务器来接受 Internet 上的连接请求, 然后将请求转发给内部网络上 的服务器, 并将从服务器上得到的结果返回给 Internet 上请求连接的客服端, 此时代理服务 器对外就表现为一个服务器。
(2)、 Google 使用的是 squid cache的软件方式来实现反向代理应用,它是一个流行的自 由软件的代理服务器和 web 缓存服务器, squid 有广泛的用途, 作为网页服务器的前置 cache 服务器缓存相关请求来提供 web 服务器的速度。
3.2 内部网络系统
3.2.1 内部网络架构介绍
Google 拥有跨国的光纤网络,连接跨地区,跨国家的高速光纤网络,内部网络已经都是 ipv6的协议在运行。内部网关协议是基于 OSPF 进行修改的,在每个服务器机架内部连接每 台服务器之间网络是 100M 以太网,在服务器机架之间连接的网络是 1000M 以太网。大规模 ID C(Internet Data Center )部署战略 Google目前是世界上存储信息最多的企业。将 这样海量的信息进行存储、进行处理,就需要大量的计算机服务器, Google 很早就进行了全 球的数据中心的布局,目前运行了 38个大型的 IDC 中心,超过 300多个 GFSII 服务器集群, 超过 80万台计算机。部署图如图2所示。
图2
在每个服务器机架内,通过 IP 虚拟服务器(IP Virtual Server )的方式实现传输层 负载 Linux 内核内的平衡,四层 LAN 交换。 Ipvs 使一个服务器机架中的众多服务成为基于 Linux 内核虚拟服务器。就如一堆服务器前安装一个负载均衡的服务器一样。当 TCP/UDP的 请求过来后,使一群服务器可以使用一个单一的 IP 地址来对外提供相关的服务支撑。
内部网络架构图,如图 3所示:
图 3
在 Google web应用服务器需要调用 Google 内部存储信息和资源的时候,通过一个防火 墙进入内部的网络, 访问 GFS 系统应用服务和数据库 , 然后需要的核心技术构成实现云计算服 务的基础。(1)分布式文件系统(Google File System);(2) 分布锁(Chubby );(3) Map-Reduce 编程模式 ; (4)分布式数据库 BigTable 。
3.2.2内部网络架构技术
3.2.2.1 IPVS负载均衡
IPVS 负载均衡的连接是粒度的,在 HTTP 协议中,每个对象从 Web 服务器上获取需建立 一个 TCP 连接,同一用户的不同请求会被调度到不同的服务器上,这种细粒度的调度在一定 程度上可以避免单个用户访问的突发性引起服务器间的负载不平衡。
(1) IPVS系统的实现
系统实现的基本框架,如图 3所示:
图 4
其中“VS Schedule & Control Module”是虚拟服务器的主控模块,它挂接在 IP 报文遍历的 LOCAL_IN链和 IP_FORWARD链两处,用于截取 /改写 IP 报文;“VS Rules Table”用于存放 虚拟服务器的规则, “Connections Hash Table”表是用于记录当前连接的 Hash 表; “ Stale Connection Collector”模块用于回收已经过时的连接;“Statistics Data”表记录 IPVS 的统计信息。用户空间的 ipvsadm 管理程序通过 setsockopt()函数将虚拟服务器的规则写入 “VS Rules Table”表中,通过 /proc文件系统把“VS Rules Table”表中的规则读出。 (2) IPVS的实例
当一个 IP 报文到达时,若报文的目标地址是本地的 IP 地址, IP 报文会转到 LOCAL_IN链 上,否则转到 IP_FORWARD链上(然后怎么处理?)。 IPVS 模块主要挂接在 LOCAL_IN链和 IP_FORWARD链两处。当一个目标地址为 Virtual IP Address的报文到达时(说明是这个集 群里的地址,应转发报文给相应的服务器),该报文会被挂接在 LOCAL_IN链上的 IPVS 程序 捕获, 若该报文属于在连接 Hash 表中一个已建立的连接, 则根据连接的信息将该报文发送到 目标服务器, 否则该报文为 SYN 时, 根据连接调度算法从一组真实服务器中选出一台服务器, 根据 IP 负载调度设置的规则将报文发送给选出的服务器, 并在连接 Hash 表中记录这个连接。 挂接在 IP_FORWARD链上的 IPVS 程序是改写 VS/NAT中服务器响应报文的地址。
3.2.2.2GFS
(1) GFS 来源。一次写入、多次读取的处理模式 Google 需要支持对文件进行大量的批量数 据写入操作,并且是追加方式的,即写入操作结束后文件就几乎不会被修改了,与此同时, 随机写入的方式可以支持,但不进行专门的优化。高并发性系统平台需要支持多个客户端同 时对某一个文件的追加写入操作,这些客户端可能分步在几百个不同的。节点上,同时需要 以最小的开销保证写入操作的原子性。 GFS 由一个 master 和大量块服务器构成。
(2) GFS 在内部网络中的作用。 GFS 位于这些技术的最底层,负责许多服务器、机器数据的 存储工作。它将一个大体积数据(百兆,千兆级别)分隔成固定大小的数据块放到 3个服务 器上,这样做的目的是当一个服务器发送故障时,可以将数据迅速从另外一个服务器上恢复 过来。两个服务器做备份,主服务器出错,备份服务器可以比配数据,更正主服务器上出错 的数据。
(3) GFS 详解。 GFS 上的块服务器上的存储空间以 64MB 为单位,分成很多的存储块,由主 服务器来进行存储内容的调度和分配。每一份数据都是一式三份,将统一的数据分布存储在 不同的服务器集群中,以保证数据的安全性和吞吐的效率提高。当需要对于文件、数据进行 存储的时候,应用程序之间将需求发给主服务器,主服务器根据所管理的块服务器的情况, 将需要存储的内容进行分片,并将可以存储的消息,由应用程序下面的 gfs 接口对文件和数 据直接存储到相应的块存储服务器当中。块存储服务器要定时通过心跳信号的方式告知主服 务器,一旦心跳信号出了问题,主服务器会自动将有问题的块存储服务器的相关内容进行复 制,保证数据的安全性。而将同一个文件分割成多个小文件存储在服务器上,然后在读取文 件的时候,通过一个相同的编号连接起来。 GFS 图解如 5所示。
图 5
(3) GFS 特点。系统集成了容错以及自动恢复功能,文件以 G 字节计,包含大量小文件,可 以方便地增加 Chunk Server,避免大量读操作使 master 成为系统瓶颈,客户端不直接通过 master 读取数据,而是从 master 获取目标数据块的位置信息后,直接和块服务器交互进行 读操作。
(4) GFS 容错机制。 Master 容错:Chunk 与文件名映射。 Chunk 副本的位置信息(默认有三 个副本),单个 master ,对于前两种元数据, GFS 通过操作日志来提供容错功能。第三种元 数据信息保存在各个 ChunkServer 上, Master 故障时,磁盘恢复。 GFS还提供了 Master 远
程的实时备份 , 防止 Master 彻底死机的情况。 Chunk Server容错:采用副本方式实现 Chunk Server 容错, 每一个 Chunk 有多个存储副本 (默认为三个) , 分布存储在不同的 Chunk Server 上用户态的 GFS 不会影响 Chunk Server 的稳定性, GFS 中的每一个文件被划分成多个 Chunk , Chunk 的默认大小是 64MB , Chunk Server存储的是 Chunk 的副本,副本以文件的形式进行存 储 ,每个 Chunk 又划分为若干 Block (64KB ),每个 Block 对应一个 32bit 的校验码,保证 数据正确(若某个 Block 错误,则转移至其他 Chunk 副本)。
3.2.2.3 分布式锁 Chubby
(1) Chubby在内部网络的的作用。主要拥有解决分布式一致性问题
在一个分布式系统中,有一组的进程,它们需要确定一个 value ,于是每个 process 都踢出 来一个 value ,一致性就是指只有其中的一个 value 能够被选中作为最后确定的值,并且当 一个值被选出来以后,所有的进程都需要被通知到。比如, GFS 使用 Chubby 选取一个 GFS 主 服务器 , Bigtable 使用 Chubby 指定一个主服务器并发现、控制与其相关的子表服务器 , Chubby 还可以作为一个稳定的存储系统存储包括元数据在内的小数据 , Google 内部还使用 Chubby 进行名字服务(Name Server)。
(2) Chubby 技术实现。 Leslie Lamport 最先提出的一种基于消息传递的一致性算法,用于 解决分布式系统中的一致性问题,也就是 Paxos 算法。
3.2.2.4 Map-reduce
(1) Map-reduce 定义。 Google 构造了 map-reduce 编程框架来支持并行计算,应用程序编写 人员只需将精力放在应用程序本身,关于如何通过分布式的集群来支持并行计算,包括可靠 性和可扩展性,则交由平台来处理,从而保证了后台复杂的并行执行和任务调度向用户和编 程人员透明。 Map-reduce 是一种处理和产生大规模数据集的编程模型,同时也是一种高效的 任务调度模型, 它通过 map 和 reduce 构成运输基本单元, 程序员在 map 函数中指定对各分块 数据的处理过程, 在 reduce 函数中指定如何对分块数据处理的中间结果进行归约, 就能完成 分布式的并行程序开发。程序员不需要关心如何将输入的数据分块。分配和调度,同时系统 还将处理集群内节点失败以及节点间通信的管理等。图解如 6所示。
图 6
(2) MapReduce 在内部网络中的作用。 MapReduce (映射 -化简),是 Google 提出的一个软 件架构,它是 Google 开发 C++编程工具,用于大于 1TB 数据的大规模数据集并行计算。实现 跨越大量数据结点将任务进行分割,使得某项任务可被同时分拆在多台机器上执行。例如, 把一项搜索任务拆成一两百个小的子任务,经并行处理后,将运算结果在后台合并,最后把 最终结果返回到客户端。
(3)可靠性与分布。 Mapreduce 通过把对数据集的大规模操作分发给网络上的每个节点实现 可靠性,每个节点会周期性的把完成的工作和状态的更新报告回来。若节点保持沉默超过预 设的时间间隔,主节点(master )记录下这个节点状态为死亡,并把分配给这个节点的数据 发到别的节点。每个操作使用命名文件的原子操作以确保不会发生并行线程间的冲突;当文 件被改名的时候,系统可能会把他们复制到任务名以外的另一个名字上去。
化简操作在并行能力较差,主节点会尽量把化简操作调度在一个节点上,或者需要操作 的数据尽可能进的节点上了。
(4) Map-reduce 编程实例。
统计文本中单词数目:map 函数, 将文本中所有出现的单词都按照出现计算 1(以 key-value 对的形式)发射到 mapreduce 给出的一个中间临时空间中。 reduce 函数:把计算累加在一起 获得最后结果。实现代码如图 7所示。
图 7
(5) Mapreduce 优点。执行一个 map-reduce 程序需要 5个步骤:输入文件,将文件分配给 多个 worker 并行地执行,写中间文件,多个 reduce worker 同时运行,输入最终结果。本地 写中间文件减少了对网络带宽的压力,同时减少了写中间文件的时间耗费;执行 reduce 时, 根据从 master 获得的中间文件位置信息, reduce 使用远程过程调用,从中间文件所在节点
读取所需的数据。 map-reduce 模型具有很强的容错性,当 worker 节点出现错误时,只需要 将该 worker 节点屏蔽在系统外等待修复, 并将该 worker 上执行的程序迁移到其他 worker 上 重新执行,同时将该迁移信息通过 master 发送给需要改节点处理结果的节点。 map-reduce 使用检查点的方式来处理 master 出差失败的问题,当 master 出现错误时,可以根据最近的 一个检查点重新选择一个节点作为新的 master 。
3.2.2.4 Bigtable
(1)分布式数据库 Bigtable 的简介。 由于 Google 的许多应用 (如 output 、 RSS 阅读器, Search 、 History 等)需要管理大量的格式化以及半格式化数据,上述应用的共同特点是需要支持海 量的数据存储,读取后进行大量的分析,数据的读操作频率远大于数据的更新频率等,为此 Google 开发了弱一致性要求的大规模数据库系统 -bigtable 。 bigtable 针对数据读操作进行 了优化,采用基于列存储的分布式数据管理模式以提高数据读取效率, bigtable 的基本元素 是行、列、记录板和时间戳。
(2) Bigtable 在内部网络系统的作用。 Bigtable ,作为 Google 一种对于半结构化数据进行 分布存储和访问的接口或服务, 它是建立在 GFS 和 Mapreduce 之上的结构化分布式存储系统, 可以帮助 Google 最大限度利用已有的数据存储能力和计算能力,在提供服务时降低运行成 本 。
(3) Bigtable 数据模型。行列以及每个存储单位都有一个时间戳,在不同的时间对同一个 存储单位有多份拷贝,这样就可以记录数据的变动情况,不同单元格的版本都有存储在时间 戳顺序递减,因此,最近的版本可以首先阅读。按行来划分,将多行组成一个小表,存放到 服务器节点,图解如图 8所示。
图 8
而存储网页如图 9所示:
图 9
这一“行”的名字是网页的反向 URL — com.cnn.www, 名为“contents”:的这一“列”存储 网页内容,带有名为“anchor”的列存储所有引用该网页的锚文本。 CNN 的首页被 cnnsi.com 与 my.look.ca 这两个网站的首页引用,所以该行就包含了这两列:“ anchor :cnnsi.com” 和“ anchor :my.look.ca”。这两列下的单元都只有一个版本,而“contents”:这列下的单 元有三个版本,分别是时间戳 tn 、 ts 和 tg ,分别对应着网页变动的情况。
4、展望
虽然,云计算平台的各项技术相应出现,但是处于试用与研发阶段。主要存在一些技术 还处于研究阶段, 比如 (1) 存在存储的安全问题。 (2) 在断网的情况下怎么获取数据 。 (3) 怎么说服普通用户(不懂 IT 的人)保存数据到云服务器上 。 (4)法律怎么约束云服务器提 供商保护用户的隐私安全。
突破这些技术,相信在未来的不久,我们就能安全的用上云计算服务。
5、小结
通过云平台与传统平台之间的比较,如图 10所示:
图 10
云平台与传统的平台,都可以看成是一个操作系统,而云平台非常大的操作系统,可以 实现并行处理,加快了 N 倍的处理速度,然后存储更方便,服务上可以随着用户的需求的变 化而变化, 而不需要向传统 PC 或者服务器一样, 需要更快的速度或存储空间就需要重新购买, 用户每过一段时间就需要重新购买新的机子,造成了资源浪费,但是目前云平台最大的问题 就是安全问题,用户还不能信任云平台提供的服务。
综上所述, 虽然云计算存在一些还没法突破的技术, 但是云计算是一种新型的计算模式, 它的出现将突破现有传统网络的限制,合理利用资源,花费更小的代价获取更多的服务 。通 过对现在的云计算并不断完善地解决所有的问题,在不久的将来,一定会有越来越多的云计 算系统投入实用,进而推动其他学科技术的发展。
6、参考文献
[1]Sanjay Ghemawat,Howard Gobioff,Shun-Tak Leung.The google file system,http://labs.google.com/papers/gfs-sosp2003.pdf
[2]陈康,郑纬民。云计算:系统实例与研究现状
[3]孙建,驾晓箐 .Google 云计算平台的技术架构及其成本的影响研究 . 电信科 学, 2010(5)
[4]陈全,邓倩妮 . 云计算及其关键技术 . 计算机应用, 2009(9)
[5]冯登国, 张敏, 张研等 . 云计算安全研究 [J].软件学报, 2011.22(01) :71-83 [6]王鹏 . 云计算的关键技术与应用实例 [M].北京:人民邮电出版社 ,2010 [7]刘鹏 . 云计算 [M].北京:电子工业出版社, 2010
[8]Chang F , Dean J,GHEMAWATS.etal.BigTable:A distributed strorage system for structured data[J].ACM Transaction on Computer Systems,2008,26(2):1-26
[9]NIST.http://csrc.nist.gov/groups/SNS/Clound-computing/index.html [10]杨文志 . 云计算技术指南 -应用、平台与架构 [M].北京:化学工业出版社, 2010
第 11 页
范文四:云计算平台架构-开源云计算平台架构介绍
云计算平台架构-开源云计算平台架构介绍 摘要
云计算可望提高应用程序部署速度、促进创新和降低成本~同时还增强经营敏捷性。Sun 抱持一种全面的云计算观点~因而可以支持各个层面~其中包括服务器、存储、网络和虚拟化技术~这些技术将云计算环境扩展到虚拟设备中运行的软件~而这些虚拟设备可用来在极少时间内成功汇编应用程序。本白皮书探讨云计算如何变革我们的设计、构建和提供应用程序的方式~以及企业在采纳并应用云计算技术时必须考虑的架构问题。
第 1 章 引言
什么是云计算 (Cloud Computing)? 每个人都有自己的看法。云计算可以是租用一台服务器或一千台服务器并在目前世界上最强大的系统上运行地球物理建模应用程序的能力。云计算也可以是租用一个虚拟服务器、在其上面加载软件、随意打开和关闭该虚拟服务器或克隆该服务器十次以满足突发工作负荷需求的能力。云计算可以存储并保护巨量数据~而且这些
数据只允许授权应用程序和用户进行访问。云计算可由建立一个包括 OS、Apache、MySQL?.数据库、Perl、Python 和 PHP 的平台的云提供商提供支持~该平台能够根据不断变化的工作负荷自动扩展。云计算还可以是在互联网上使用存储并保护数据同时提供服务 [包括电子邮件、销售能力自动化 (Sales Force
Automation) 和报税 (Tax Preparation)~等等] 的应用程序的能力。云计算可以使用存储云 (Storage Cloud) 来保存应用程序、企业和个人数据。而且~云计算还可以使用少数 Web 服务来集成照片、地图和 GPS 信息~以便与客户 Web 浏览器中创建聚合 (Mashup)。
Sun 公司观点
Sun 公司采取一种全面的观点~这种观点认为~云的类型有很多种~而且有很多不同的应用程序可以使用云来构建。由于云计算有助于提高应用程序部署速度~有助于加快创新步伐~因而云计算可能还会出现我们现在无法想像到的形式。然而~永恒不变的是~Sun 公司是一家具有丰富经验的服务器、网络和软件技术提供商~我们提供的这些技术均支持云计算。作
为创造“网络就是计算机”(The Network is the
Computer?).这一短语的公司~我们深信云计算就是下一代的网络计算。
云计算与以前的模式有什么区别? 就云计算这个短语而言~它就是通过网络把信息技术当作服务来使用。我们将其定义为封装的、具有 API 且通过网络提供的服务。此定义同时包含把计算和存储资源当作服务使用。云计算首先以效率原理为基础~此处所说的效率是指产生用来处理 80% 的使用案例的高级工具~这样才能以一种惊人的速度创建和部署应用程序。
云计算可以由企业数据中心自己的服务器进行提供~也可以由承担拥有基础设施的全部风险的云提供商提供。错误的观念认为资源是取之不尽的。尽管该领域还处于萌芽阶段~但其模式已在信息技术 (IT) 行业引起极大反响。现在~云计算的主要模式称为“把基础设施当作服务”(IaaS)~而且由于其突出特性~IaaS 模式成为本白皮书第一版本的焦点。
本白皮书探讨云计算的性质及其如何在变革世界各地的企业构建和部署应用程序的方式的同时扩大已
形成的趋势。然后~讨论云架构设计师 (Cloud Architect) 设计基于云的应用程序时必须考虑的架构问题。最后~介绍 Sun 公司提供的支持云计算的技术。
第 2 章 云计算的性质
扩大已形成的趋势
云计算推动降低服务提供成本的已有趋势~同时提高部署服务的速度和敏捷性。它缩短了从设计应用程序架构到实际部署应用程序的时间。云计算把虚拟化、按需部署、网上服务提供和开放源软件融合在一起。从一种观点看~云计算并非新生事物~因为它使用既有的方法、概念和最佳做法。而从另一种观点看~一切都是新的~因为云计算变革我们发明、开发、部署、扩展、更新、维护和支付应用程序以及运行应程序的基础设施的方式。在本章中~我们考查上述趋势~以及这些趋势是如何成为云计算的性质的核心的。
将虚拟机作为标准部署对象
在过去几年时间里~虚拟机已成为一种标准部署对象。虚拟化进一步增强了灵活性~因为它把硬件概括到这样一个高度:在硬件上面~可以在不需要连接具体物理服务器的情况下部署和重新部署软件栈。虚拟化实现了一个动态数据中心~其中的服务器提供一个包含可根据需要使用资源的资源池~而且~其中的应用程序与计算、存储和网络资源的关系可动态变化~以适应工作负荷和业务需求。由于应用程序部署与服务器部署相分离~因而可以快速部署和扩展应用程序~而不必首先购置物理服务器。
虚拟机已成为流行抽象概念.—.和部署单位.—.因为它们是服务提供商和开发人员之间的最小公分母连接体。把虚拟机用作部署对象足以适应 80 % 的使用情况~而且这将有助于满足快速部署和扩展应用程序的需要。
虚拟设备 (包含软件的虚拟机~这些软件部分或全部地配置为执行像 Web 服务器或数据库服务器这样的特定任务) 进一步增强了快速创建和部署应用程
序的能力。把虚拟机和设备作为标准部署对象组合在一起是云计算的关键特性之一。计算云通常由存储云进行补充~存储云通过 API 提供虚拟化存储~而这些 API 为存储虚拟机映像 (Image)、用于诸如 Web 服务器的组件的源文件、应用程序状态数据以及一般业务数据~提供便利。
按需、自助、以使用情况付费的模式
云计算的按需、自助和以使用情况付费的性质也是已有趋势的一种延伸。从企业的观点看~云计算的按需性质有助于支持服务水平目标的性能和容量方面。云计算的自助性质使机构可以创造根据工作负荷和目标性能参数进行扩展和收缩的弹性环境。而且云计算的按使用情况付费的性质可以采取设备租赁的形式~设备租赁保证了云提供商提供一种最低的服务水平。
虚拟化是此模式的一个关键特性。早在几年前~IT 机构就已经明白虚拟化使他们可以方便快捷地创建已有环境的副本—有时涉及多个虚拟机—来支持测试、开发和分级(Staging)
活动。这些环境的成本极小~因为它们几乎不使用什么资源~因而可以与生产环境共处于同样的服务器之上。
同样地~可以在已有服务器上的新虚拟机中开发和部署新应用程序~在互联网上开放使用~并且在应用程序在市场上取得成功时进行扩展。这种轻便的部署模式已经产生一种“进化式”(Darwinistic) 业务开发方法~其中~软件的 Beta 版是对公众开放的~而且由市场决定哪些应用程序值得进一步扩展和开发~或者静静地报废。
云计算通过自动化扩大了这一趋势。不是与 IT 机构洽谈购买用来部署应用程序的资源~计算云是一个自助式命题~其中~一张信用卡即可购买计算周期~而且可以使用 Web 接口或 API 创建虚拟机~并在虚拟机之间建立网络关系。云不需要与 IT 机构或服务提供商签订长期服务合同~而是按照根据使用情况付费或按 Sip 付费 (Pay-by-the-Sip) 的模式运作~在这种模式下~一个应用程序可能为运行一项作业几分钟或几小时而存在~也可能为长期向客户提供服务而
存在。构建计算云时就好像应用程序是临时的~而计费是按照资源消耗情况进行的:使用的 CPU 小时数、移动的数据量或存储的数据的千兆字节 (GB) 数。
使用和仅对使用的资源付费的能力~把购买多少基础设施的风险~从开发应用程序的机构转移给云提供商。这种能力还把架构决策的责任从应用程序架构设计师转移给开发人员。这种转移会增大风险~即出于某种原因制定了流程的企业必须控制的风险~以及系统、网络和存储架构设计师需要把云计算设计包括在内的风险。
基础设施是可以编程的
这种架构责任的转移产生重要的后果。过去~架构设计师确定一个应用程序的各种组件如何在一组服务器上进行布局~即如何连接、固定、管理和扩展这些组件。现在~开发人员可以使用云提供商的 API 不仅在虚拟机上创建应用程序的初始结构~而且还确定该应用程序如何扩展和演进以适应工作负荷的变化。
看看下面这个类比:历史上~使用 Java 编程语
言编写软件的开发人员确定何时适合创建使多项活动同时推进的新线程。现在~开发人员可以同样轻而易举地发现和连接一项服务~使它们可以将一个应用程序扩展到这样一个高度:该应用程序可使用成千上万个虚拟机来适应需求激增情况。
动态编写应用程序架构的程序的能力使开发人员拥有了巨大权力~同时也承担相应大的责任。要最有效地使用云计算~开发人员还必须是架构设计师~而且该架构设计师需要能够创建自我监控和自我扩展的应用程序。该开发人员/架.构设计师需要清楚何时适合创建一个新的线程 (而不是何时创建一个新的虚拟机) ~并创建如何把它们相互连接起来的架构模式。
一旦很好地理解并利用这种能力~结果将会是蔚为壮观的。一个已经具有传奇色彩的故事是 Animoto
的聚合工具~该工具从一组映像和音乐中创建一个视频。该公司的应用程序在仅仅三天时间里从 50 台服务器扩展到 3500 台服务器~这部分是因为一个使该应用程
序能够容易地扩展的架构。为了达到这一目的~
该应用程序必须设计为可以水平扩展、具有有限的状态~并且通过云 API 管理自己的部署。对于每个像这样的成功案例~都可能会成为一个相似的故事:其中该应用程序不能自我扩展~而且无法满足消费者的需求。这种从开发人员到开发人员/架构设计师的转移的重要性是无法理解的。
看看您的企业数据中心是否能够以这么快的速度将一个应用程序扩展为适应如此快速增加的工作负荷~以及云计算是否可以测量您的当前能力。
应用程序是组合在一起的~而且设计为可以组合的
这种自助式、按使用情况付费的模式的另一个后果是~就像编写应用程序一样~通过汇编和配置设备和开放源软件来组合应用程序。可以重构 (Refactor)
以最大限度地利用标准组件的应用程序和架构~是那些将会在利用云计算效益方面最为成功的应用程序和架构。同样地~应用程序组件应设计为可以组合的~这种组合是通过将应用程序构建的易于使用来实现。这要求具备简单而明确的功能以及精心编写文档的
API。构建大型完整应用程序已成为过去~因为可直接使用或根据特定用途定制的现有工具库已经变得越来越大。
例如~像 Hadoop (一种开放源 MapReduce 架构实现) 这样的工具可以在多种情况下使用~其中可以对一个问题及其数据进行重构~以便于其多个部分可以同时执行。当《纽约时报》想将其档案中 1100 万份文章和映像转换成为 PDF 格式时~其内部 IT 机构说这会需要七个星期时间。同时~使用 100 个运行 Hadoop 的 Amazon EC2 简单 Web 服务接口实例的一名开发人员~用 24 小时时间就完成了这项工作~劳动成本只有 300 美元。(这不包括上载数据所需的时间或存储成本。)
甚至大型企业都可以使用云计算~用来以比传统企业计算更少的时间和成本解决重大问题。
Web 应用程序部署示例
举一个虚拟化与自助服务结合在一起如何促进应用程序部署的示例~看看如何在云中进行一次二层
Web 应用程序部署 (图):
1.开发人员可以从一个预配置虚拟机映像库中选择负载平衡器 (Load Balancer)、Web 服务器和数据库服务器设备。
2.开发人员配置每个组件以制作一个自定义映像。配置负载平衡器~通过将静态内容上载到存储云来给 Web 服务器填充这些内容~并用站点的动态内容来填充数据库服务器设备。
3.开发人员把自定义代码层叠在新的架构之中~从而使组件满足特定应用程序要
4.开发人员选择一个呈现各层映像并部署这些映像的模式~以便于处理网络、安全和可扩展性问题。
云计算基础设施模式
当从一个标准企业应用程序部署模式向一个基于云计算的应用程序部署模式.转变时~云计算架构设计
师需要考虑许多问题。有的公用云和专用云提供互补的优点~有三种基本服务模式需要考虑~并且需要对比开放 API 和专有 API 的价值。
公用云、专用云和混合云
IT 机构可以选择在各有其取舍的公用云、专用云或混合上部署其应用程序。公用、专用与混合这几个术语并不规定位置。公用云一般就在互联网上~而专用云通常在建筑物内~还有可能设在主机托管场所。
企业可以就选用哪种云计算模式考虑多种因素~而且有可能选用不只一种模式来解决多种不同问题。如果是临时需要的应用程序~可能最适合在公用云上部署~因为这样可以避免为了临时的需要而购买额外设备的情况。同样地~永久使用或对服务质量或数据位置有具体要求的应用程序~最好在专用云或混合云上部署。
公用云
公用云由第三方运行~而不同客户提供的应用程序可能会在云的服务器、存储系统和网络上混合在一起 (图 3)。公用云通常在远离客户建筑物的地方托管~而且它们通过提供一种像企业基础设施进行的灵活甚至临时的扩展~提供一种降低客户风险和成本的方法。
如果在实施一个专用云时牢记性能、安全性和数据保存位置~那么~该云中运行的其它应用程序的存在应对云架构设计师和最终用户都是透明的。的确~公用云的优点之一是~它们可以比一个公司的专用云大很多~因而能够根据需要进行伸缩~并将基础设施
风险从企业转移到云提供商.—.哪怕仅仅是临时性的。
可以将公用云的部分划出去~以便于独占单个客户端~从而产生一个虚拟专用数据中心。虚拟专用数据中心不是仅限于在公用云中部署虚拟机映像~而是使客户在更大程度上清楚地了解其基础设施。现在~客户不仅可以处理虚拟机映像~而且可以处理服务器、存储系统、网络设备和网络拓扑。利用位于同一场所的所有组件创建一个虚拟专用数据中心~有助于缓解数据位置问题~因为当在同一场所内连接资源时~带宽非常充足~而且一般都可用。
专用云
专用云是为一个客户单独使用而构建的~因而提供对数据、安全性和服务质量的最有效控制 (图 4)。该公司拥有基础设施~并可以控制在此基础设施上部署应用程序的方式。专用云可部署在企业数据中心中~也可以将它们部署在一个主机托管场所。
专用云可由公司自己的.IT.机构也可由云提供商进行构建。在此“托管式专用”模式中~像 Sun 这样
的一个公司可以安装、配置和运营基础设施~以支持一个公司企业数据中心内的专用云。此模式赋予公司对于云资源使用情况的极高水平的控制能力~同时带来建立并运作该环境所需的专门知识。
混合云
混合云把公用云模式与专用云模式结合在一起 (图 5)。混合云有助于提供按需的、外部供应的扩展。用公用云的资源扩充专用云的能力可用来在发生工作负荷快速波动时维持服务水平。在利用存储云支持 Web 2.0 应用程序时~这最常见。混合云也可用来处理预期的工作负荷高峰。专用云~有时称为“超负荷计算”(Surge Computing)~可用来执行易于在公用云上部署的定期任务。
混合云引出确定如何在公用云与专用云之间分配应用程序的复杂性。需要考虑的问题包括数据和处理
资源之间的关系。如果数据量小~或应用程序无状态~与必须把大量数据传输到一个公用云中进行小量处理相比~混合云要成功得多。
云计算的架构层
Sun 公司的云计算观点是一种全面的观点:云计算可描述在从硬件到应用程序的任何传统层级提供的服务 (图 6)。实际上~云服务提供商倾向于提供可分为如下三个类别的服务:把软件当作服务 (Software as a Service)、把平台当作服务 (Platform as a Service) 以及把基础设施当作服务
(Infrastructure as a Service)。这些类别把如图 6 所示的各种层级组合在一起~其中存在某种重叠。
把软件当作服务 (SaaS)
“把软件当作服务”的特色是根据需要作为服务提供的一整套应用程序。该软件的单个实例运行于云上~并为多个最终用户或客户机构提供服务。
最著名的 SasS 示例是 salesforce.com~不过许多其它实例已经进入市场~其中包括提供基本商业服务 (包括电子邮件和文字处理) 的 Google Apps。
尽管 salesforce.com 诞生比云计算定义的出现早了几年~但它现在通过利用其伴侣 force.com 运作~后者可定义为“把平台当作服务”。
把平台当作服务 (PaaS)
“把平台当作服务”包含一个软件层~并作为一项服务提供此软件层~这项服务可用来构建更高水平的服务。从服务生产商或消费者的观点看~关于 PaaS 的观点至少有两种:
?生产 PaaS 的某个人可能通过集成 OS、中间件、应用软件甚至是一个随后作为服务提供给客户的开发环境来生产一个平台。例如~开发 PaaS 的人可能会使其以一组 Sun? xVM 管理程序虚拟机为基础~这组虚拟机包括一个.NetBeans?.集成化开发环境、一个 Sun GlassFish? Web 栈~并支持像 Perl 或Ruby 这样的其它编程语言。
?使用 PaaS 的人会看到一个封装式服务~该服务是通过 API 提供给用户的。客户通过API与该平台互动~而且该平台执行一切必要的操作来管理和扩展其本身~以提供规定的服务水平。虚拟设备可以归类为 PaaS 的实例。例如~一个内容交换设备会将其所有组成软件对客户隐藏起来~而只向客户提供用来配置和部署服务的一个 API 或 GUI。
PaaS 产品可执行各个阶段的软件开发和测试~也可以专用于某个领域~例如~内容管理。PaaS 的商业示例包括 Google App Engine~它在 Google 的基础
设施上提供应用程序服务。像这样的 PaaS 服务可提供一个用来部署应用程序的强大基础~然而它们可能会由于云提供商选择提供的能力而受到制约。
把基础设施当作服务 (Iaas)
“把基础设施当作服务”通过网络作为标准化服务提供基本存储和计算能力。服务器、存储系统、交换机、路由器和其它系统都是合用的~并可用来处理从应用程序组件到高性能计算应用程序的工作负荷。
IaaS 的商业示例包括 Joyent~其主要产品是提供高度可用的按需基础设施的一系列虚拟化服务器。
云应用程序设计接口
区分云计算与标准企业计算的关键特征之一是:基础设施本身是可以编成程序的。开发人员不是实际部署服务器、存储器和网络资源来支持应用程序~而是指定如何配置和互连同样的虚拟组件~包括如何从存储云存储和检索虚拟机映像和应用程序数据。开发人员指定如何且何时通过云提供商指定的 API 来部署组件。这与文件传输协议 (FTP) 的工作方式相似: FTP 服务器维持与会话期间一直开放的
客户端的控制连接。当要传输文件时~该控制连接用来向服务器提供一个来源或目标文件名~并协商一个用于文件传输本身的源和目标端口。从某种意义上讲~云计算 API 就像 FTP 控制信道一样:云计算 API 在使用云期间是开放的~而且控制如何利用云来提供开发人员向往的最终服务。
控制如何利用云基础设施的 API 的使用具有一个缺陷:与 FTP 协议不同的是~云API 尚未标准化~因此~每个云提供商都有自己用来管理其服务的特定 API。这是一个新兴行业的典型状态~其中~每个供应商都有其专有技术~这样的技术往往把客户限制在其服务里~因为专有 API 使得变更提供商非常困难。
请查找在尽可能多的地方使用标准 API 的提供商。标准 API 现在可用来访问存储设备~而随着时间的推移~用来部署和扩展应用程序的 API 可能会被标准化。另外~请查找有哪些云提供商了解其市场而且提供存档并部署虚拟机映像和预配置设备的方法。
范文五:云计算及其架构模式
云计算及其架构模式
1008-0562(2011 ) 04-0575-0521-1379/N . 20110826. 1711. 004
江务学1, 2张 璟 2王志明1
1. 东莞职业技术学院计算机工程系, 广东东莞523808; 2. 西安理工大学计算机学院, 陕西西安710048摘要:为了构建 有效、稳定的云计 算平台环境并对其应 用性能进行研究, 采用理论分析和实践设计的方法,研 究了云计算的关 键技术,包括云数 据中心串联、云数据存储管理技术和云编程模型,提出了一个通用的云计算架 构模 型 ,实 现了 一 个基 于H a d o o p 的实际 云平台。研究结果 表明:该通用架构模 型与N I S T 模型具有 良好的一致 性,构建的云平 台具有较好的分布 式计算性能。该成果对云计算架构模型的研究具有一定的理论指导意义和实际 应用价值。
云计算; 架构模式; 基础设施; H a d o o p 分布式文件系统; M a p R e d u c e
T P 338. 8A
C l o u d c o m p u t i n g a n d i t s a r c h i t e c t u r e m o d e l
J I A N G W u -X u e 1, 2Z H A N G J i n g 2W A N G Z h i -m i n g 1
2011-03-22
国家“863”计划资助项目 (2007A A 010305) ; 东莞市岛等院校科研机构科技计划资助项目(201010815603)
江务学(1976-) , 男, 湖北黄冈人, 博士生, 主要从事分布式系统和W e b 技术方向研究。
万方数据
576万方数据
2. 3云计算架构模型 万方数据
4结 论 万方数据
@@[1]雷万云. 云计算企业信息化建设策略与实践[M ]. 北京:清华大学出 版社, 2010.
@@[2]陈全,邓倩妮. 云计算及其关键技术[J ]. 计算机应用, 2009, 29(9) :2 562-2566.
@@[3] L Y o u s e f f , M B u a i c o , D D S i l v a . T o w a r d a U n i f i e d O n t o l o g y o f C l o u d C o m p u t i n g [E B /O L ]. h t t p ://w w w . c o l l a b o g c e . o r g /g c e 08/i m a g e s /7/76/L a m i a Y o u s e f f . p d f , 2010. @@[4]王 鹏. 云计算的关 键技术与应用实例[M ]. 北京:人民邮电出版 社, 2010.
@@[5] J o h n W . R i t t i n g h o u s e , J a m e s F . R a n s o m e . C l o u d C o m p u t i n g : i m p l e m e n t a t i o n , M a n a g e m e n t , a n d S e c u r i t y [M ]. B e i j i n g : C h i n a M a c h i n e P r e s s , 2010.
@@[6] L i a n g -J i e Z h a n g , Q u n Z h o u . C C O A :C l o u d C o m p u t i n g O p e n -A r c h i t e c t u r e [C ]//P r o c o f 2009 I E E E I n t e r n a t i o n a l C o n f e r e n c e o n W e b S e r v i c e s . N e w Y o u k : I E E E C o m p u t e r S o c i e t y P r e s s , 2009, 607-616. @@[7]刘鹏. 云计算[M ]. 北京:电子工业出版社,2010.
@@[8] T h o m a s R i n g s , J e n s G r a b o w s k i , S t e p h a n S c h u l z . G r i d a n d C l o u d C o m p u t i n g : O p p o r t u n i t i e s f o r I n t e g r a r i o n w i t h t h e N e x t G e n e r a t i o n N e t w o r k [J ]. J G r i d C o m p u t i n g , 2009, (7) :375-393. @@[9]杨文志. 云计算技术指南—应用、平台与架构[M ]. 北京:化学工业 出版社, 2010.
@@[10] J y o t i N a m j o s h i , A r c h a n a G u p t e . S e r v i c e O r i e n t e d A r c h i t e c t u r e f o r C l o u d B a s e d T r a v e l R e s e r v a t i o n S o f t w a r e a s a S e r v i c e [C ]//P r o c O f I E E E I n t e r n a t i o n a l C o n f e r e n c e o n C l o u d C o m p u t i n g . N e w Y o r k : I E E E C o m p u t e r S o c i e t y P r e s s , 2009, 147-150.
@@[11] J . D e a n a n d S . G h e m a w a t . M a p g e d u c e : S i m p l i f i e d D a t a P r o c e s s i n g o n L a r g e C l u s t e r s [C ]//P r o c . 6t h S y m p o n O p e r a t i n g S y s t e m D e s i g n a n d I m p l e m e n t a t i o n . N e w Y o r k :A C M P r e s s , 2004. 137-150. @@[12] C h a n g F , D e a n J , G H E M A W A T S , e t a l . B i g T a b l e : A d i s t r i b u t e d s t r o r a g e s y s t e m f o r s t r u c t u r e d d a t a [J ]. A C M T r a n s a c t i o n o n C o m p u t e r S y s t e m s , 2008, 26(2) : 1-26.
万方数据