我们使用的云服务究竟是什么?从虚拟化到云计算

云服务的意义:提高资源利用效率
在这里插入图片描述
(图片来源于网络,侵删)

1、有哪些资源?

计算资源:CPU和内存
存储资源:硬盘,也就是存储空间
网络资源:比如给用户分配的IP地址

2、弹性(灵活性):

时间灵活性:随要随用(不用自己配置资源)
空间灵活性:想用多少就能用多少(不用担心需要配置多大的资源)

3、云服务提供商如何实现这种弹性?

第一:虚拟化

第一阶段:虚拟机+云管理平台
虚拟机(如VMWare,KVM) 是硬件的虚拟化,达到操作系统级的隔离。

  • 虚拟机中运行独立的操作系统,使用主机分配的计算、网络、存储资源。
  • 相当于一台计算机硬件上多个独立的计算机系统。
  • 多个虚拟机之间是完全隔离的。

云管理平台(如openstack):管理各个虚拟机使用的计算、存储、网络资源。

⬇️虚拟机占用空间大,不易迁移,于是产生了容器技术

第二阶段:容器+容器集群管理
容器(创建/运行容器的应用如docker):“轻量化”的虚拟机,是操作系统虚拟化,达到进程级的隔离。

  • 容器中没有独立的操作系统,只包含程序所需的运行环境。
  • 相当于一台计算机的本机操作系统上的多个资源集合。
  • 多个容器之间运行的程序是隔离的,但都运行在同一个操作系统上,共用主机的计算、网络、存储资源。

容器集群管理(如k8s):服务器集群中会有大量的容器存在,以隔离各个用户的资源。容器在各服务器上的部署,问题监控以及与外界的通信都需要统一管理。

第二:池化/云化

主旨:已有资源池的按需分配,需求动态管理
产出:包装形成不同类型的服务,像Iaas(基础设施即服务,即基础设施在云上,如谷歌云),Paas(平台即服务,即开发平台在云上,如google app engine),SaaS(软件即服务,软件本身在云上,如icloud,网盘)等。

4、如何分配资源?

  • 根据需求类型分配相应资源
  • 根据需要的资源映射到提供资源的硬件,达到最大程度的利用
  • 提前预测 & 实时监控
(1)调度策略的评价标准:

完成时间(Task Makespan)、经济原则(Economic Principles)、通信成本(Communication Cost)、安全程度(Degree of Safety)、负载状况(Load Condition)等。

(2)实时调度:
传统算法:

Min-Min算法

  • 对于云计算数据中心的可用计算资源,每次都选取具有最快执行速度和能将某一任务最先完成的计
    算资源,是一种典型的先易后难策略。该算法一般用于任务负载轻,
    且用户对服务质量要求不高的情况。当云计算规模扩大、任务增多时,利用该调度算法容易造成优质资源上的任务累积过多,而其他资
    源长期处于空闲状态,不利于提高整体资源利用率。

Min-Max算法

  • 和Min-Min不同的是, Max-min在获取到云计算数据中心
    可最早执行的计算资源后,总是将计算量最大,也就是完成时间最晚的任务分配至该计算资源。

Sufferage算法

  • 与上述两种算法思想类似,不同在于Sufferage算法中将次小任务完成时间与最小任务完成时间的差定义为任务执行损失,称为Sufferage值。在任务调度过程中,总是将任务分配至具有最大Sufferage值的计算节点。
基于Map/Reduce

FIFO(First in First out)

  • FIFO算法即对任务实行先进先出的调度策略,根据用户提交应用任务的优先级别和到达时间来判断与计算资源的映射关系。在云计算系统中,计算资源一旦出现空闲状态,系统就在任务队列中选择最早提交并且优先级高于其他的任务,
    分配至该计算资源进行执行。

公平调度算法(Fair Scheduling)

  • 在公平调度算法中,建立与资源池结构类似的任务池,将不
    同优先级的任务分配至不同任务池内等待分配,在任务池中系统负责对任务进行管理与维护,池内的任务可以平分可用资源,不同任务池
    的任务则对计算资源进行抢占。

计算能力调度算法(Capacity Scheduling)

  • 数据中心根据内部可用资源的性能参数,在系统接收到用户发出服务请求并提交应用任务后,数据中心通过多个JobQueue队列管理任务,并给每个JobQueue队列一定的资源参数配比,用于执行在该队列内的任务。一旦出现某个JobQueue队列中任务不需要配备的计算资源
    时,该队列所属的资源就会被其他 队列利用,当该队列内又出现任务需要执行时,原来被配备的计算资源重新用于执行该队列内的任务。
智能算法

利用蚁群算法、遗传算法、粒子群算法等,基于调度策略评价标准中关心的优化目标,搜索最优解。

(3)提前预测

在初次部署某客户需求时:

  • 资源需求模型库中检索与目标业务系统具有相同业务类型的资源需求模型,获得第一次匹配结果。(模型库中保存了各模型适用业务相关特征)
  • 在第一次匹配结果中检索与目标业务系统具有相同虚拟机用途的资源需求模型。
  • 在第二次匹配结果中检索与目标业务系统具有相同 业务规模 的资源需求模型。

一个实例:用户需要申请一台用于部署“校园一卡通”的虚拟机

  • 获取用户的需求信息,其中,业务类型 为“校园一卡通”,虚拟机用途为“应用服
    务器”,业务规模为“5000~10000 人”,申请时间为“8:00”
  • 检索出 业务类型 为“校园一卡通”的资源需求模型,获得第一次匹配结果
  • 在第一次匹配结果中检索出虚拟机 用途 为“应用服务器”的资源需求模型,获得第 二次匹配结果
  • 在第二次匹配结果中检索出 业务规模 为“5000~10000 人”的资源需求模型,获得第三次匹配结果
  • 对第三次匹配结果进行筛选,提取最优资源需求模型。
  • 根据所述最优资源需求模型所对应的元素信息(资源类型),提取标准需求数量。

客户申请的用量和实际用量可能有出入,因此为了防止由于用户对需求的预判不足导致所分配的资源不足以满足用户的实际需求,因此要根据已有模型对用户实际用量进行预测以及调整。一种方法:

  • 将目标业务系统的申请时间与最优资源需求模型所对应的 峰值时间 进行比对,如果申请时间不处于在峰值时间内,则提交的需求数量无需修正,如果申请时间处在峰值时间,则需要根据最优资源需求模型所对应峰值需求增长比例,计算出应申请的资源数量,其中,应申请的资源数量= 标准需求数量 ×(1+ 峰值需求增长比例)。
  • 对应到实例:将申请时间“8:00”与最优资源需求模型所对应的峰值时间进行比对,判断出申请时间不处于在峰值时间内,此时标准需求数量即为应申请的资源数量。

以上是学习过程中的一些记录,欢迎批评指正,共同进步~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值