加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

云起之时;开源有道:《云计算原理与实践》新书快递

发布时间:2022-10-31 14:09:10 所属栏目:云计算 来源:互联网
导读: 很多人觉得云计算应该是个具体的事物,所以初听到云计算时,总会先问一句:“什么是云计算”?
“云计算”一词最早被大范围的传播应该是在2006年,距今已有十多年的历史了。2006年8月,在圣

很多人觉得云计算应该是个具体的事物,所以初听到云计算时,总会先问一句:“什么是云计算”?

“云计算”一词最早被大范围的传播应该是在2006年,距今已有十多年的历史了。2006年8月,在圣何塞举办的SES(捜索引擎战略)大会上,当时谷歌的CEO施密特(Eric Schmidt)在回答主持人提出的一个有关互联网的问题时提出了“云计算”这个概念,即在某处的云里,如果你有合适的浏览器或接入方式,那么不论你有什么设备,你都可以访问这些数据。谷歌为云计算命名,而亚马逊则明确了云计算的商业模式。在Schmidt态度鲜明地提出“云计算”这个词的几个星期之后,亚马逊推出了EC2计算云服务,将“云”这个名词包含在内。云计算自此出现,从此之后各种有关云计算的概念层出不穷,“云计算”开始流行。

实际上,云计算本身无论是商业模式还是技术都已经发展了很长时间,并在实践的过程中逐步演进。云计算最初起源于互联网公司用于公司的成本控制。尤其是早期不少互联网公司都起源于学生宿舍,费用的捉襟见肘使得这些公司尽可能合理地利用每一个硬件,最大程度地发挥机器的性能。所以早期的互联网公司都会自己选主板、硬盘等配件,然后进行组装,完成服务器硬件的设计。这种传统沿袭下来,就是现在硬件定制化日趋流行的原因。如今谷歌、Facebook都会自己动手设计和生产服务器,以最少的配件最大可能地支持特定功能需求,并降低务器的能耗。

为了支撑业务运转,满足用户需求,服务器的整体性能在不断上升,相应地,服务器的数量也在不断增加。这很自然会引出一个问题,数十台机器可以手动组装维护,上千台机器如何处理?甚至,如果机器数上万呢?人能管理的机器数量始终有限,即使劳作不休,所能承受的负荷也有一定的极限。每一个大型互联网公司,都曾遇到过这个问题:如何管理和维护成千上万台服务器?

谷歌在1998年时的访问量约为每天1万次,但到2007年时,日访问量已达到5亿多次,机器数量也已经超过50万台。对于大多数互联网企业而言,虽然服务器规模不至于如此庞大,但随着用户规模的增加,少则数百台,多则上千台的服务器仍然对企业的运维管理能力提出了挑战。对于企业来说,随着系统越来越大,维护人员却不能对应成比例增长——企业要考虑人力成本,还要顾及运维效率的问题——即便如此,公司在某一阶段有过半的成本都耗在旧有设备和系统的维护上,而无法把大部分资金投入到新业务的开拓中。公司能创造新价值的部分越来越少,创新也越来越少,只能求变。

除了大规模系统的维护之外,海量数据的存储问题同样是互联网公司头疼的问题所在,随着网络技术和服务的快速发展,用户平均在线时间的延长和用户网络行为的多样化,导致各类数据在不断涌现,移动终端的出现更是扩充了网络服务的内容与范围,这些都大大增加了互联网公司需要承载的数据量。大量的用户数据对每一个公司而言都是宝贵的信息财富,如何有效地利用这些信息财富开始成为互联网公司的首要任务。因此,在流量和服务器数量都高速增长的情况下,“一个能够与网页增长速度保持同步的系统”必不可少,这也是谷歌三篇有关分布式的论文(分别为Google File System分布式存储系统、MapReduce布式处理技术和BigTable分布式数据库)之所以具有重要指导意义的原因:一切均出自实践。

随着云计算整个生态的不断成熟,今天,大家基本上可以认同云计算应该包含三方面的内容:商业服务、计算范式与实现方式。

云计算既一种商业模式,也是一种计算范式,还是一种实现方式。

