云服务技术.docx
《云服务技术.docx》由会员分享,可在线阅读,更多相关《云服务技术.docx(15页珍藏版)》请在冰豆网上搜索。
云服务技术
云服务技术
∙一
o云架构属性
▪性能
∙负载均衡
∙自动伸缩
▪可用性
∙管理人员必须假设错误随时发生
∙开发人员必须安排错误时的处理方案
∙利用冗余保证出错后的恢复
▪安全性
∙Inadvertentinformationsharing
∙避免用户间访问对方数据
∙virtualmachineescape
∙虚拟机与hypervisor相互隔离,防止虚拟机干涉hypervisor
∙denialofserviceattacks
∙避免用户攻击设备
o基础设施
▪虚拟机
∙相关技术
o虚拟机的创建(Consolidation)
o虚拟机迁移(migration)
o*容错,防止崩溃后服务长时间中断*负载均衡*节省成本(集中起来,让空闲设备休眠省电)
ostartupstorm(启动风暴)
o多台虚拟机同时启动,造成大量的IO访问,物理设备无法响应所有请求而导致整个系统缓慢甚至瘫痪
▪Hypervisor(管理程序)
▪用来创建和管理虚拟机的程序
▪文件系统
∙HadoopDistributeFileSystem
o写入过程
o*先由应用程序缓存64K的块。
写满后HDFS的客户端会向服务器发送写入请求。
*服务器返回3个存储节点,客户端向第一个存储节点发送块*存储节点收到块后保存,并向另外两个存储节点也发送块。
等所有写入完成后再告诉客户端写完了*客户端再告诉服务器写入完成
o错误处理
o客户端出的错,应用程序会重新请求服务器出的错:
启动后备服务器客户端重新请求数据节点出错:
客户端向服务器请求新的数据节点*所有数据都被拷贝三份*
o交付模式
▪Infrastructureasaservice(Iaas)
▪PlatformasaService(PaaS)
▪SoftwareasaService(SaaS)
o基本概念与术语
▪可扩展性
▪###水平扩展*horizontalscaling*关乎资源数量的变更,资源变多了叫向外扩展(scalingout),变少了叫向内扩展(scalingin)###垂直扩展*verticalscaling*关乎资源的性能,资源容量变大叫向上扩展(scalingup),资源容量变小了叫向下扩展(scalingdown)
▪云服务
▪是指可以通过远程访问的IT资源。
这些服务可以是应用接口,也可以是整台虚拟机
▪云服务用户
▪任何访问云服务的应用程序,包括调用云服务应用接口的程序,以及运行其的设备
o定义
▪云计算是以最小的管理成本提供快速的,随时可访问的系统资源。
这些资源都是系统内共享的
o基本属性
▪On-demand(按需的)
▪ResourcePooling(集中资源)
▪Ubiquitousnetworkaccess(通过网络随时访问)
▪Locationindependence(地点无关)
▪资源的位置不需要考虑用户所在的位置。
相当于用户位置与机器位置解耦
▪Rapidelasticity(弹性性能)
▪申请资源的性能可以快速地进行调整(加内存,减内存,减硬盘等)
▪Pay-as-you-go(使用时收费)
▪Multi-tenancy(多租户)
▪一个物理设备可以同时租售给多个用户,各个用户间不知道对方的存在
o经济合理性(EconomicJustification)
▪规模经济
▪服务中心要达到规模经济效应起码是100K+以上的服务器数量。
大规模服务器中心可以提供以下优势1.能源消耗可以更低*路由和交换机可以一次带多台设备*可以和供电商议价,选择电费更低的地区,以及选择能源类型2.采购大量的设备可以和设备提供商议价3.一个系统管理员可以管更多的设备,提高人员利用率4.大量的服务器可以保证有效的冗余以及容灾恢复
▪设备利用率
▪利用*虚拟化技术*提高利用率*考虑负载的均衡,尽量让用户访问在一天内均匀分布*将高CPU占用和高IO需求的应用放在一起,同时调动两个资源,提高利用率*分析负载情况,保证特殊时间可以提供足够的资源数量支撑
▪多租户
▪让更多用户共用一份软件资源,从而摊薄软件成本。
无论是软件的升级或是维护,都只需要针对一份资源即可。
SaaS中可以广泛使用
∙四:
调度问题与机制
∙当IT资源存在冲突时,解决冲突的方法
o调度算法类型
▪realtimev.s.non-realtime
▪静态v.s.动态
▪离线v.s.在线
▪Deterministv.s.Stochastic
o常见调度问题
o对这个分类持怀疑态度**B.O.T:
Bag-of-Tasks**还需要考虑不通过问题下给出的条件以及目标
▪单个处理器上调度B.O.T.s
▪多个相同的处理器上调度B.O.T.s
▪多个不同的处理器上调度B.O.T.s
▪Jobshopscheduling
▪Periodictasksscheduling周期性任务调度
o列调度方法
o这是一类调度方法的统称,内部有不同的实现方式,从而派生出不同的方法PPT中展示的是[HeterogeneousEarliestFinishTime](
∙五:
数据中心网络
o设计目标/需求
▪运行的应用类型
∙面向用户的服务
∙大规模的,多设备的协同计算
▪支持多变的负载
▪在支持大量服务器运作的同时,也要应对突入其来的大规模的访问(11.11)
∙意味着必须支持快速扩张
▪容忍少量服务器故障,且视为常态
o成本
▪服务器设备(CPU,内存,磁盘)
▪电力设备
▪电能
▪网络带宽
o网络中心(DCN)网络拓扑结构分类
▪固定拓扑(FixedTopology)
∙Tree-based
∙每个计算机只连接一个端口
oBasictree
oFattree
▪结构
▪*分成三层交换机,包括edge(与服务器直接相连的交换机——接入交换机),aggregation(聚集交换机),core(外边界的交换机——核心交换机)*按照pod分块管理,每个pod由相同数量边界,聚集交换机构成_假设一个Fattree由k个pod构成——k-aryFattree_*每个pod包含(k/2)^2台服务器,以及两层,每层k/2台,每台k个端口的交换机*边缘交换机连接k/2台服务器以及k/2台聚合交换机*每个聚合交换机连接k/2台边缘交换机以及k/2台核心交换机*k个接口的交换机构成的Fattree可以支持K^3/4台服务器**以下尚未证明***每个pod支持(k/2)^2个host之间的无阻塞操作*dest和src之间有(k/2)^2条路径
▪特点
∙一个交换机下的各个链路拥有相同的带宽
∙可以使用相同“容量”的交换机构建,成本低
∙至于与谁相比,暂不清楚
oClosnetwork
∙Recursive
∙*这种类型的网络结构优势在于one-to-allall-to-all的广播效率高*服务器本身需要有多个端口(Tree-based只要求服务器有一个端口),并承担路由和转发任务
oDCell
oBCube
oMDCube
oFiConn
▪灵活拓扑(FlexibleTopology)
▪固定拓扑结构的网络劣势:
1.由于是固定拓扑,需要准备额外的设备和带宽保证兼容多种类型的traffic2.利用铜线进行连接,无论是空间还是速率都有限制
∙FullyOptical
oOSA
∙Hybrid
∙混合型希望结合铜线和光线的优势:
1.对于小型包转发,且目标多变,铜线的速率要更快2.对于大规模,目标固定的包转发,采用光线传播
oc-Through
oHelios
∙二
o并发控制
▪锁协议
▪时间戳协议
o分布式文件系统
▪基本特征
▪透明性,并发访问,高可用性
▪基本需求
▪数据冗余,异构型,一致性,高效性,安全性
▪基本架构
▪*多层次容错*自动复制*按块存储,并行读取,效率高
oNoSQL特点
▪优势
∙无关系,无需schema
∙数据可以分块,拷贝到多个节点,避免单点失效
∙水平扩展
∙容易实现
∙大规模写入性能高
∙快速键值对访问
▪劣势
∙没有join,groupby等关系数据库的操作
∙没有统一的访问语言
∙更宽松(弱)的保障
∙难与关系数据库集成
oMapReduce
o整体都是在对键值对进行处理。
Map部分输入需要处理的数据。
这些数据可以是原始数据中的某一小部分。
Map输出需要的键值对信息。
Reduce将Map输出的键值对再进行处理('合并'),最后输出结果的键值对
▪局部性问题
▪由Master节点负责根据需要处理的文件分布情况,安排map任务的执行节点。
尽可能让存储了对应文件的节点执行相应的map任务,从而减少对带宽的依赖。
▪容错
∙Worker失效
o心跳包监控
o由Master创建新的worker重新执行其任务
∙Master失效
∙Master全失效,任务中断
oMaster记录检查点
o切换Master从检查点开始重新执行任务
∙主动容错
o对处理极慢的节点,安排其它空闲节点执行相同任务,取最快输出的结果
o工程经验。
理由是可能会有节点性能降低,为了不成为瓶颈,故启动其它空闲节点,保证任务能够快速执行
▪其它内容
∙map完成前reduce不能启动
∙master知悉中间处理结果所在位置
∙任务调度需要结合数据所在位置
∙一旦map失效,该任务需要完全重新执行
∙三:
云计算架构中的辅助部件
∙课后题:
1.讨论分析可以用于自动扩展的判定条件和机制2.分析讨论按使用付费监控器的两种实现方式的优缺点
oCloudUsageMonitor
o轻量级的,用于监控IT资源的使用情况,并记录到日志库中的软件[reference](
▪MonitorAgent
∙处在云服务和用户连接之间,收集用户对云服务的使用情况
▪ResourceAgent
∙监控虚拟服务器产生的一些预定义事件,包括启动,暂停,恢复,垂直扩展等,并记录下来
▪PollingAgent
∙周期性地向某个虚拟服务器上托管地程序发送请求,并在接收到系列响应后将这些响应记录到数据库中
o自动伸缩监听器(automatedscalinglistenermechanism)
o[reference](
▪定义:
一个部署在云服务设备和用户之间,监听两者通讯情况的软件。
通常部署在云服务的防火墙后
▪作用
∙根据用户预定义的策略,在不同负载情况下调整云服务的资源用量
∙当遇到用户缺省定义的情况时,及时通知管理员当前负载情况,由管理员决定资源用量
o负载均衡器(loadbalancer)
o[reference](
▪定义:
根据当前的负载情况水平扩展IT资源,将负载尽可能合理地分配到不同IT资源上,从而获得单台机器所无法提供的性能与容量
▪负载分配方式
∙Asymmetricdistribution(非对称分配)
∙更大的负载分配到性能更强的设备上
∙Workloadprioritization(负载优先)
∙根据负载的优先级,顺序地分配到不同IT资源上
∙Content-awaredistribution(按内容分配)
∙将特定内容的请求分配到特定的IT资源上
▪实现方式
▪[负载均衡](
∙通常被部署在产生负载和负载处理单元的通讯路径上
∙1.多层的网络路由:
负载均衡器被部署在链路设备上
∙2.特定的硬件:
部署特定的负载均衡服务器复杂完成均衡分配算法
∙3.特定的软件:
在多台机器上安装负载均衡软件完成负载分配
▪调度方式
∙负载均衡算法:
轮询法,随机法,最小连接
∙数据局部性:
同一用户/租户的请求集中在相同服务器上(加快负载处理效率)
oSLA监控器
oService-LevelAgreements(SLAs)用于收集各个IT资源的运行情况,并存储于SLA数据库中,供管理人员评估当前部署的资源是否达到了当初指定的SLA标准[reference](
opay-per-usemonitor(按使用付费监控器)
o用于监控一些计价时使用到的参数的软件[reference](managementsystem进行处理
▪定义:
用于监控计价参数并存储起来的软件
▪典型参数
∙请求/响应次数
∙传送数据量
∙带宽消耗
▪实现方式
∙监听IT资源使用事件,包括启动,撤销,记录相关操作与时间用于计费
∙监听云服务的请求情况
o故障转移(failoversystem)
o[reference](
▪定义:
利用冗余的方式保证某些IT资源失效时可以有其它备用资源替补,提高整体的可靠性和可用性
▪错误转移系统通常用于需要执行重要任务的设备,或者需要避免单点失效的应用之上。
故障转移系统有时会跨多个地理区域,每个地理区域都有备份的IT资源
▪配置形式
▪第二个主动应该是指IT资源恢复后是否主动上线处理负载
∙主动-主动(active-active)
∙1.多个实例同时运行,故障转移系统监控这些实例的运行状态2.一旦侦测到某个实例故障时,先通知负载均衡器停止向故障实例添加负载,并将故障设备上的负载分配到正常实例上3.待故障恢复后,故障转移系统通知负载均衡器重新分配负载到恢复的设备上_恢复的设备可能是原有设备,也可能是其它备用设备_
∙主动-被动(active-passive)
∙1.当前一个IT资源在处理负载,而另外一个冗余资源处在待机状态2.当活动的IT资源遇到故障时,故障转移系统将负载转移到待机的资源上并启动之3.待故障设备恢复或创建其它冗余资源后,这些资源由再次处于待机状态
o虚拟机监控器(hypervisor)
o[reference](
▪定义:
用于在物理设备上创建和管理虚拟服务器实例及其资源的软件VIM目前可以远程管理多个hypervisor
▪虚拟机迁移
▪大概过程1.VIM检测某个hypervisor负载过高,其通知该hypervisor暂停某个虚拟机的运行2.VIM通知另一个空闲的hypervisor,接收刚才停掉的虚拟机,同步其配置,状态等信息,最后恢复该虚拟机
o资源集群(resourcecluster)
o[reference](
▪定义:
将多个独立的物理设备看作一个虚拟的IT资源(通过高速带宽连接),从而提高整体的计算能力,负载均衡,可用性等
▪通常cluster中的设备都会安装上clustermanagementplatform。
用于完成各个设备之间的任务分配,调度,数据共享以及同步。
这些设备需要使用专用的高速网络相互连接
▪簇类型
∙服务器簇
o构建多台物理设备集群,在此之上部署可集群的hypervisor,物理设备间共享状态,而hypervisor可以在这些物理设备上创建多个虚拟服务器,虚拟服务器可以在多个物理设备上在线迁移,从而提高服务的性能和可用性
∙数据库簇
o提高数据的可用性,需要各个高可用的设备之间维持数据的一致性以及同步
∙大数据集簇
o通过将数据分块,分布式地存储,从而实现既不损伤数据的完整性,同时保证计算的准确性,各个计算节点见只需读取本地数据,减少节点间的交互
▪实现方式
∙1.计算资源和存储资源之间相互隔离,两者使用网络进行连接。
该方式使得计算资源共享存储资源,方便完成数据的冗余
∙2.计算资源间不共享存储资源,集群内数据的冗余通过集群管理软件在设备之间进行传输拷贝
o多设备代理(multiple-devicebroker)
▪定义:
一种用于请求格式转换的软件。
将来自不同设备,不同格式的请求转换成相同的请求格式,从而让云服务应用与设备,网络类型解耦
o状态管理数据库(statemanagementdatabase)
▪定义:
用于存储云服务应用的运行时状态的数据库,相当于虚拟内存,降低应用对内存的消耗
∙六:
云架构
o服务负载均衡架构
o[reference](
▪冗余的服务instance
▪使用负载均衡器分配负载到各个服务上
∙外置:
额外的负载均衡器负责分配负载
∙内置:
负载均衡器设置在某个提供服务的设备上,该设备既提供服务由负责转发负载
o动态可扩展架构
o基于预定义的策略,根据负载动态地调整IT资源的数量与容量
▪核心:
自动扩展监听器
▪水平扩展
▪垂直扩展
▪动态重定位
▪?
?
?
这和前两者有什么区别?
?
?
难道是指动态地决定IT资源应该创建于哪个物理机器上?
∙将IT资源重新定位到容量更大/更小的主机上
o弹性资源容量架构(ElasticResourceCapacityArchitecture)
o[reference](
▪根据负载(自动扩展监听器)动态更改CPU和内存资源的大小(垂直扩展)
▪由自动扩展监听器负责监听负载大小以及发出扩展请求
▪由智能自动化引擎根据预定义的扩展脚本执行扩展逻辑
▪由hypervisor或者VIM(hypervisor管理器)接收扩展逻辑,并向资源池请求资源完成扩展
o云爆发架构(CloudBurstingArchitecture)
▪利用云部署冗余的服务instance
▪当负载突然增加时,将本地请求重定向到云,暂时性增加负载上限
o弹性磁盘供给架构(ElasticDiskProvisioningArchitecture)
▪根据用户实际磁盘使用量衡量收费
▪Thin-provisioningsoftware(自动精简供给软件)负责完成动态分配存储空间任务
▪由hypervisor选择存储的硬盘。
virtualserver的内容会被存储在一个文件,这个文件相当于该虚拟机的硬盘,随着使用自动增长
▪辅助机制
∙虚拟机用量监控器(pay-per-usemonitor/usagemonitor)
∙ResourceReplication
∙用于完成动态分配和静态分配之间进行切换
o虚拟机
▪迁移
∙由VIM主导,通过检测剩余物理设备的容量,选出合适的宿主机,将宕机的虚拟机数据迁移到新的宿主机,重启虚拟机
∙在线迁移
opre-copy
▪分部拷贝当前内存页中的所有内容
▪同时还要重新拷贝在这个阶段中被修改的内容
▪假如剩余的修改内容不多,停机,拷贝剩余内容,恢复
opost-copy
▪这种方式应该是先停机,拷贝CPU状态和必要内存页
▪马上恢复,同时拷贝剩余的内存页
∙非在线迁移
o待迁移虚拟机停机,拷贝数据至新宿主机,重启虚拟机
∙评估
o迁移时间
o停机时间
o迁移过程中某个时间窗口的服务率
▪衡量服务质量
o容错
▪错误检测
∙ping
∙heartbeat
∙timestamp
o用来检查错误发生的时间顺序
∙conditionmonitor
o检查数据完整性?
?
▪故障恢复
∙ActiveRedundancy(热备份)
o受保护内容的备份始终在前且与主体保持同步状态
∙冷备份
o受保护内容的备份在故障发生前一直离线,可以立即恢复服务,但之前的状态丢失
∙消极冗余
o受保护内容仅当主体主动发起备份时,才备份当前状态
∙重试
∙忽略错误信息
o当且仅当该错误信息被认为是虚假时执行
▪服务迁移
∙不中断,重定位服务架构(No-disruptiveservicerelocationarchitecture)
o自动伸缩监听器通知VIM进行虚拟机迁移
o拷贝当前服务及其状态至新虚拟机
o将服务请求导向新的虚拟机
∙动态错误检测与恢复架构(Dynamicfailuredetectionandrecvoryarchitecture)
o智能看门狗监听到有服务故障,通知弹性看门狗按照预定义规则重启服务
∙零宕机架构
o多个服务器共享存储,共享状态
o由统一的容错系统管理错误与恢复
o由于共享存储,一旦故障发生,容错系统可以轻松完成故障服务的迁移以及重启
∙移动云计算
o三个视角
▪AI
∙智能感知
o移动设备作为传感器提供数据
o云计算训练识别模型
▪移动计算
∙将复杂计算任务交给云设备计算
▪云计算
∙增加了移动设备的传感器数据
o性能建模
▪指标
∙本地计算时间
∙云计算时间
∙数据传输时间
▪影响因素
∙设备性能
∙带宽
∙网络状态
∙部署情况
o优化技术
▪计算切分
▪哪一部分内容由云设备计算,哪一部分由本地计算
∙数据流类型应用的计算切分
o通过将部分任务交由云设备计算,获得最大的数据吞吐量
∙动态环境(断网)计算切分
o通过将部分任务交由云计算,使得用户计算过程
∙多用户计算切分
▪数据存放和负载分配
∙平衡数据的存储成本以及访问的延迟
∙Question
o基于时间戳协议
o虚拟机迁移的服务率以及迁移时间的计算
o运行内容的计算切分
oBSPP?
?
∙