第一讲:云计算概述1什么是云计算?云计算是一种能够将动态伸缩的虚拟化资源通过互联网以服务的方式提供给用户的计算模式。根据云提供的服务类型,可以划分为基础设施云、平台云、应用云。根据云的服务方式,可以划分为公有云、私有云、混合云。2云计算的优势?○1优化产业布局–成本关键由硬件成本转为电力成本、散热成本–分散的、高能耗模式转变为集中的、资源友好的模式–自给自足资源作坊转变为规模效应的工业化资源工厂○2推进专业分工–专业的大型云计算厂商–实力雄厚的科研技术团队推动硬件技术革新–具有丰富知识和经验的维护管理团队和配套软件–产业链中的新产业契机○3提升资源利用率–更加高效的解决常规业务–更好的应对突发任务或事件–更加平衡的资源分配和负载○4减少初期投资–更少的IT基础设施投入–更少的软件投入–更少的人力投入–更短的培训周期–更灵活的转型支持○5降低管理开销–服务化管理–无需自己建立维护管理团队–随需应变的解决方案–知识、经验更加丰富的管理队伍–通过业务模块的可配置提高系统的灵活性3云计算的动因?○1芯片与硬件技术–硬件能力的激增、成本的大幅下降,使得独立运作的公司集中客观的硬件能力实现规模效益成为可能○2资源虚拟化–资源在云端,需要被统一的管理–异构硬件、兼容性问题–虚拟化技术○3应用需求○3面向服务的架构SOA–开放式数据模型–统一通信标准–更加丰富的服务–更加松散耦合、灵活的IT架构–转变了人们对IT系统的认识○4软件即服务SaaS–转变了人们使用服务的方式–使得终端用户熟悉服务的交互模式–改变了IT界的商业模式–实力雄厚的大公司负责基础设施,小企业通过创新挖掘充满潜力的市场–“长尾理论”○5互联网技术–基础设施–多种接入方式–更加广阔的覆盖–带宽和可靠性得到大幅提升–使得IT新模式的稳定性、可靠性、安全性、可用性、灵活性、可管理性、自动化程度、节能环保等得到保障○6Web2.0技术–用户从信息的获得者变成信息的贡献者–博客(微博)、内容聚合、百科全书(Wiki)、社交网络、对等网络(P2P)–富互联网应用(RichInternetApplication)成为网络应用发展的趋势–改变了人们的生活方式–为云计算提出了内在需求4查找资料:业界主流的云计算产品典型的云计算应用补充:1云计算特征是什么?○1硬件和软件都是资源○2资源可以根据需要进行动态扩展与配置○3按用计费、无需管理○4物理上分布式共享,逻辑上以单一整体呈现2云计算的发展历程?○1超级计算机○2集群计算○3分布式计算○4网格计算○5效用计算○6云计算第二讲:云服务1云服务的基本层次?云计算的基本层次分为三层,依次为IaaS,PaaS和SaaS。IaaS(架构即服务),提供了核心计算资源和网络架构的服务。基础设施栈包括操作系统访问、防火墙、路由和负载平衡。示例产品:Flexiscale和AmazonEC2。PaaS(平台即服务)提供平台给系统管理员和开发人员,令其可以基于平台构建、测试及部署定制应用程序。也降低了管理系统的成本。典型服务包括Storage、Database、Scalability。示例产品:GoogleAppEngine、AWS:S3、MicrosoftAzure。SaaS(软件即服务)通过Internet提供软件的模式,用户向提供商租用基于Web的软件来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件。示例产品:GoogleDocs、CRM、FinancialPlanning、HumanResources、WordProcessing等。2IaaS的基本功能?○1资源抽象○2资源监控○3负载管理○4数据管理○5资源部署○6安全管理○7计费管理3PaaS的基本功能?○1开发平台○2运行时环境○3运营环境补充:1IaaS服务流程?规划阶段-部署阶段-运行阶段2PaaS实现步骤?○1总体设计○2开发平台○3运行环境○4运营环境3云平台上开发应用的优势?–提供高级编程接口,简单易用,缩短编程人员上手时间–应用的开发与运行基于相同的平台,兼容性问题较少–开发者无需考虑应用的可伸缩性、服务容量问题–平台层的运营管理功能还能够帮助开发人员对应用进行监控和计费4应用层的特征?–网络访问模式–租用付费–高度整合第四讲:虚拟化1虚拟化的概念?虚拟化是表示计算机资源的抽象方法,通过虚拟化可以用与访问抽象前资源一致的方法来访问抽象后的资源。这种资源的抽象方法并不受实现、地理位置或底层资源的物理配置限制。(wiki)2服务器虚拟化的特性?○1多实例–一个物理服务器上可以运行多个虚拟服务器–支持多个客户操作系统–物理系统资源以可控的方式分配给虚拟机○2隔离性–虚拟机之间完全隔离–一个虚拟机的崩溃不会对其他虚拟机造成影响–虚拟机之间的数据相对独立,不会泄露–虚拟机之间如果需要互相访问,方式等同于独立物理服务器之间的互相访问○3封装性–硬件无关–对外表现为单一的逻辑实体–一个虚拟机可以方便的在不同硬件之间复制、移动–将不同访问方式的硬件封装成统一标准化的虚拟硬件设备,保证了虚拟机的兼容性○4高性能–可通过扩展获得“无限”的性能–虚拟化抽象层需要一定管理开销3服务器虚拟化的关键技术?○1计算虚拟化–CPU虚拟化–计算负载的动态分配–能耗管理○2存储虚拟化–内存虚拟化–磁盘存储动态分配○3设备与I/O虚拟化–软件方式实现–统一、标准化的接口–操作指令转译○4实时迁移技术–将整个虚拟机的运行状态完整、快速地从原宿主机的硬件平台转移到新的宿主机硬件平台。4创建虚拟化解决方案的步骤?○1创建虚拟化解决方案○2部署虚拟化解决方案○3管理虚拟化解决方案5什么是数据中心?数据中心是一整套复杂的设施,它不仅仅包括计算机系统和其它与之配套的设备(例如通信和存储系统),还包含冗余的数据通信连接、环境控制设备、监控设置以及各种安全装置。6虚拟化与云计算的关系?虚拟化技术以及各种计算机科学概念,如效用计算、SOA等,的发展和商业实现打开了云计算的大门,而云计算本质上说应该就是虚拟化服务。从虚拟化和云计算的过程,我们实现了跨系统的资源调度,将大量的计算机资源组成资源池,用于动态地创建高度虚拟化的资源提供给用户,从而最终实现应用、数据、IT资源以服务的方式通过网络提供给客户。可以说云计算是虚拟化的最高境界,虚拟化是云计算的底层结构。补充:1虚拟化的典型类型?○1基础设施虚拟化○2系统虚拟化○3软件虚拟化2虚拟化的目的○1对象脱离原有环境○2在计算机上被表示○3通过计算机控制按需获取第五讲:OpenStack1AWS模式是什么,有什么优点?AmazonWebServices(AWS)模式:用户应用使用IaaS基础IT资源,将PaaS和通用服务作为应用架构中的组件来构建自己的服务特点:通过WebService接口开放数据和功能;一切以服务实现;通过SOA框架使系统达到松耦合。2IaaS模式核心需求有哪些?云拥有者:配置和操作基础架构;服务的提供者:注册云服务、查看服务的使用情况;查看服务的计算情况;服务的使用者:创建和存储自定义的镜像、启动监控和终止实例。3Openstack都包含哪些核心项目,作用是什么?Nova(计算)、Swift(对象存储)、Glance(镜像)、Keystone(身份)、Dashboard(自助门户)、Quantum(网络连接)、Cinder(块存储服务)。4镜像和实例有什么区别和联系?镜像:固定搭配实例:固定搭配的一个实例镜像的存在便于对大量实例的管理,如归类、缩短选择时间、计费等5Nova有哪些核心模块,工作过程是什么?Nova是一套控制器,用于为单个用户或使用群组启动虚拟机实例。将提供预制的镜像或是为用户创建的镜像提供存储机制,这样用户就能够将镜像以虚拟机的形式启动。Nova-api:负责接收和响应终端用户有关虚拟机计算和云硬盘存储的请求,是整个Nova的入口。Nova-compute:主要的执行守护进程,职责是基于各种虚拟化技术实现创建和终止虚拟机。整合了CPU/内存、存储和网络三类资源部署管理虚拟机,实现计算能力的交付。Nova-volumn:职责是创建、挂载和卸载持久化的磁盘虚拟机。Nova-network:职责是实现网络资源池的管理。Nova-schedule:职责是调度虚拟机在哪个物理宿主机上部署。AMQP消息中间件:实现服务接口与实现解耦以及子系统之间的通信。通过HTTP协议,采用REST风格实现接口定义和响应,发送执行消息指令至队列,由具体的订阅实现模块执行指令。6Keystone权限控制过程是什么?User:用户,就是一个人的账号Credential:用来证明用户身份的证据Authentication:鉴权,也即对用户身份鉴别的一个过程。Token:令牌。对用户鉴权完毕之后,Keystone会为用户颁发一个令牌,这样用户在请求其他服务的时候,只需要亮出自己的令牌即可,而不需要发送自己的密钥。当然以防仿冒令牌,令牌是有时限的。Service:服务,Keystone提供了系统能够提供的服务目录,例如Nova,Glance,Swift等。Endpoint:直译为端点,其实指的是要访问的服务的地址。如果细分的话,又可以进一步分为对外提供服务的地址,管理地址等。Role:即赋予该用户的权限,Openstack提供的是一个多租户环境,在Openstack中租户对应到项目(Project)。一个用户可以同时属于多个不同的项目,当然在不同的项目中可以充当不同的角色,也即拥有不同的权限。关键的两点:1)User从Keystone获取令牌以及服务列表;2)User访问服务时,亮出自己的令牌,相关的服务向Keystone求证令牌的合法性。7Quantum原理是什么?实现网络连接管理,解决网络虚拟化问题。8Swift的核心概念有哪些?–Object:对象。基本的存储实体,所有数据按照对象进行存储。–Container:容器。对象的装载体,组织数据的方式,存储的隔间,类似于文件夹,但不能嵌套,object存储于container中。–Account:账户。权限单位,account拥有若干container。9Swift的组件有哪些,都有什么作用?ProxyServer:提供SwiftAPI的服务器进程,负责Swift其余组件间的相互通信StorageServer:提供了磁盘设备上的存储服务ConsistencyServer:查找并解决由数据损坏和硬件故障引起的错误,包含Auditor、Updater和ReplicatorRing:用于记录存储对象和物理位置间的映射关系10Ring算法思想是什么?一致性哈希算法:Swift利用一致性哈希算法构建了一个冗余的可扩展的分布式对象存储集群。Swift采用一致性哈希的主要目的是在改变集群的Node数量时,能够尽可能少地改变已存在Key和Node的映射关系。该算法的思路分为以下三个步骤。首先计算每个节点的哈希值,并将其分配到一个0~2^32的圆环区间上。其次使用相同方法计算存储对象的哈希值,也将其分配到这个圆环上。随后从数据映射到的位置开始顺时针查找,将数据保存到找到的第一个节点上。如果超过2^32仍然找不到节点,就会保存到第一个节点上。Replica。Zone:把集群的Node分配到每个Zone中,其中同一个Partition的Replica不能同时放在同一个Node上或同一个Zone内。Weight:未来添加存储能力更大的Node时,分配到更多的Partition。11Quorum协议的内容是什么?在分布式存储系统中用于控制一致性级别的一种策略。N=numbersofnodesthatstoredata(同一份数据的Replica的份数)W=numberofsuccessfulwritesinaputrequest(更新一个数据对象时需要确保成功更新的份数)R=numberofsuccessfulreadsinagetrequest(读取数据时需要读取的Replica的份数)W+RNWN/2(常用:N=3、w=R