购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

FOREWORD
前言

“云计算”一词出现在2006年左右。当时谷歌(Google)公司的CEO施密特(Eric Schmidt)在一次会议上提出了“云计算”这个概念。如果说是谷歌为云计算命名,那么亚马逊(Amazon)公司则为云计算明确了商业模式。亚马逊在谷歌提出云计算的概念后不久,就正式推出了 EC2云计算服务模式。从此之后各种有关云计算的概念层出不穷,“云计算”开始流行。

所有科学的认识都是以一种层次递进、螺旋上升的方式发展的,每一种技术都有其适用的场景和范围。云计算糅合了各种技术,并不代表云计算比其他技术更优秀,而是说明云计算技术确实是针对“大用户”“大数据”“大系统”,甚至“大智能”发展出来的一种新的实现机制。

云计算的一个特别之处,在于从技术上创造性地给出了一种灵活可靠的组织机制,通过将各种资源进行快速调度和组合,来满足不同业务应用的需求。这种不但适用于业务模块,而且适用于底层硬件资源的“积木式重组”思想,重新定义了反映在上层的计算资源的使用方式、服务的提供方式,以及社会化大生产的协作过程,为我们解决互联网带来的“大”问题和创新服务模式提供了一种全新的思路。

云计算技术使大量的硬件资源通过虚拟化技术结合成一个有机整体,再通过数据传输、负载均衡等技术来相互依赖、相互作用,完成预设功能,形成一个标准概念上的“系统”。这个系统的特征,是在物理上分散,在逻辑上集中,即所谓的分布式集中。

数年前,亚马逊EC2云基础设施平台就分布在全球8000多个机架上,而当时的谷歌在全球有将近 100 万台服务器。依靠大规模分布式软件架构的支持,这种大量资源的逻辑集中,一是意味着通过技术手段充分利用这些资源,我们可以满足“大用户”的需求,解决“大数据”的问题;二是通过对不同资源(硬件、应用)进行调度,我们可以基于一个云平台提供多种服务,即各种IaaS、PaaS和 SaaS,以及XaaS(一切皆为服务),满足各类用户的需求。

从服务的角度说,云计算的落地是已然确定的,大家使用的 Saleforce.com的在线 CRM 应用、苹果的iCloud、谷歌的App Engine、亚马逊的S3和EC2、阿里云、腾讯云、华为云、UCloud等都是云计算服务。作为互联网服务的一种延伸,云计算服务或许可被称为Internet 2.0。云计算服务很自然带有一些互联网服务的特征,但它也有自己的特点,形成了新的商业模式,如“按需使用”“多租户支持”等。

从技术应用的角度看,云计算平台是一种新的计算资源的使用和管理思路。在云计算之前,企业应对大用户、大数据问题时的唯一选择是购买更多更高性能的服务器。而云计算的出现,创新性地以“分布式集中”的方式,将分散的廉价计算资源组合在一起,发挥“群体”的功能,来应对大用户和大数据的压力,从而形成了新的“机器管理机器”的思路,在技术实现上有完整的体系架构。

分布式系统通过网络将物理上分散的计算资源连接起来解决问题,用网络技术就可以解决分布式系统中的“距离”问题。然后,在网络协同的基础之上建立资源的调度、存储体系,为上层开发打基础。这样,我们就可以针对“计算”“通信”“存储”和“管理”提供一个实现云计算的“通用”方案。

因此,云计算既是一种商业模式,也是一种计算范式,还是一种实现方式。本书就是这样一种尝试,希望通过一种多维的角度将云计算相关的原理与实践方法传递给读者。

我们希望这本书首先能作为一本供大专院校和相关研究机构使用的云计算入门教材,其次也尽量使其成为能引起普通读者共鸣的一本读物。

本节提出了“三四四三”的云计算知识框架,包括云计算的三大认识角度(商业模式、计算范式、实现方式),四个关键技术(计算、存储、网络、安全),四种开发运维维度(云原生应用、云操作系统、云端软件、云运维),三大应用场景(桌面云、开发云、大数据与人工智能)。

本书共分四大部分:第一部分概念与基础主要包括云计算概述、分布式计算和云计算架构;第二部分原理与技术主要包括虚拟化技术、分布式存储、云计算网络以及云计算安全;第三部分开发与运维主要包括云原生应用的开发、云操作系统、云端软件以及云计算运维;第四部分应用与案例包括桌面云、软件开发云、大数据与人工智能三个云计算重要的应用领域。全书总体结构如下图所示:

