云计算安全与隐私(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-09 10:32:49

点击下载

作者:(美)Tim Mather,Subra Kumaraswamy,Shahed Latif

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

云计算安全与隐私

云计算安全与隐私试读:

前言

2008年2月,在美国特勤局旧金山办事处召开的电子犯罪特别工作组季度会议上,我偶然遇见Sun Microsystems公司的Subra Kumaraswamy。我和Subra都参加过一些这样的会议,并通过之前的类似专业活动相识。我们都是信息安全行业的从业人员,都在硅谷工作和生活了多年。Subra问我有什么打算,我告诉他:我正在考虑写一本关于云计算和安全方面的书。

2008年2月,硅谷关于云计算的宣传已经铺天盖地了。对于云计算缺乏信息安全保证的声音也是不绝于耳。在我和Subra讨论之际,关于云计算安全方面还无法获得有实质内容的、论述清晰的资料。这也是我写本书的初衷。Subra告诉我,他也用了不少时间研究云计算,也感到相关信息匮乏。我问Subra是否有兴趣跟我一起写作,他慨然应允了。(鉴于以前经历过写书的苦恼,因此希望寻求一些经验丰富的人来帮助我,而Subra当然胜任于此。)于是本书的艰苦写作之旅便开始了。

最初我们的写作是作为O'Reilly的另一本云计算书籍的一个章节。然而当我们非常仔细地读过O'Reilly的指导原则后发现,其实要写的不是一章而是两章,因此我们产生了另写一本完整讲述云计算安全与隐私的书的设想。O'Reilly接受了我们的建议,于是我们的工作量从最初的20页增加到200页左右。我们希望这本书成为此类书籍中第一个面市的,这不仅仅意味着工作量的增加,同时也要求我们能尽快完成。

在2008年年底,我和Subra为硅谷不同的专业人士做了一系列演讲,讲述我们在云计算及其安全方面的研究成果,听众给予的好评令我们兴奋不已。没有人认为我们在技术上跑偏了,而且听众还十分渴望得到更多更详细的信息。在一次这样的演讲会后,KPMG的一个员工表示希望就云计算以及审计方面与我们进行更为深入的讨论。由于我们还需要进一步为这本书收集素材,我和Subra欣然接受了这次讨论。

这次讨论并不像我们事先预想的那样。我们本希望可以从中了解到KPMG对于以云计算为基础的服务进行审计方面的考虑及发展趋势。然而真正讨论的问题却是——Shahed Latif,也就是我们现在的伙伴之一,希望我们接纳他加入到这本书的写作中来。经讨论后,我和Subra欣然同意了他的请求。因为我们需要关于审计方面的信息,而Shahed显然可以提供这方面的保障。Shahed在业界具有非常丰富的审计经验,同时也是KPMG的合作伙伴,为多家重要的云计算服务提供商提供一系列服务,我和Subra都非常熟悉这些服务提供商,这样我们便可以与那些服务提供商的信息安全人员进行相当广泛的讨论。此外,在工作上我早就认识Shahed。在我的职业生涯中,曾就职于Apple、VeriSign和Symantec,那时都曾经与KPMG的审计部门有过接触。事实上,我做Symantec的首席信息安全官时,Shahed正好在KPMG的IT审计部门工作。就这样,Shahed加入了我们的团队。

我们共同努力完成了本书的写作,使得本书有幸成为此类书籍中最先面市的。Tim Mather读者对象

对云计算有兴趣的人都应当阅读本书。本书集中讨论了以云计算为基础的服务的安全、隐私与审计,虽然我们希望本书能为大多数信息安全从业人员提供帮助,但其面向的读者并不仅仅限于信息安全人员。本书适合那些正在应用或者正在考虑应用云计算,并希望对其信息进行保护的专业技术人员。在数据为王的今天,数据的保密性、完整性和可用性比其他任何时候都显得更为重要。因此,以云计算为基础的服务的安全、隐私和审计也将会是本书读者的兴趣所在。主要内容

在本书中,我们将用系统化的方式定义云计算,并分析这种新的计算模式所带来的安全与隐私问题。下面是对本书各章内容的概括描述。

第1章 引言

介绍云计算的概念以及云计算的演变。

第2章 什么是云计算

基于以下五个特性定义云计算:多重租赁(分享资源)、大规模可扩展性、弹性、随用随付,以及自行配置资源。由于云计算是个新生的飞速变化的舞台,因此云计算这个词语本身有着多种定义。例如,一份近期的研究表明云计算有超过22种不同的定义。在该章中,我们讨论了行业普遍认可的通过云计算提供的服务类型,包含虚拟化等重要的应用技术。

第3章 基础设施安全

描述了云计算服务大体可提供的IT基础设施安全的能力。IT基础设施安全是指在网络层面、主机层面以及应用层面所建立的安全能力。

第4章 数据安全与存储

分析了目前云计算的数据安全与存储的状况,包括数据的保密性、完整性和可用性。

第5章 身份及访问管理

阐述了身份及访问管理实践,以及对访问云计算服务的用户提供认证、授权和审计等方面的支持能力。

第6章 云计算的安全管理

描述了云计算相关的安全管理框架和标准。

第7章 隐私

介绍了在云计算环境中需要考虑的隐私方面,分析对比了云计算与传统计算模式的异同。此外,在这一章中我们强调了针对云计算隐私的法律与监管的作用。

第8章 审计与合规

揭示了在云计算中审计与合规的重要性,以及需要考虑的各种标准和框架。

第9章 云计算服务提供商举例

云计算服务提供商(CSP)举例,包括主要的CSP(就规模和影响而言)以及他们提供的服务。

第10章 安全即(云计算)服务

关注云计算安全的一个不同的侧面:在云计算中,安全本身作为一种服务进行交付。这种安全即(云计算)服务(SaaS)也是个新兴的领域,在这一章中,我们会关注云计算安全服务的一些内容。

第11章 云计算对于企业IT角色的影响

关注当今的云计算对企业IT部门的影响。尽管有些人觉得如今云计算是IT部门的重要补充,但IT部门的观点可能是云计算取代了许多IT部门所负责的内容。

第12章 结论以及云计算的未来

总结这本书提出的观点并对云计算的未来提出思考。

本书的三个附录讨论了相关的审计格式(SAS 70 Ⅱ型以及SysTrust)并提供了一个与云计算相关的审计控制的关系模型,本书最后是一个术语表。本书使用的体例

本书遵循以下字体体例:

斜体(Italic)

表示新的术语、URL、E-mail地址、文件名和文件扩展名。

注意

表示和附近文字相关的技巧、建议或一般性注释。联系方式

如果您对本书有任何意见和问题,请联系出版社:

美国:

O,Reilly Media,Inc.

1005 Gravenstein Highway North

Sebastopol,CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

O'Reilly的每一本书都有其专属网站,你可以在那找到关于本书的相关信息,包括勘误列表、示例代码以及其他的信息。本书的网站地址是:

http://www.oreilly.com/catalog/9780596802769/

对于本书的评论和技术性的问题,请发送电子邮件到:

bookquestions@oreilly.com

关于本书的更多信息、会议、资料中心和网站,请访问以下网站:

http://www.oreilly.com

http://www.oreilly.com.cn致谢

我们想要感谢那些抽出时间与我们讨论云计算安全与隐私的云计算服务提供商人员。虽然他们所提供的大量材料并不是直接与本书内容相关,但这对于我们了解提供商的观点而言无疑是无价之宝。我们也和一些云计算服务的用户进行了交谈,深入了解了他们在云计算服务中的实践经验和顾虑等。

在撰写本书时,我们觉得把握当前最新的解决方案和市场趋势是十分重要的。为了实现这个目标,我们也约谈了许多公司以了解当今趋势。我们约谈的机构包括Microsoft、国家标准与技术研究所、Salesforce.com和Sun Microsystems。在这里我们要感谢那些帮助我们的朋友:John Dutra、John Howie、Peter Mell、Izak Mutlu和Rajen Sheth。

我们也十分感谢那些审阅手稿的朋友,他们修正了书中的一些错误,并使我们的文字在技术上准确且增加了可读性。十分感谢Dan Blum、Robert Fly、Tim Grance、Chris Hoff、Jim Reavis、Laura Robertson和Rodney Thayer。本书出现的任何错误和疏漏都是我们不可推卸的责任。

KPMG的一些员工也为我们提供了很多帮助,包括提供内容、协助绘图、整理术语、协调会议等,使我们的工作变得更加顺利。我们也要向他们致谢。十分感谢:Graham Hill、Vijay Jajoo、Mark Lundin、Bob Quicke、Isamil Rahman、Doron Rotman和Nadeem Siddiqui。

最后,在硅谷有句谚语,“吃自己的狗食”。市场部门人员通常把它翻译为“使用自己的产品”。对于本书的写作而言,我们也在努力于吃自己的狗食,就是说,我们也在努力于无处不在地使用云计算服务,包括使用基于云计算的电子邮件、记事录,对文件和图片的管理,以及与O'Reilly的编辑(感谢Mike Loukides!)、审稿者、贡献者和LasselleRamsay(帮助我们使文字材料变得更得体)协作。来自Tim Mather的致谢

我要感谢Diva、Penny、Tiramisu以及Sam的帮助,使我可以在过去的一年中将大量时间集中于这本书的写作。我还要感谢我的猫。来自Subra Kumaraswamy的致谢

我得到来自家庭的关爱与支持,尤其在过去的一年中,由于写书而损失了许多周末活动,家庭给予我充分的理解。十分感谢你们,我的妻子Preethika,以及我的两个孩子,Namrata和Nitin。我还要感谢我的经理Leslie Lambert(Sun Microsystems公司首席信息安全官)对我的支持和鼓励。此外,我还要感谢自愿检查以及传播我的写作的同事和朋友们所做出的努力。来自Shahed Latif的致谢

由于我不得不花费许多周末、节假日以及漫漫长夜以完成本书的写作,对于来自家庭的支持和关爱,我要表示特别的感谢。特别感谢我的妻子Moni,以及我的儿子Ayaz的理解和支持。  第1章 引言小心空隙

如果你坐过伦敦的地铁,你会对“小心空隙”(Mind the gap)这个短语很熟悉。它提示你留意站台和地铁列车之间的空隙。虽然地铁列车车门应该和站台对齐,但实际上通常并非如此。有些地方它们之间的空隙很大,因此,你需要留意脚下。

我们在云计算及云计算安全两者的关系上同样可以引用“小心空隙”这个短语。理论上,云计算和云计算安全两者是一致的,但通常并非如此。在高科技产业中,“云计算很好”与“云计算安全很糟糕”的观点总是反复地同时提起。这到底意味着什么?云计算安全到底存在什么样的问题?

本书的目的是通过系统分析云计算的构成以及云计算的安全来解答这些问题。此外,本书还探讨了云计算安全在隐私、审计和合规(compliance)方面对云计算服务提供商(CSP)与用户两者的影响。云计算安全很糟糕么?答案取决于你用云计算的目的和你对它的期望值。如果你的企业规模很大,有着重要的资源以及复杂的信息安全规划,那么在云计算安全方面则需要应对安全、隐私以及合规等方面的一系列挑战,这些在本书的后面章节中会讨论到。然而,如果你所在的是中小企业(small to medium-size business,SMB),相对于如今传统业务模型在信息安全的开销而言,云计算安全将是十分诱人的。云计算的演变

为了理解什么是云计算而什么不是云计算,了解这种计算模式的演变过程是很重要的。Alvin Toffler在其名作《第三次浪潮》(The Third Wave)(Bantam,1980)中写道,文明以浪潮的方式进步(三次浪潮分别为:农业社会、工业时代、信息时代),每波浪潮中又有几个重要的子波。在如今的后工业化信息时代,很多人认为我们正处于云计算时代的开端。

在Nicholas Carr所著的《IT不再重要:互联网大转换的制高点——云计算》(W.W.Norton&Co.,2008)中,Carr讨论了与工业时代的重要变革十分类似的信息变革。具体来说,Carr把信息时代云计算的诞生视为与工业时代电力的出现同样重要。在过去,机构需要为自己提供能源供应(通过水车、风车),随着电力的出现,机构不再需要自身供应能源,而是接入到电力网络中。Carr认为云计算也是信息技术中同样的变革。当前机构需要自身提供计算资源(能源),而在将来,机构可以接入到云计算(计算网格)中以获得所需的计算资源。正如Carr所提出的,“到最后由于使用这些实用工具而节约的开销将会令人无法抗拒,即使是大企业也是一样。计算网格便从此胜出了。”他的著作的第2部分讨论了“生活在云计算里”以及云计算所带来的益处。(Carr也用相当篇幅讨论了这个巨大的转变对社会可能带来的负面效应,尤其是为社会带来的一些阴暗面。)

Carr不仅提出了云计算是有益的,他对于这些益处的表述可能也是目前为止最清晰的。他专门集中讨论了云计算带来的经济效益,但却没有谈及与这个巨大转变相关的信息安全问题。我们讨论了信息安全的问题,这也是我们写作这本书的目的:清楚地说明云计算相关的安全与隐私问题。

正如我们在之前所提到的,在每一次浪潮中有若干子波,在信息时代也早已出现过数个子波,如图1-1所示。我们从大型计算机发展到小型计算机、个人计算机,如今我们正在迈进云计算的阶段。图 1-1 信息时代的子波

另一张图说明了云计算自身是计算逻辑演变的产物。图1-2展示了云计算以及云计算服务提供商(CSP),作为互联网服务提供商(ISP)模型的扩展。图 1-2 云计算的演变

起初(ISP 1.0),互联网服务提供商发展迅猛,为组织和个人提供互联网接入。这些早先的互联网服务提供商仅仅为用户和小企业提供互联网的接入,往往是提供通过电话拨号的上网服务。随着互联网接入商品模式化,互联网服务提供商发展壮大并寻找其他的增值服务,例如,通过其设施提供电子邮件应用以及对服务器的访问(ISP 2.0)。这种形式很快衍生出为组织(用户)的主机服务器而特别定制的设施,以及用以提供支持的基础设施和在上面运行的应用程序。这些特别定制的设施称为托管设施(ISP 3.0)。这些设施是“一类可供多个用户安置其网络、服务器及存储设备,并以最小的代价和复杂度实现了与相当多的电信及其他网络服务提供商之间的交互功能的数据中心”。随着托管设施的激增以及商品化,接下来演化到应用服务提供商(ASP)形式。这种形式(ISP 4.0)不仅提供计算的基础设施,还集中为组织提供定制应用这样的高增值服务。应用服务提供商通常拥有并运行他们所提供的软件程序以及所需要的基础设施。

尽管应用服务提供商(ASP)在云计算的服务交付模式(软件即服务)上可能有相似性,但在服务的提供以及业务模式上却有重大不同。虽然应用服务提供商通常为众多用户提供服务(就像如今的SaaS提供商),但这些服务是通过专用的基础设施实现的。也就是说,每个用户都有其专用的应用程序实例,而这些实例也通常运行在专用的主机或者服务器上。SaaS提供商和应用服务提供商的显著区别在于SaaS提供商提供的应用程序接入是在共享的基础设施上,而并非在专用的基础设施上。

注意

SaaS既是软件即服务(software-as-a-service)也是安全即服务(security-as-a-service)的缩写,而后者将在第10章中讨论。不过在全书中涉及"SaaS"之处,除了第10章之外,都是指软件即服务。

云计算(ISP 5.0)定义了SPI模式,也就是公认的几种交付模式:软件即服务(software-as-a-service,SaaS),平台即服务(platform-as-a-service,PaaS),以及基础设施即服务(infrastructure-as-a-service,IaaS)。这些服务模式的具体内容请参见第2章。

随着对云计算的关注和宣传,越来越多的企业都宣布其业务是基于“云计算的”,很快便有众多公司声称运行在“云计算中”。云计算带来的变革还在进行中。类似地,一些计算组织通告了他们为推动云计算的某些层面所做的工作。这类组织有的是早先成立的(例如标准与技术研究所为推动云计算的标准化做出了努力),有的是新近成立的,也就是随着云计算这种新的计算模式的出现而诞生的组织(例如云安全联盟对云计算安全的推动,以及开放云计算宣言组织对云计算交互性的推动)。很多其他组织也对云计算做出了贡献,例如:分布式管理任务组(DMTF)、美国信息技术协会(一个高科技产业协会)、Jericho论坛(一个国际信息安全思想领导者协会)等。小结

云计算是个新兴的快速发展的模式,新的内容和功能正在不断涌现。尽管我们已竭尽全力在后面章节中对云计算的这些相关方面进行全面和及时的分析,但无疑会存在某些我们并未涉及的方面,或者某些内容已经发生了变化。考虑到这点,我们希望得到读者的反馈。我们也邀请你通过下面的网址与我们一同探讨云计算的相关话题,http://www.cloudsecurityandprivacy.com。  第2章 什么是云计算

如果你回顾工业革命及其对世界经济的影响就会知道,革命本身并不是在一夜之间发生的,而是经过了若干波浪式的变化。至于互联网的发展过程,同样也是经过了若干波浪式的发展。而云计算有能力成为接下来的引发巨大变革的浪潮。

本章主要内容:

·云计算的技术构成

·云计算服务的交付

·云计算的种类

·采用云计算的主要因素

·云计算对用户连续性的影响

·云计算对应用程序开发者的影响

·为了云计算成功当前必须克服的主要障碍云计算的定义

我们对云计算的定义基于五个特性:多重租赁(分享资源)、大规模可扩展性、弹性、随用随付,以及自行配置资源。

多重租赁(分享资源)

以前的计算模式都假定有专门的资源(例如某个单一用户或所有者的专有计算设施),云计算与此不同,它是基于在网络层面、主机层面以及应用层面分享资源(例如多个用户使用同样的资源)的业务模式。

大规模可扩展性

机构可能已有成百上千的系统,云计算提供了可以扩展到上万个系统的能力,以及大规模扩展带宽和存储的能力。

弹性

用户可以根据需要快速的增减其计算资源,并在他们不再需要计算资源时把资源释放,供其他用户使用。

随用随付

用户只根据他们实际使用的资源和时长进行付费。

自行配置资源

用户自行配置资源,包括附加系统(运行能力、软件、存储)和网络资源。

云计算的特点之一是资源的弹性。这个特点可以使用户根据需要增减其计算资源,如图2-1所示。虽然我们始终对计算资源的基线有所认识,但对未来的预测是十分困难的,尤其是在需求经常变动的情况下。云计算可以提供按需供应IT资源的解决方案,可应对出现使用高峰时的状况。图 2-1 弹性特点

由于云计算为用户提供花费很少的成本便可立刻得到超级计算机的处理能力的解决方案,人们对云计算的投资与日俱增。更重要的是,云计算的解决方案可以根据需求实现;在云计算中,网络成为了超级计算机,用户可以在需要时购买他们想要的计算能力。云计算通过使用互联网技术实现了把可扩展的IT能力作为一种服务交付给用户。

云计算获得了来自市场的大量投资,图2-2描述了对云计算高速增长的预测,图中突出了目前在市场上重要的云计算产品及趋势,还展现了基于云计算的服务的收益。图 2-2 目前市场上重要的云计算产品(上图)以及基于云计算的服务支出(下图)

云计算被认为是世界范围IT支出增长的重要驱动力。事实上,根据IDC的材料,云计算服务的复合年增长率(CAGR)估计可达到27%,预计在2012年可以接近420亿美元;而非云计算服务IT的预期复合年增长率仅为5%。云计算的SPI框架

一个普遍认可的描述云计算服务的框架可以缩写为"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及其App Store应用程序的快速增长也表明了云计算接入的巨大扩展。接入设备的扩展带来了云计算服务的广泛使用和飞速发展。例如现在可以通过iPhone使用Skype,这使得点对点网络与用户的距离更加贴近。此外Salesforce.com以及其他一些商家也推出了可以使用户通过iPhone访问其服务的应用程序。浏览器和瘦客户端

不同类型设备的用户现在可以从任何能加载浏览器的地方访问应用程序和信息。事实上,浏览器变得愈加复杂化。客户端(称之为“胖”)应用程序加载到台式机后,可以通过浏览器接口访问企业应用,例如SAP和Oracle。普通大众对浏览器的功能已经越来越熟悉,他们能够凭着直觉熟练使用各种不同的应用程序,而不需要经过培训或者阅读用户手册。高速宽带接入

云计算的一个关键组件是宽带网络,通过宽带网络得以连接各个组件,这与30年前效用计算的概念有着重大区别。现在宽带接入十分普及,尤其是在全球化的大城市中。无线接入也近乎实现了无缝覆盖(例如WiFi、蜂窝、新兴的WiMAX),从而将移动设备转变成访问云计算以及企业资源的接入点。数据中心以及服务器群

基于云计算的服务需要庞大的计算能力,一般位于数据中心以及服务器群中。这些分布式的数据中心和服务器群分布在多个地域,并可以通过网络连接,从而提供分布式计算以及服务交付能力。

今天大量的实例说明了云计算能力的弹性和可扩展性。例如,亚马逊的弹性计算云(EC2)提供在数据中心的虚拟化,用来为请求的服务创建数目庞大的虚拟实例。Salesforce.com通过集群实现可扩展性和弹性,为庞大的客户群提供SaaS服务。存储设备

不断下降的存储成本,以及部署的灵活性大大改变了存储领域的情况。固定的直接访问存储设备(DASD)已被存储区域网络(SAN)所取代,后者降低了开销并且在企业级存储方面有更大的灵活性。存储区域网络软件管理着存储设备的整合,可以在一定数量的设备上实现独立的存储空间分配。虚拟化技术

虚拟化是促进云计算的基础技术平台,它改变着现代数据中心的形态。虚拟化一词是对应用程序以及终端用户的计算资源(CPU、存储、网络、内存、应用程序栈,以及数据库)的抽象。基础设施的抽象为资源(基础设施、应用或信息)的分散化提供服务,并确保资源池中的资源可以通过标准的方式被任何具有访问权限的人或物访问。

虚拟化技术通过为所有用户提供可扩展的共享资源的平台,实现了云计算的多重租赁的业务模式。更加重要的是,它为平台使用者提供了专有资源的视角。从企业的角度来看,虚拟化强化了数据中心并提高了IT运维效率。今天,企业通过各种形式在数据中心上开发虚拟化技术,包括操作系统虚拟化(VMware,Xen)、存储虚拟化(NAS,SAN)、数据库虚拟化,以及应用程序或软件虚拟化(Apache Tomcat,JBoss,Oracle App Server,WebSphere)。

从公共云的角度看,根据云计算服务交付模式(SPI)和架构,虚拟化技术使虚拟化服务(例如操作系统、存储、数据库、应用程序)在各个层面上显示为共享的资源。

图2-5描述了Sun Microsystems公司定义的操作系统虚拟化以及虚拟化环境的各个层面。基础设施即服务(IaaS)提供商,包括Amazon(EC2)、ServePath(GoGrid)和Sun Cloud都部署了此类型的虚拟化技术,这种技术可以使用户在公共云上运行各种类型的操作系统。图2-5中所示的虚拟化平台是Sun xVM管理程序(hypervisor)工作平台,它为顾客虚拟化了共同的硬件资源以及在管理程序上部署的虚拟服务器操作系统(Linux、Solaris和Microsoft Windows)。这个管理程序工作平台执行和管理虚拟CPU(vCPU)、虚拟内存(vMemory)、事件通道,以及驻留的虚拟机(VM)共享的内存,此外还控制I/O以及设备的内存访问。图 2-5 Sun xVM管理程序工作平台

在Xen和Sun xVM(xVM是基于Xen团体的工作)中,一个虚拟机称为一个域(domain),而在VMware虚拟化产品中称其为一个客户操作系统。在图2-5中,虚拟机(VM)的编号为dom0、domU1、domU2和domU3。Dom0用来管理其他的域(例如domU1)。VMware采用类似的机制,并称之为“服务控制台”。通过dom0或者服务控制台进行的管理内容包括:创建、销毁、迁移、存储和恢复用户域。配置了运行于用户域的操作系统之后,可以调用管理程序执行特权操作。

除了操作系统和存储虚拟化,软件即服务(SaaS)以及平台即服务(PaaS)提供商也实施了软件和数据库的虚拟化,这样使用户可以共享软件应用程序栈和数据库资源。例如Salesforce.com对软件和数据库栈的虚拟化。在这种模式下,所有用户都分享着交付的基础设施的每一个层面。应用程序编程接口

合适的应用程序编程接口(API)是云计算交付模型的另一项能力(参见图2-6)。应用程序编程接口授权用户对云计算服务和资源进行自我配置和程序控制。根据云计算服务交付模型(SPI),应用程序编程接口可以表现为不同的形式,包括从简单的URL(统一资源定位符)操作到高级的如SOA编程模式等。应用程序编程接口还有助于发挥云计算的全部潜力,以及屏蔽云计算服务在现存IT管理程序和实践方面的复杂性。图 2-6 云计算的API

云计算服务提供商(CSP)如Amazon EC2、Sun Cloud和GoGrid都提供应用程序编程接口,供用户创建和管理云计算资源使用,这些资源包括计算、存储和网络组件。在这种情况下,API的使用是通过HTTP实现的,使用GET、POST、PUT和DELETE这些请求,而大部分的任务通过GET和POST就可以完成。在一些情况下,资源的表述是通过JavaScript对象符号(JSON)实现的,例如在Sun公司云计算规范中,Sun Cloud的API包含:

·适用于所有请求和响应的共同行为

·使用JSON数据结构描述的请求和响应的资源模型

·可被提交到云计算资源的请求,以及期待的响应

所有SPI开发者都需要熟悉云计算平台上用于部署和管理软件模块的特定API。SaaS通常仅提供基础输入输出功能的API,供通过HTTP(S)和网络URI(统一资源标识符)操作方式的浏览器或者脚本使用。

今天,云计算使用者面临的一个重要挑战是每个云计算服务提供商(CSP)都有各自独特的API。这样的结果是,云计算程序无法方便地移植到其他的云计算平台,因此很难实现跨云计算平台(包括私有云)的应用程序互通性。由于云计算服务的API是独特的,架构师、开发者以及数据中心人员必须熟悉各个云计算平台的独有特性。

虽然目前并没有云计算的API标准,在厂商和用户团体的推动下,标准化的工作正在快速进行着。其中包括通用云计算接口(UCI),它试图为统一各种云计算API而创建开放的标准化云计算接口。UCI论坛声明其目标是实现统一的编程交互方式,从而集成所有的基础设施栈、各种即将出现的云计算核心技术、统一的用户接口等。截止到本书写作之时,我们尚未得知有云计算服务提供商在共同筹划开发普适、一致的跨云平台应用程序编程接口,而这项工作对于实现跨云计算平台的应用移植和数据共享具有里程碑式的重要意义。市场的刺激也使得云计算服务提供商把他们的用户锁定在其自身的云计算产品中,认识到这点是十分重要的。这也可能使简捷的互通性难以实现。传统软件模式

传统应用程序软件建立在高昂的前期许可费用和每年的支持成本之上。由于需要配置额外的硬件服务器以及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模式使得开发网络应用程序平民化,就像Microsoft Access平民化了client/server应用程序的开发一样。

如今,构建网络应用程序需要专业开发者具有三套高度专业的技能:

·后台服务器端开发(如Java/J2EE)

·前台客户端开发(如JavaScript/Dojo)

·网站管理

PaaS使得一般开发者无须专门知识就可以构建网络应用程序,这样整批的Microsoft Access、Lotus Note以及PowerBuilder开发者无须过多的学习就可以构建网络应用程序。

替代PaaS的方式是,也使用台式机开发工具构建网络应用程序,例如Eclipse或者Microsoft Access,然后手动部署这些应用程序到运行云计算环境的供应商处,例如Amazon Web Services(AWS)。

PaaS解决方案至少需要包含以下内容:

·开发工作组的PaaS解决方案应是基于浏览器的。

·终端到终端的PaaS解决方案应当提供运行在实际部署目标平台的高效的集成开发环境(IDE),这样调试和测试环节可以在与产品部署的相同背景下进行。

·PaaS解决方案应当提供对外部Web服务和数据库的集成。

·PaaS解决方案应当提供对应用程序以及用户行为的全面监控,以帮助开发者了解他们的应用程序以及改善效果。

·PaaS解决方案应当在不需要添加额外的开发、配置或者其他开销的情况下,在内部就已经建立起可扩展性、可靠性和安全性。必须在不附加任何工作的前提下就能够实现多重租赁(应用程序自动配置状态和数据,用以服务众多用户的能力)的特性。

·PaaS解决方案应当在整个软件生命周期(开发、测试、文档和操作)同时提供常规协作以及远程协作,同时维护源代码及相关知识产权的安全性。

·PaaS解决方案应当提供现收现付的计费方式。

表2-1描述了典型PaaS的不同组成部分。

PaaS平台区别于传统开发平台的功能还包括:

多用户的开发工具

传统开发工具旨在为单个用户提供技术支持;而基于云计算的工作平台必须支持多用户,每个用户还可以有多个活动项目。

多用户的开发架构

初步开发工作常常不考虑可扩展性,而是搁置直到项目部署后由系统管理员来处理。在PaaS模式下,内建了应用程序和数据的可扩展性(例如,负载均衡和透明切换应当是开发平台的基本要素)。

综合管理

传统的开发解决方案(通常)不涉及运行期的监控,但在PaaS模式下,运行期监控应当内建在开发平台中。

综合计费

PaaS产品的收费机制是基于使用的,这点与SaaS完全不同。

表2-2对比了内部开发平台与PaaS平台的灵活性。基础设施即服务模式

在传统托管应用模式中,供应商为用户运行其应用程序提供完整的基础设施,通常这涉及安放为特定的应用程序购置或租用的专用硬件。IaaS模式也提供运行应用程序的基础设施,但云计算方案实现了按使用付费的模式并可按需扩展规模。从IaaS提供商的角度看,构建的基础设施可以处理用户在高峰和低谷时期运行的需求,并且可以在总需求增加时扩充运行能力。类似地,在托管应用模式上,IaaS提供商可以独自处理应用程序托管,也可以扩展出其他的服务(例如应用程序支持、应用程序开发以及增强),以及支持更全面的IT外包。

IaaS模式与效用计算比较类似,后者的基本思想是像提供工具一样去提供计算服务。这意味着,你只需为实际消耗的处理能力、磁盘空间等付费。IaaS是典型的在线云计算服务,它为用户抽象了基础设施的细节,包括物理计算资源、地理位置、数据分割、改变规模、安全性、备份等。在云计算中,供应商全面控制基础设施。相反地,效用计算用户寻求的服务是让用户自己通过提供商的资源去部署、管理和改变在线服务的规模,并根据用户的资源消费付账。不过用户还是希望可以掌控基础设施的地理位置,以及每个服务器上到底运行着什么。

典型的IaaS系统功能包括:

可扩展性

可根据基于使用需求改变基础设施规模的功能,例如计算资源、内存和存储(以接近实时的速度改变)

现收现付

可以在任何特定时间购买准确数量的基础设施的功能。

最先进的技术和资源

只要少量的开销就可以得到最先进的解决方案以及优秀的IT人才资源。云计算部署模式

云这个词是对互联网的比喻,是对组成互联网的复杂交互的设备和连接的一种简化表达。私有云和公共云是根据云与企业间的关系定义的,是互联网的子集。私有云和公共云也可以称为内部云和外部云;其区别在于云计算与企业的关系。

公共云和私有云的概念十分重要,因为它们支撑着云计算,而云计算通过互联网连接着供应商或IT企业与客户,并提供动态的、可扩展的、虚拟化的资源并借此收费。使用云计算服务的终端用户并不需要了解、精通或者控制支撑这些服务的技术基础设施。

云计算基础设施主要由各种可靠的服务组成,这些服务通过数据中心交付,并使用不同层次的虚拟化技术在服务器上构建。能够访问网络基础设施就可以访问到这些服务,用户的计算需求都通过访问云计算实现。商业服务应符合客户对服务质量的要求,通常要提供服务水平协议(SLA)。开放式标准对云计算的发展是十分重要的,而开源软件已为许多云计算的实现铺垫了基石(例如在AWS中Xen的使用)。公共云

公共云也称外部云,描述了云计算的传统主流含义。这种模式的特点是,由外部或者第三方提供商采用细粒度、自服务的方式在Internet上通过网络应用程序或者Web服务动态提供资源,而这些外部或者第三方提供商基于细粒度和效用计算方式分享资源和费用。

公共云是建立在一个或多个数据中心并由第三方供应商操作和管理的。服务通过公共的基础设施提供给多个用户(云计算就是为多用户服务的),参见图2-8。图 2-8 公共云

在公共云中,安全管理以及日常操作是划归给第三方供应商的,由第三方供应商负责公共云服务产品。因此,相对于私有云而言,公共云服务产品的用户对于云计算的物理安全以及逻辑安全层面的掌控及监管程度较低。私有云

私有云也称内部云,用来描述建立在私有网络上的类似云计算的产品。这些产品(通常是虚拟化和自动化的)声称可以实现云计算的优点,但不具有云计算所存在的不足,可以充分解决数据安全、企业管理和可靠性问题。相应地,企业必须购买、建造以及管理自己的云计算环境,这样就无法获得较低的前期费用开销,也无法实现较少的维护管理等。私有云企业用户需要对其私有云的管理全权负责。

私有云与公共云的区别在于,与私有云相关的网络、计算以及存储等基础设施都是为单独机构所独有的,并不与其他的机构分享(例如,为企业用户单独定制的云计算)。由此,私有云出现了多种模式:

专用的

私有云运行在用户拥有的数据中心或者相关设施上,并由内部IT部门操作。

团体的

私有云位于第三方位置,在定制的服务水平协议(SLA)及其他安全与合规的条款约束下,由供应商拥有、管理并操作云计算。

托管的

私有云的基础设施由用户所有,并托管给云计算服务提供商。

大体上,在私有云计算模式下,安全管理以及日常操作是划归到内部IT部门或者基于SLA合同的第三方。这种直接管理模式的好处在

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载