第1章概述
课内复习
1.云计算的定义是什么?
云计算是一种计算模式,在这种模式下,动态可扩展而且通常是虚拟化的资源通过互联网以服务的形式提供出来。P5
2.云计算的公共特征有哪几个?
弹性伸缩、快速部署、资源抽象、按用量收费、宽带访问 P14
3.云计算按照部署方式和服务类型分别分成哪几类?
部署方式分类:公共云、私有云、社区云、混合云、行业云、其他类型云 P15
服务类型分类:基础设施即服务(IaaS)平台即服务(PaaS)软件即服务(SaaS)
4.如何从三元认识论的角度理解云计算?
云计算即是一种商业模式,也是一种计算范式,还是一种实现方式。P21
5.云计算作为一种计算范式可以分成哪两种结构?
横向云体逻辑结构:云运行时环境+云应用
纵向云体逻辑结构:P23 图
6.开源软件、自由软件和免费软件的区别于联系是什么?
P25下方
课外思考
1.计算系统是如何演变成今天的云计算的?P6
2.如何理解“开源是种方法论”?P29下方
3.开源技术是如何促进云计算发展的?
降低准入门槛
大部分组织机构采用云技术是为了优化他们的IT投资,从而提高现有的服务或者支持新的业务模式。在这种情况下,开源降低了新加入的组织机构建设私有云计算的门槛。许多组织机构已经采用OpenNebula来打造私有云计算,当中一些只是连接数十台主机的小型云服务,一些则是由几个数据中心所连起来的大型基础设备。对于大多数这种组织机构来说,为使用商用软件而支付授权许可费用是不怎么靠谱的,他们要么就选择开源云技术,要么就什么都不用。
促进云服务的定制
许多组织机构在开源帮助下可以根据客户实际需要而对云服务进行定制,这也就是说这些机构组织可以根据用户需求打造具有差异化的云服务。两个应用于公共部门的著名例子就是荷兰超级计算中心的SARA和它的云设施HPC,另一个就是美国费米实验室的基础云设施FermiCloud。托管公司和电信公司使用开源代码来向特定的市场和地区用户提供新的云服务模式。那些使用OpenNebula的解决方案中,AlterWay的H2O Cloud和中国移动的Big Cloud就是很好的例子。
开源云服务衍生更多的云服务
开源一样鼓励、支持并推动了云服务产品的创新。我们看到了很多信息通讯技术人员如何以更低的成本打造云服务的案例。CloudWeavers公司的一键式云解决方案和HederaTech的云管理软件都是很好的例子。我们还可以算上先前提及的开源技术整合者,通过开源云服务他们可以根据自身需求进行创新和定制。
用户-供应商协作催生更好的云技术
技术供应商和用户的协作是开源领域的一个巨大优势。作为欧盟旗舰级云计算项目的衍生技术产品,OpenNebula和那些由欧盟所投资的云计算基础设施和项目保持着紧密合作,从而为最先进的云计算部署提供独特的功能。我们正在从事那些建设泛欧多重云基础设施的项目,比如说BonFIRE、EGI、Helix Nebula。入学自我介绍
整个行业、标准机构和研究人员正在联手打造一个开放的云技术生态,这也是欧洲的云计算战略目标之一。
和用户直接接触是实现创新的唯一方法。在开源项目里面,项目的计划路线图实际上是由萝卜丸子的家常做法
用户需求所引导的。这也就是说,具体是功能是用来满足终端用户的真正需求,而不是针对供应商而言的。
第2章分布式计算
课内复习
1.分布式计算的定义和特征是什么?P41
2.什么是ACID原则?P42下方
3.什么是CAP理论?P43 下方
4.什么是BASE理论?P46
5.如何理解最终一致性?P46 下方
6.分布式存储与分布式计算的区别于联系是什么?
P50最后一段,分布式系统和分布式储存
P56分布式计算
课外思考
1.在我们的日常生活当中,为什么我们所接触到的分布式系统越来越多了?
1.增大系统容量。我们的业务量越来越大,而大白鹅
要能应对越来越大的业务量,一台机器的性能已经无法满足了,我们需要多台机器才能应对大规模的应用场景。所以,我们需要垂直或是水平拆分业务系统,让其变成一个分布式的架构。
2.加强系统可用。我们的业务越来越关键,需要提高整个系统架构的可用性,这就意味着架构中不能存在单点故障。这样,整个系统不会因为一台机器出故障而导致整体不可用。所以,需要通过分布式架构来冗余系统以消除单点故障,从斑马的英语怎么说
而提高系统的可用性。
3.因为模块化,所以系统模块重用度更高
4.因为软件服务模块被拆分,开发和发布速度可以并行而变得更快
5.系统扩展性更高
6.团队协作流程也会得到改善
分布式计算优点:
(1)资源共享。若干不同的节点通过通信网络彼此互联,一个节点上的用户可以使用其他节
点上的资源,如分布式系统允许设备共享,使众多用户共享昂贵的外部设备,如彩色打印机;允许数据共享,使众多用户访问共用的南京风水
数据库;可以共享远程文件,使用远程特有的硬件设备(如高速阵列处理器),以及执行其他操作。
(2)加快计算速度。如果一个特定的计算任务可以划分为若干个并行运行的子任务,则可把这些子任务分散到不同的节点上,使它们同时在这些节点上运行,从而加快计算速度。另外,分布式系统具有计算迁移功能,如果某个节点上的负载太重,则可把其中一些作业移到其他节点去执行,从而减轻该节点的负载。这种作业迁移称为负载平衡。
(3)可靠性高。分布式系统具有高可靠性。如果其中某个节点失效了,则其余的节点可以继续操作,整个系统不会因为一个或少数几个节点的故障而全体崩溃。因此,分布式系统有很好的容错性能。
系统必须能够检测节点的故障,采取适当的手段,使它从故障中恢复过来。系统确定故障所在的节点后,就不再利用它来提供服务,直至其恢复正常工作。如果失效节点的功能可由其他节点完成,则系统必须保证功能转移的正确实施。当失效节点被恢复或者修复时,系统必须把它平滑地集成到系统中。
(4)通信方便、快捷。分布式系统中各个节点通过一个通信网络互联在一起。通信网络由通信线路、调制解调器和通信处理器等组成,不同节点的用户可以方便地交换信息。在低层,系统之间利用传递消息的方式进行通信,这类似于单CPU系统中的消息机制。单CPU系统中所有高层的消息传递功能都可以在分布式系统中实现,如文件传递、登录、邮件、Web浏览和远程过程调用( Remote Procedure call,RPC)。
2.CAP定理中的几个关键因素为什么不能同时保证?不同的组合有什么样的应用场景?
为什么:P45上方
场景:P45下方 如果不能分区,就不是分布式系统了
3.通过了解区块链的背景,说说你所理解的区块链做为一种分布式系统背后的全新理念。
分布式数据库各节点之间的关系是:信任,协作。
区块链各节点之间的关系是:怀疑,制约。
分布式数据库是在互联网背景下应对大数据量和分布式请求的需求下产生的,其在中心化
控制下假设每个节点都诚实,从而由多节点共同维护一个具有逻辑整体性的分布式数据库。其主要解决的是节点宕机或节点间通信不可靠的问题
区块链由多个节点共同维护一个分布式账本,没有中心化控制机构。区块链假设任何一个单点均不可靠但系统内诚实节点占大多数,由此搭建起了一个无需信任的信任体系。其主要解决的是节点本身不可靠的问题。
区块链应该属于分布式数据库的一种,它以牺牲一致性为代价把CAP定理中的Availability(可用性)和Partition tolerance(分区容错性)落实到了极致。当然,虽然区块链读取速度很快,但是其写入速度一直有严重瓶颈,如何在多方需求间找到均衡点,应该就是区块链创业者的使命了
第3章云计算构架
课内复习
1.云计算中的工作负载有哪几种模式?它们的特征是什么?
模式:时开时停模式、用量迅速增长模式、瞬时暴涨模式、周期性增减模式
特征P78
2.如何避免云计算资源“超配”带来的问题?P80 IT租赁
3.如何理解“云栈”和“云体”的概念?P86
4.什么是软件定义的数据中心?它的特点是什么?
定义:VMware对其描述为:“一个统一的数据中心平台,提供了前所未有的自动化、灵活性和效率,并转变IT交付的方式。汇集和汇总计算、存储、网络、安全性等可用性服务,并交付软件,通过智能化的策略驱动的软件进行管理。”
服务器在虚拟化应用的基础上,SDDC能够虚拟网络和存储资源,使抽象的数据中心的基础设施可以通过应用程序和软件进行访问。SDDC的目标是使数据中心运营的许多方面受益:更有效地利用资源;更加容易配置和重新配置;以及更快地部署新的应用程序。等等。
特点:
标准化- 跨多个标准 x86 硬件池交付的同构基础架构可消除不必要的复杂性。
全面 - 针对整个数据中心结构优化的统一平台,可灵活支持任何乃至所有工作负载。
自适应 - 可根据不断变化的应用需求动态配置和重新配置的自编程基础架构,从而实现最大的吞吐量、敏捷性和效率。
自动化- 采用内置智能机制的管理框架,用于消除复杂而易出问题的管理脚本,能够以更少的手动工作实现云级运营并节省大量成本。
恢复能力强- 基于软件的体系结构可以弥补硬件故障,并以最低的成本提供前所未有的恢复能力。
课外思考
1.云计算的架构是如何演化的?P81
2.如何理解“软件定义一切”的说法?P94
软件定义从最早的软件定义无线电,到软件定义网络、数据中心、信息系统、世界。也就是说,软件可以定义一切。
为什么现在才提出软件定义一切呢?因为两个最为重要的条件近年来才基本具备。
第一个条件是硬件越来越小,功耗越来越低,散热越来越少,可靠性越来越高,加工工艺越来越成熟,成本越来越低,可以比前些年更加圆满地完成软件发出的指令。
第二个条件是通信网络已经完全打破了时空的限制,随时随地存在,而且带宽越来越高,可靠性越来越高,建设和运营成本越来越低。这当然也得益于软件,因为软件定义了频率,定义了传输交换。于是,软件不但可以指挥本地硬件实现各种功能,还可以通过通信网络指挥远处的信息系统协同实现各种功能。正是在硬件和网络的大力支持下,软件才进入了定义一切的时代。
人作为高级动物,可以主动地移动,这是与植物和非物质的主要区别。人际交往是人类的基本社会需求。随着软件定义逐渐普及、完善,信息系统会更好地为人的移动交际提供服务,更好地满足人的本能和需求。尽管在硬件和通信支持下,软件好像已经无所不能,但
软件定义的世界才刚刚开始。人类社会还有很多尚未发现的真理、未曾发明的技术、有待掌握的知识技能。
第4章虚拟化技术
课内复习
1.什么是虚拟化技术?以及该技术有哪三种类型?