云计算的知识框架全景图

本节是作者所开设的“云计算原理与实践”这门课程的实践成果,特别感谢2012年至2017年期间选修该门课程的学员,每次开课教室都坐得满满的,你们对新知识的热情与渴望是推动本课程建设的原动力,同时也为本课程提出了很多好的建议。

本节的另一大特点就是采用了众多的开源软件作为实践基础。所谓“云起之时,开源有道”。回顾历史,在2000年左右,国内软件开发领域最热门的操作系统、语言、开发工具、数据库等基本都是大型商业公司的产品。尽管当时Linux已经存在,但是还不算主流。我们当时所工作的IT环境,大部分服务器使用的是Windows Server或者Sun Solaris这样的操作系统。市场上需求最火爆的开发平台是Visual C++、Visual Basic和已经基本消失不见的Delphi。然而近20年后的今天,当再次审视当前所处的环境时,我们会惊讶地发现,开源社区的产品已出现在各个领域:从操作系统、开发工具、编程语言,到中间件、数据库,再到虚拟化、基础架构云、应用平台云等。可以说当前的时代是名副其实的开源的时代,企业可以通过开源社区的创新构建一个完全开源的企业架构堆栈,个人也可以通过开源软件获得云之力。

为此,在整本书系统讲述云计算原理的同时,我们还在大部分章中安排一个或多个相关的开源软件,以帮助读者进行有效的实践,这些开源项目包括了:GitHub、Hadoop、OpenStack、KVM、Xen、Docker、Ceph、Mininet、Mesos、Kubernetes、CloudwareHub等。可以说当下的云计算生态中,开源软件已经成为一个不可或缺的部分。

同时,我们在每章内容后配套了丰富的辅导材料帮助读者进行复习、思考和实践等活动,主要包括下面四个类型的材料:

课内复习:帮助读者复习本章的一些基本核心概念,从章节内容中基本上就可以找到对应答案;

课外思考:围绕本章核心内容的相关问题,一方面引发读者的思考,另一方面需要读者查找一些课外资料才能找到答案,甚至包括一些开放问题;

动手实践:围绕本章内容,结合对应的开源软件和工具,开展动手实践的活动,这也是本书的特色之一,动手实践已经成为新工科背景之下课程内容的必要组成部分;

论文研习:阅读所推荐的学术论文,深度调研与本章内容相关的话题,培养读者学术论文阅读与理解的能力,从中也可以找到很多云计算领域的最新前沿内容。

本书的写作、出版是在“教育部高等学校计算机类专业教学指导委员会-华为ICT产学合作项目”专家组的大力支持下完成的,感谢教育部高等学校计算机类专业教学指导委员会专家陈钟教授、周傲英教授、杜小勇教授、马殿富教授在本书成书过程中的指导。本书在编写过程中,参考和引用了大量国内外的著作、论文和研究报告。由于篇幅有限,本书仅仅列举了主要的参考文献。作者向所有被参考和引用相关文献的作者表示由衷的感谢,他们的辛勤劳动成果为本书提供了丰富的资料。如果有的资料没有查到出处或因疏忽而未列出,请原作者见谅,并请告知我们,以便再版时补上。

衷心感谢人民邮电出版社的所有工作人员,从本书的策划开始,正是在他们无数次的帮助下,多次满足我在书稿上的各种苛刻要求,才使本书顺利出版。还要感谢华为公司的技术人员,他们的帮助和指导使得该书能够更加接地气。

苏轼在《稼说》一文中提出学习的主张“博观而约取,厚积而薄发”,这是我们多年教育工作的共鸣,其精髓就是勤于积累和精于应用。一个好的教育,是一个灵魂对另一个灵魂的呼唤;一门好的课程,是一个生命对另一个生命的碰撞。

最后,欢迎读者关注我们的公众号(嘉数汇,微信号Datahui),获取配套的课件、扩展阅读材料和实践信息等。

编者2018年3月于上海 muHx+UZwvwvSPUqmdTdBCDQCFWyp1yPwfNStQe5k7wVRW8Da3KL6HiFtXPq4b+2K

点击中间区域
呼出菜单
上一章
目录
下一章
×