定义: 云计算是一种信息技术(IT)范例,可以无处不在地访问共享的系统资源池和更高级别的服务,这些服务可以通过互联网以最少的管理工作快速配置
基本属性:
按需求:资源消费者可以根据需要单方面获取计算服务
资源池:云提供商的计算资源汇集在一起
无处不在的网络访问:通过异构网络访问可以获得云服务和资源
位置独立性:资源的位置不需要与资源的消费者有关
快速弹性:能力可以快速和弹性地提供
现收现付:服务的消费者仅对他们使用的内容收费
多租户:应用程序和资源可以在不知道彼此的多个消费者之间共享。
概念和属于:
可扩展性:
1.水平扩展。水平分配资源也称为向外扩展( scaling out),水平释放资源也称为向内扩展( scaling in)。
2.当一个现有资源被具有更大或更小容量的资源所替代,则称为垂直扩展( vertical scaling)。
被具有更大容量的IT资源替代,称为向上扩展( scalingυp),
被具有更小容量的IT资源替代,称为向下扩展( scaling down)
云服务:
云服务(cloud service)是指任何可以通过云远程访问的IT资源。
云服务中的“服务”与其他IT领域中的服务技术(比如面向服务的架构, SOA)的“服务”含义更为宽泛。
并非云中所有的IT资源都可以被远程访问,其中有公开发布的API的软件程序可以专门部署为允许远程客户访问。
交付模式:
SaaS(Software as a Service–软件即服务)
PaaS(Platform as a Service–平台即服务)
IaaS(Infrastructure as a Service–基础架构即服务)
经济合理性:
•规模经济
•设备利用
• 多租户
基本机制:虚拟机,监控器,文件系统
**云架构:**安全,性能,可得性
主要技术:1.虚拟化技术 2.分布式资源管理技术 3.并行编程技术
并发控制(镜、基于时间戳协议):
常用的并发控制方法:
基于锁的并发控制——两阶段锁协议
基于时间戳的并发控制——基于全局唯一的时间戳
乐观并发控制
基于版本的并发控制
分布式文件系统(HDFS)
基本特征 : 透明性、并发访问、高可用性
基本需求: 数据冗余、异构性、一致性、高效性、安全性
基本架构: -按块存储、并行读取、效率高
- 自动复制、多层次容错、原子操作保证一致性
NoSQL系统:非关系型的数据库
关键特性(优势): 高可扩展性、分布式计算、低成本、架构的灵活性吧,半结构化数据
——非关系,不需要模式
——数据复制到多个节点,可以分区:
·节点容易更换
·无单点故障。
——水平扩展
——便宜,容易实现
——大量的写性能
——快速键-值访问
缺点:
MapReduce
Process :Inupt -> Splitting ->Mapping -> Shuffing ->Reducing ->Final Result
功能模型
用于大规模数据处理
~利用大量商品计算机
~以分布式方式执行进程
~提供高可用性
云使用监控(三种实现方式)
(基于代理)
监控代理( monitoring agent)是一个中间的时间驱动程序,对数据流进行透明的监控和分析
资源代理( resource agent)是一种处理模块,在资源软件级别监控预定义的且可观测事件的使用指标,比如:启动、暂停、恢复 和垂直扩展
轮询代理( polling agent)是一种处理模块,通过轮询资源来周期性地监控IT资源状态(比如正常运行时间和停机时间)
自动伸缩监听器
○自动伸缩监听器( automated scaling listener mechanism) :一个服务代理,监控和追踪云服务用户和云服务之间的通讯,用以动态自动伸缩
○通常部署在靠近防火墙的位置,来自动追踪负载状态信息
○对应负载波动的条件,可以提供不同类型的响应:
自动伸缩IT资源(auto- scaling):根据事先定义的参数
自动通知云用户 (auto-notification):负载过高或过低时
负载均衡器
负载均衡器( load balancer)机制:是一个运行时代理
·主要用于把负载在两个或更多的IT资源上做均衡
·负载均衡器可以执行不同的运行时负载分配功能:
非对称分配( Asymmetric distribution)
负载优先级( Workload prioritization)
内容感知的分配( Content-aware distribution)
按使用付费监控器 :按使用付费监控器(pay-per- use monitor)按照预先定义好的定价参数测量云资源使用,并生成使用日志用于计算费用. 使用数据由计费管理系统( billing management system)进行处理。
典型的监控变量包括:请求/响应消息数量、传送的数据量、带宽消耗
实现方式:资源代理、监控代理
故障转移系统:通过使用现有的集群技术提供冗余的实现来增加IT资源的可靠性和可用性,只要当前活跃的IT资源变得不可用时,便会自动切换到冗余的或待机IT资源实例上。
类型:主动-主动 、主动-被动
虚拟机监控器:是虚拟化基础设施的最基本部分,主要用来在物理服务器上生成虚拟服务器实例。
• 虚拟机监控器通常受限于一台物理服务器
• VIM提供了一组特性来管理跨物理服务器的多虚拟机监控器
资源集群:把多个IT资源实例分为一组,使得他们能像一个IT资源那样进行操作
通过高速专用网络链接或者集群结点实现工作负载、任务调度、数据共享和系统同步等通讯要求。
• 常见的资源集群类型包括:
– 服务器集群——提高性能和可用性
– 数据库集群——提高数据可用性,维持数据的一致性
– 大数据集集群——数据的分区和分布
• 负载均衡的集群——保持集中管理的特性下实现了在集群结点中的分布式工作负载。
• 高可用集群——在多节点失效的情况下保持系统的可用性,需要冗余实现和故障转移机制
多设备代理
多设备代理(multiple-device broker)
• 用于运行时的数据转换
• 克服云服务和多样性的云服务用户之间的不兼容性
• 使得云服务能够被更广泛的云服务用户程序和设备所使用
• 需要创建映射逻辑(mapping logic)来改变运行时交换的信息。
• 多设备代理通常是作为网关存在的:
– XML 网关
– 云存储网关
– 移动设备网关
状态管理数据库:是一种存储设备,用来暂时地持久化软件程序的状态数据,软件程序可以把状态数据卸载到数据库中
• 替代状态数据缓存在内存中的一种方法,用以降低程序占用的运行时的内存量
• 状态管理数据库使得软件程序和周边的基础设施都具有更大的可扩展性
常见调度问题:
1.单处理器上的任务包调度
2.多个处理器上的任务包调度
3. DAG(有向无环图)在异构处理器上的调度
4. 作业车间调度
5. 定期任务调度
调度方法
列表调度方法
列调度( List Scheduling)算法
1.选择任务
2.选择处理器
•重复步骤1和步骤2,直到计划完所有任务.
通过为每个任务分配优先级来构建有序的任务列表,并按优先级顺序选择任务。每个选定的任务都安排到处理器,最小化预定义的成本函数。
设计目标与需求
数据中心通常运行两种类型的应用程序
-面向外部(例如,向用户提供网页)
-内部计算(例如,用于Web索引的MapReduce)
工作量通常无法预测:
-在Data Center内同时运行多个服务
-对新服务的需求可能出乎意料
服务器故障是常态
需求:
1.统一的高容量
2.性能隔离:一项服务的流量不受其他服务器的影响
3.易于管理“即插即用”
4.可扩展,易于管理,容错和要求高效的数据中心网络(DCN)
5.对网络协议的影响
成本:服务器、电力基础设施、电力消耗、 网络
数据中心拓扑(Topologies )结构(分类)
1.树形网络
2.星型网络
3.总线型
4.网状拓扑网络
5.总线型网络
常见拓扑结构:Fat-Tree拓扑、递归拓扑 、DCN拓扑分类
重点掌握 Fat-Tree架构及属性
Fat-Tree:一种特殊类型的Clos网络
负载均衡架构
• 分布式IT资源:
– 各个同类型IT资源同时提供服务
– 水平扩展:增加/减少相同的IT资源
• 负载均衡 Load Balancing
– 在可用IT资源上均匀分配工作负载
• 负载均衡器:
– 资源入口处执行负载均衡的实体
动态可扩展架构
动态水平扩展(Dynamic Horizontal Scaling)
⚫ 向内或向外扩展IT资源实例
⚫ 自动扩展监听器请求资源复制,并发信号启动IT资源复制
动态垂直扩展(Dynamic Vertical Scaling)
⚫ 调整单个IT资源的处理容量
⚫ 向上或向下扩展IT资源实例
动态重定位(Dynamic Relocation)
⚫ 将IT资源重新放置到更大/更小容量的主机上
动态可扩展架构
⚫ 基于预先定义的扩展条件从资源池中动态分配IT资源
⚫ 云资源弹性管理的核心机制。
自动扩展监听器
⚫ 实现动态扩展的核心部件
⚫ 监听负载状态以决定何时扩展
云爆发架构
Cloud Bursting Architecture
⚫ 动态扩展架构的特殊形式
云数据中心和企业IT资源协同
⚫ 企业内部IT资源<——>云IT资源
⚫ Burst-in and burst-out (向内爆发和向外爆发)
基于云的IT资源是冗余性预部署
⚫ 保持非活跃状态,直到发生云爆发
弹性磁盘供给架构
Elastic Disk Provisioning Architecture
⚫ 动态存储供给系统
⚫ 确保按照云用户实际使用的存储量进行精确计费
基于自动精简供给技术
辅助机制:
⚫ 云使用监控器
⚫ 资源复制
虚拟机(架构,在线迁移机制,性能指标及函数)
在线迁移机制:
1.分层框架:将应用程序划分为多个层,并仅迁移目标中丢失的层
2.多路径TCP:利用由多路径TCP提供的聚合吞吐量来并行化迁移,这减少了迁移时间
云服务容错架构以及容错机制
云服务不可用的原因很多:
– 运行时需求超出处理能力
– 维护更新导致的暂时中断
– 云服务迁移
– 物理机失效、宕机
• 应对机制
– 服务迁移
– 服务故障检测与恢复
– 物理机容错
定义
算法、系统(基础设施)、数据
三个视角
1.AI 视角 ——>智能感知
2.云计算视角 ——>内容分发
3.移动计算视角 ——>AR等交互式应用
性能建模与优化
性能建模方法: 1.系统分析:通过系统架构和模型,分析和推导影响性能各因素与性能指标之间的直接关系
2.数据挖掘:测量系统在不同因素下性能,基于测量数据,采用数据挖掘方法建立性能模型
用户响应时间: 本地计算时间、数据传输(等待)时间、云上计算(等待)时间
影响因素:1.本地设备计算能力 2.网络带宽、延迟、拥塞 3.云处理能力、负载 4.计算模块部署
系统性能指标:响应时间、吞吐率
优化技术:数据存放于负载调度、计算切分(将应用程序的工作负载分解为较小的部分,并决定哪些部分在本地执行,以及哪些部分转到云端)
计算切分