首先,云计算服务代表一种新的商业模式,SaaS(软件即服务)、PaaS(平台即服务)和IaaS(基础设施即服务)是这种商业模式的代表表现形式。对于任何一种商业模式而言云计算原理,除了理论上可行之外,还要保证实践上可用。因此,伴随着云计算服务理念的发展,云计算也形成了一整套的软件架构与技术实现机制,而我们常常听到的云计算平台就是这套机制的具体体现。

其次,从计算范式的角度而言,云计算最早的出身,应该是超大规模分布式计算。比如雅虎为了解决系统对大规模应用的支撑问题,而设计的超大规模分布式系统,目的就在于将大问题分解,由分布在不同物理地点的大量计算机共同解决。但随着技术不断的发展和完善,云计算在解决具体问题时,借鉴了不少其他技术和思想,包括虚拟化技术、SOA(面向服务架构)理念等,所以很多人乍看之下会觉得相似。但云计算与这些技术有根本性的差别,不仅体现在商业应用上,还体现在计算技术上。进一步,云计算计算范式又包括了两种:横向云体结构与纵向云栈结构。

最后,云计算最终的实现方式是需要新一代的软硬件技术推动,即目前流行的数据中心,并且朝着软件定义的数据中心所演进。数据中心是云计算实现的最终归属,包括全方位的计算、存储和通信需求。随着数据中心的运营,大家开始碰到一系列共同的问题,包括硬件资源利用率、扩展性、自动化管理等。硬件的更新换代需要经年累月的时间,通常很难满足快速发展的业务需求,软件定义才是现实可行的出路。因此,软件定义的数据中心迅速成为IT产业的热门关键词。

云计算服务、云计算范式和云计算实现之间没有相互依存的必然关系。如果以传统的底层架构,或类似超级计算等实现的服务具备云计算服务的三个特点:大用户群、永远在线,以及随时随地可接入,也可称为云计算;而云计算的架构和具体实现本身在设计上就针对了“大用户”、“大数据”和“大系统”的问题提出了各种解决办法,这也是在提供云计算服务时会遇到的典型问题。所以,以云计算架构和实现支撑的云计算服务,不仅可以提高服务的效率,而且还会充分发挥云计算的能力和优势。

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

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

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

多年以前,亚马逊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年后的今天,当再次审视当前所处的环境时,我们会惊讶地发现,开源社区的产品已然出现在各个领域:从操作系统、开发工具、编程语言,到中间件、数据库,再到虚拟化、基础架构云、应用平台云等。可以说当前的时代是名副其实的开源的时代,企业可以通过开源社区的创新构建一个完全开源的企业架构堆栈,个人也可以通过开源软件获得云之力。

当下这个时代已经不是开源和闭源之间的选择与博弈,而是大面积的开源与开源项目之间的竞争了。除了技术的先进性,一个重要的因素就是社区运营,所谓得开发者得天下,哪家能够笼络最多的开发者和使用者,哪家就是最后的胜利者,从而构建起足够厉害的生态,一个典型实例就是当下热门的Kubernetes,那种战略性全方位吸引开发者的路线令人叹为观止。

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

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

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

工业革命的意义之一,在于使人们摆脱了生产条件的束缚,极大地解放了物质产品和有形服务的生产力。云计算的出现,也在逐步使人们摆脱使用计算资源和信息服务时的束缚,降低知识获取的成本,也使知识的产生变得更容易、分享变得更方便,革命性地改变了信息产品与知识服务的生产力。因此,云计算与蒸汽机、内燃机及电力有同等重要的意义,会带来一场信息社会的工业革命。

现在来看,云计算仍然在发展的过程中,未来会发展到什么高度还未知。我们还在不断摸索和深化对云计算的理解,毕竟对于新事物都有一个听闻而知见的过程。对于现阶段的云计算而言,最需要的支持,最怕的是轻视,或如管窥蠡测地轻下结论。但无论如何,云计算巳经对社会生产和生活的一些领域产生了积极的影响,相信随着技术的发展和服务的创新,云计算的时代将会很快到来,并最终影响到我们每一个人。

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!