编辑推荐
《深入理解云计算:基本原理和应用程序编程技术》特色:
·详细解析虚拟化云计算环境中应用程序的设计和实现方法。
·提供实验和测试的真实云系统环境——Aneka云平台。
·展示丰富的云应用实例,涉及科学、商业、能效等众多方面。
·配套网站提供多种免费教辅资源。
内容简介
《深入理解云计算:基本原理和应用程序编程技术》介绍云计算基本原理和云应用开发方法。未来的应用开发将不再依赖于单一计算机,而是在云数据中心的一台或多台虚拟服务器上进行,并且可以在任何时间、从任何地点访问。未来的开发者必须掌握云计算技术,包括并行编程、高性能计算和数据密集型系统。本书提供与这些技术密切相关的实例、练习以及Aneka云平台实验环境。
精彩书评
★Buyya等人带我们踏上云计算的征途,一路从理论到实践、从历史到未来、从计算密集型应用到数据密集型应用,激发我们产生学术研究兴趣,并指导我们掌握工业实践方法。从虚拟化和线程理论基础,到云计算在基因表达和客户关系管理中的应用,都进行了深入的探索。
——DejanMilojicic,HP实验室,2014年IEEE计算机学会主席 目录
MasteringCloudComputing:FoundationsandApplicationsProgramming
出版者的话
译者序
前言
致谢
第一部分基础
第1章导论2
1.1云计算简介2
1.1.1云计算构想3
1.1.2云计算定义4
1.1.3进一步了解云计算6
1.1.4云计算参考模型7
1.1.5特性和优势9
1.1.6面临的挑战10
1.2云计算起源10
1.2.1分布式系统11
1.2.2虚拟化12
1.2.3Web2.013
1.2.4面向服务的计算14
1.2.5效用计算15
1.3构建云计算环境16
1.3.1应用程序开发16
1.3.2基础设施和系统开发16
1.3.3云计算平台和技术17
本章小结18
习题19
第2章并行计算与分布式计算原理20
2.1计算时代20
2.2并行计算与分布式计算21
2.3并行计算基本要素21
2.3.1什么是并行处理21
2.3.2并行处理硬件架构22
2.3.3并行编程方法25
2.3.4并行性的级别25
2.3.5注意事项26
2.4分布式计算基本要素26
2.4.1通用概念和定义27
2.4.2分布式系统组件27
2.4.3分布式计算架构模式28
2.4.4进程间通信模型35
2.5分布式计算技术37
2.5.1远程过程调用37
2.5.2分布式对象框架38
2.5.3面向服务的计算42
本章小结48
习题48
第3章虚拟化50
3.1简介50
3.2虚拟化环境特点51
3.2.1更强的安全性52
3.2.2执行管理53
3.2.3可移植性54
3.3虚拟化技术分类54
3.3.1执行虚拟化54
3.3.2其他类型的虚拟化61
3.4虚拟化和云计算62
3.5虚拟化的利与弊64
3.5.1虚拟化技术的优点64
3.5.2虚拟化技术的缺点64
3.6技术实例66
3.6.1Xen:半虚拟化66
3.6.2VMware:完全虚拟化67
3.6.3微软Hyper-V72
本章小结75
习题75
第4章云计算架构76
4.1简介76
4.2云计算参考模型76
4.2.1架构76
4.2.2基础设施即服务和硬件即服务78
4.2.3平台即服务80
4.2.4软件即服务83
4.3云的种类85
4.3.1公共云85
4.3.2私有云86
4.3.3混合云88
4.3.4社区云90
4.4云计算经济特性91
4.5云计算面临的挑战93
4.5.1云计算定义93
4.5.2云计算互操作性和标准93
4.5.3可扩展性和容错性94
4.5.4安全、可信和隐私94
4.5.5组织方面95
本章小结95
习题95
第二部分云应用编程与Aneka平台
第5章Aneka:云应用平台98
5.1框架概述98
5.2Aneka容器结构100
5.2.1Aneka平台基础:平台抽象层101
5.2.2构造服务101
5.2.3基础服务103
5.2.4应用服务105
5.3构建Aneka云平台106
5.3.1基础设施组织107
5.3.2逻辑组织107
5.3.3私有云部署模式109
5.3.4公共云部署模式110
5.3.5混合云部署模式111
5.4云编程和云管理112
5.4.1AnekaSDK112
5.4.2管理工具115
本章小结116
习题116
第6章并行计算:线程编程117
6.1单机并行计算简介117
6.2线程编程应用118
6.2.1什么是线程119
6.2.2线程API120
6.2.3线程并行计算技术121
6.3Aneka多线程方式130
6.3.1线程编程模型简介131
6.3.2Aneka线程和普通线程132
6.4Aneka线程编程应用135
6.4.1Aneka线程应用模型135
6.4.2域分解:矩阵乘法136
6.4.3功能分解:Sine、Cosine、Tangent142
本章小结147
习题148
第7章高吞吐量计算:任务编程149
7.1任务计算149
7.1.1任务特性150
7.1.2计算类别150
7.1.3任务计算框架151
7.2基于任务的应用模型152
7.2.1高度并行应用153
7.2.2参数化应用153
7.2.3消息传递接口应用155
7.2.4具有任务依赖性的
工作流应用156
7.3基于任务的Aneka编程159
7.3.1任务编程模型159
7.3.2用任务模型开发应用160
7.3.3开发参数化应用174
7.3.4管理工作流176
本章小结178
习题179
第8章数据密集型计算:MapReduce编程181
8.1什么是数据密集型计算181
8.1.1数据密集型计算特性182
8.1.2未来的挑战182
8.1.3历史背景183
8.2数据密集型计算技术186
8.2.1存储系统186
8.2.2编程平台193
8.3AnekaMapReduce编程199
8.3.1MapReduce编程模型简介199
8.3.2应用实例216
本章小结226
习题226
第三部分工业云平台与新进展
第9章工业云平台228
9.1亚马逊Web服务228
9.1.1计算服务229
9.1.2存储服务232
9.1.3通信服务239
9.1.4其他服务240
9.1.5总结241
9.2谷歌AppEngine241
9.2.1架构和核心概念241
9.2.2应用程序生命周期245
9.2.3成本模型247
9.2.4结论247
9.3微软Azure248
9.3.1Azure核心概念248
9.3.2SQLAzure252
9.3.3WindowsAzure平台设备253
9.3.4结论253
本章小结254
习题254
第10章云应用256
10.1科学应用256
10.1.1医疗保健:云心电图分析256
10.1.2生物学:蛋白质结构预测257
10.1.3生物学:基因表达数据用于癌症诊断分析258
10.1.4地球科学:卫星图像处理259
10.2商业和消费应用260
10.2.1CRM和ERP260
10.2.2效率型应用262
10.2.3社交网络265
10.2.4媒体应用265
10.2.5多人在线游戏268
本章小结269
习题269
第11章云计算高级主题270
11.1云能效270
11.2基于市场的云管理273
11.2.1面向市场的云计算273
11.2.2MOCC参考模型274
11.2.3支持MOCC的技术和实现278
11.2.4结论282
11.3云联盟和互联云282
11.3.1特性和定义282
11.3.2云联盟栈283
11.3.3关注点288
11.3.4云联盟技术301
11.3.5结论304
11.4第三方云服务304
11.4.1MetaCDN304
11.4.2SpotCloud306
本章小结307
习题307
参考文献309
索引317
精彩书摘
《深入理解云计算:基本原理和应用程序编程技术》:
云计算在企业中实现普及之前,花费在IT基础设施和软件上的预算构成了中型和大型企业的主要成本支出。许多企业都拥有一个小型或中型的数据中心,并且涉及维护、电力和冷却方面的运营成本,以及维护IT部门和IT技术支持的成本。此外,还有其他购买软件的昂贵费用。采用云计算方式后,这些成本显著降低,甚至完全消失。其中云计算模式的优势之一,是将先前用于购买硬件和软件的资本成本转移为租用基础设施和订阅软件的费用。这些费用可以根据业务需求和企业的情况得到更好的控制。云计算还降低了管理和维护成本。也就是说,不需要或很少需要管理人员去维护云基础设施。同时,IT技术支持人员的成本也降低了。企业将不会面临IT资源的贬值问题,因为在这种情况下,IT需求都由云计算来提供服务,不存在固定资产折旧。
云计算为企业节约成本的多少与使用云计算服务的具体方案有关,还与它们为企业产生利润与方式有关。小型企业创业初期可以在以下方面采用云计算模式,例如:
IT基础设施。
软件开发。
客户关系管理(CRM)和企业资源规划(ERP)。
在这种情况下有可能完全消除资本成本,因为没有初始IT投入。如果企业中已经有相当规模的IT资产,情况便会完全不同。此时,云计算(特别是IaaS解决方案)可以帮助管理企业短期内所产生需求的计划外资本成本,将这些费用转变成运营成本。例如,租用IT基础设施有助于更有效地管理高峰负荷而没有额外资本支出。只要增加的负载并不使用额外的资源,这些资源就可以释放,这样与资源相关的成本就没有了。这是大多数企业采用的云计算模型,因为很多企业已经拥有IT设施。另一种方式是当投入的IT资产贬值并需要更换时,缓慢地过渡到云计算解决方案。在这两种情况之间,有各种各样的云计算方案可以帮助企业创造利润。
……
前言/序言
译者序
MasteringCloudComputing:FoundationsandApplicationsProgramming
云计算是在传统计算机科学基础上发展起来的新兴技术。随着移动设备的大量普及、网络与计算成本的大幅降低以及用户计算需求的不断提升,传统的PC计算模式必将向以云数据中心为核心的云计算模式转移。同时,云计算技术所提供的强大的计算能力、低廉的成本以及按需服务的模式将会从根本上推动计算密集型应用的进一步发展,以及全球计算能力的全方位释放。
由于涉及计算机科学领域的专业知识和技术,所以对普通研发人员而言,云计算技术颇有些阳春白雪的意味。究其根源,云计算技术是学术研究与工程开发的集合体。一方面,研究人员在有好的想法或者概念的情况下,需要一个良好的云计算模型与原型系统来验证所提出的方法;另一方面,工程人员则由于专业背景知识的缺乏,而很难进入真正的云计算技术开发领域。
作为云计算技术领域的先驱者和领导者,本书作者——澳大利亚墨尔本大学计算机科学系著名教授RajkumarBuyya,长期从事网格计算及云计算技术研究,研究成果得到学术界与工业界的广泛认可。本书集成了Buyya教授在云计算领域多年的研究成果,从云计算基础、应用平台和编程技术三个方面,利用11个章节详细介绍云计算技术的起源、发展、核心技术及其范式、典型云计算平台以及编程技巧等重要内容。本书内容丰富、深入浅出,并包含配套习题,适合不同层次的云计算技术研发人员使用。同时,本书清晰的思路、严谨的技术框架和详尽的实例讲解也使其成为适用于计算机相关学科本科生及研究生教学的不可多得的优秀教材。
参与本书翻译工作的人员均多年从事云项目相关工作,对云计算前沿问题的研究及教学都有较深刻的理解。本书前言、第1~4章及索引由刘丽(北京科技大学自动化学院副教授)翻译,第5~8章由米振强(北京科技大学计算机与通信工程学院讲师)翻译,第9~11章由熊曾刚(湖北工程学院计算机与信息科学学院教授)翻译,全书由刘丽统稿。北京科技大学的研究生张淼、翟颖奇、夏毓娴、徐安琪、谢翔、潘梦圆、李萌、何苗、陆源等同学协助进行资料收集,并参与了部分章节的初稿翻译工作。
感谢机械工业出版社引进此书并为本书的出版付出大量努力,使IT从业人员和计算机相关专业学生从中受益。特别感谢本书作者RajkumarBuyya教授对翻译过程中遇到的问题进行解答。
需要说明的是,本书翻译工作和云计算研究工作得到以下项目的资助和支持:国家自然科学基金项目“互联云环境中基于效用模型的跨云协同服务优化研究(No.61370132)”、“大数据环境下基于视觉主题模型的视觉数据分类方法研究(No.61370092)”、“互联云环境下面向数据中心的服务资源分配与调度机制研究(No.61472033)”,国家高技术研究发展计划(863计划)项目“城市多模式数据系统互联技术与支撑环境(No.2013AA01A601)”,以及湖北省自然科学基金项目“云计算环境下内容语义信任度量与评估方法研究
(No.2013CFC005)”和湖北省高等学校优秀中青年科技创新团队计划项目“云计算环境下智能信息处理技术研究(No.T201410)”。
由于译者对云计算相关变革性技术的理解有待加深,而且许多新出现的专业术语还没有公认的译法,所以在翻译过程中难免出现一些不够清楚的表述,若有不妥之处,恳请广大读者批评指正,电子邮箱liuli@ustb.edu.cn。
刘丽
2015年1月
前言
MasteringCloudComputing:FoundationsandApplicationsProgramming
随着互联网与Web技术的快速发展和普及,以及手持计算机、移动设备、传感器设备功能的不断强大,人与人之间的交互方式、商业行为以及获取和提供服务的模式都在发生变化。低成本的计算与通信驱动了从单一计算方式向以数据中心为核心的计算方式的转变。尽管并行与分布式计算在IT行业已经存在多年,但其新的形式——多核和云计算为IT行业带来了彻底的变革。这种发展趋势将促使IT行业从PC应用开发模式转变为支持数百万用户同时使用软件的云数据中心模式。
计算向商业服务模式变革,这种计算服务类似于传统的公共基础设施服务,如水、电、煤气和电话。因此IT服务被当作与水、电、煤气和电话一样的“计算公共基础设施”,通过共有传输网络来交付使用并计费。在这种计算环境下,用户按需获取服务,而不管该服务由哪里提供。一些计算模式已经提出交付这种效用计算服务的构想,云计算是最新出现的实现这一目标的计算模式。
云计算如今已成为IT行业的又一个流行术语。众多IT厂商承诺提供存储、计算及应用托管服务,其服务范围涵盖几大洲,并能提供基于服务等级协议(ServiceLevelAgreement,SLA)的服务性能保障和运行时间承诺。云服务模式允许用户基于订阅方式访问基础设施、平台及应用,也就是通常所说的基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)。这种服务模式大大降低了计算和应用的成本,但是要实现应用和服务开发及交付的一致性、可扩展性、可靠性是极其复杂的。
已有一些云计算技术和云平台产品,如谷歌AppEngine、微软Azure和ManjrasoftAneka。谷歌AppEngine利用大量IT基础设施为托管的Web应用提供可扩展的运行环境。微软Azure为在云计算环境中开发和部署应用提供了大量Windows服务实例。ManjrasoftAneka能够灵活地创建云应用并将其部署在各种基础设施上,如亚马逊公共云EC2。
随着应用开发从PC向云数据中心迁移,需要大量掌握云计算技能的人员。面对这一挑战,大学教育在培养下一代IT专业人员方面发挥了重要作用,帮助学生学习和掌握新的相关技术与工具。这样,大学需要以较小的投入建立云计算教学环境,而ManjrasoftAneka比较适合建立这种云应用平台,它允许用户利用已有计算机网络组建私有云/企业云,提供软件开发工具包(SDK),支持多种编程模型(如线程、任务、MapReduce)的应用编程接口(API),支持在多核服务器、私有云、公共云等不同基础设施上无缝地部署和执行应用。
如今,专业开发人员需要创建云应用和服务。云计算研究人员、从业者以及供应商努力让用户了解云计算的好处并充分利用其潜在能力。然而,由于云计算是一种新兴的计算范式,所以对于云计算的精确定义,不同的云计算专家会给出不同的答案。因此,尽管现在比以往更好地实现了真正的效用计算,但是,与云计算服务方交互的复杂性使得对于云计算的认可和应用还只限于领域专家。本书旨在用简单的方式向读者讲解云计算基础知识、技术及编程技能,让更多普通程序员和软件工程师能轻松地开发云应用程序。
本书结构
本书介绍云计算的基本原理及相关范式,阐述云计算架构模型中虚拟化技术的概念,并展示包括Aneka云计算应用平台在内的著名云计算技术产品,详细讲解并行计算、高吞吐量计算和数据密集型计算的范式,以及如何将这些范式应用于云应用程序开发。本书还研究了来自科学界、工程界、游戏和社交网络领域的多个应用案例,阐述了各应用案例的架构以及云计算技术的应用方式。这些案例研究有助于读者对云计算原理的理解。最后,本书详细阐述了许多源于云计算快速应用的开放性研究问题和机遇,我们希望这有助于激发读者在未来的研发过程中解决这些问题。
全书分为三部分,共11章:
第一部分基础
第1章导论
第2章并行计算与分布式计算原理
第3章虚拟化
第4章云计算架构
第二部分云应用编程与Aneka平台
第5章Aneka:云应用平台
第6章并行计算:线程编程
第7章高吞吐量计算:任务编程
第8章数据密集型计算:MapReduce编程
第三部分工业云平台与新进展
第9章工业云平台
第10章云应用
第11章云计算高级主题
本书将引导读者进入云计算领域,从理论基础讲解开始,让学生和专业人员通过在Aneka平台上实际开发云应用程序来理解和掌握相关概念。第三部分介绍业界其他云技术和解决方案(亚马逊Web服务、谷歌AppEngine和微软Azure)及其实际应用,阐述云计算的发展趋势和发展前景。
读者对象
由于云计算迅速崛起为一种主流计算模式,所以必须深入理解其核心概念和特性,并掌握如何设计和实现云计算的应用程序与系统。这是如今的软件架构师、工程师和开发人员应具有的基本技能,因为多数应用都将被迁移到云环境。随着技术的成熟,具备此技能尤其重要。本书涵盖云计算的起源、理论和实际开发技术,读者对象更广泛,可作为研究生、IT从业者、开发人员、工程师等设计和实现云
深入理解云计算:基本原理和应用程序编程技术 [Mastering Cloud Computing: Foundations and Applica] 下载 mobi epub pdf txt 电子书 格式
深入理解云计算:基本原理和应用程序编程技术 [Mastering Cloud Computing: Foundations and Applica] 下载 mobi pdf epub txt 电子书 格式 2024
深入理解云计算:基本原理和应用程序编程技术 [Mastering Cloud Computing: Foundations and Applica] mobi epub pdf txt 电子书 格式下载 2024