IaaS
核心功能
- 资源抽象
- 对硬件进行虚拟化,从硬件驱动/接口出发:向下,针对不同硬件产品建立不同的适配器,屏蔽硬件产品的差异;向上,提供统一的标准的管理逻辑接口,对硬件进行统一的管理。
- 核心问题:对资源进行粒度划分并管理,其中既包括单一资源的粒度划分,也包括多种资源的组合打包;
- 粒度分级:虚拟机——集群——虚拟数据中心——云
- 需要将物理资源放入统计的资源池中,对资源池进行管理并呈现给用户。
- 资源监控
- 保障基础设施层高效工作的关键,是负载管理的前提,调用资源本身的监控接口,但需要对不同的资源采取不同的监控方式
- 计算单元——使用率
- 存储单元——使用率、读写操作
- 网络——实时的输入、输出以及路由状态
- 采取不同的监控层次,根据资源粒度层次;
- 对不同的监控对象进行监控,包括物理单元、逻辑单元、解决方案等;
- 定义监控事件和触发规则,是业务逻辑的体现,自动化管控的实现基础。
- 保障基础设施层高效工作的关键,是负载管理的前提,调用资源本身的监控接口,但需要对不同的资源采取不同的监控方式
- 负载管理
负载均衡,防止低效率或资源浪费。需要研究负载对性能的影响,负载对资源的影响。 - 数据管理
- 多种数据并存:包括结构化XML数据,非结构化二进制数据,关系型数据库数据等。
- 物理上分布式存储,需要满足数据的完整性(要求数据确定,可恢复,一致读和同步写)、可靠性(降低数据损坏的几率,冗余备份和恢复)、可管理性(提供相应的操作支持粗粒度逻辑简单的管理)。
- 资源部署
- 通过自动化部署流程将资源交付给上层应用;
- 支持动态资源可伸缩性,支持故障恢复与硬件维护。
- 安全管理
- 保证基础设施资源被合法地访问和使用
计费管理
总体设计:建立物理设施 :房屋、硬件设备、网络、电力、冷却装置等等;虚拟化;建立基础设施层管理系统 ;建立基础设施层服务。
- 服务流程:规划——部署——运行
- 规划阶段:虚拟化;用户访问及管理;数据管理。
- 部署阶段:虚拟机或虚拟解决方案的部署 ;分配资源;虚拟机内部配置文件描述资源配置 ;接收虚拟化集成管理器的激活命令 ;启动配置实例。
运行阶段:白盒管理与黑盒管理结合,实现资源监控 ;负载管理 ;安全管理 ;用户服务。
PaaS
常见的平台:
- 基于快速开发目的技术平台
- 基于业务逻辑复用的业务平台
- 基于系统自维护、自扩展的应用平台
平台层是具有通用性和可复用性的软件资源集合,为云应用提供了开发、运行、管理和监控的环境,更好地满足了云应用的可伸缩性、可用性和安全性。
核心功能
开发平台:平台层是其上运行的应用的开发平台 ,需要提供应用模型 ,API代码库和必要的开发测试环境。
- 应用模型包括编程语言、应用的元数据模型和应用的打包发布格式;
- API代码库是平台层为其上应用而提供的统一服务,包括界面绘制、消息机制等,减少重复工作,缩短开发周期;
- 开发测试环境:在线的应用开发测试环境,开发人员无需安装和配置开发软件。
- 运行时环境:在开发完毕后,进行部署上线,不同的平台层用户完全独立。要求隔离性、可伸缩性、资源可复用。
- 隔离性:业务隔离、数据隔离、应用间隔离、用户间隔离
- 可伸缩性:动态资源分配,根据工作负载、业务规模等动态分配计算能力、存储、网络带宽等;
- 资源可复用:与可伸缩性有关,宏观无限,微观有限。
运营环境
PaaS的优势
应用层服务
网络访问模式
- 通过浏览器访问;
- 具有开放的API,允许用户或瘦客户端调用;
- 租用付费
- 无需一次性购买投入,
- 按用付费,
- 注册
高度整合
长尾理论:看似需求极低的服务,只要有供给,就会有人要
交付给用户的是定制化的软件
- 将软件或应用以租用的形式提供给用户
- 用户无需本地安装软件副本,无需维护相应的硬件资源
- 软件通过网络交付给用户,用户端只需浏览器或客户端工 具
-
Serverless
软件服务细化到更细粒度的函数层面,通过FaaS的组合构建自己的代码
- FaaS和对应的支撑服务BaaS(Backend as a service)共同构成了Serverless
- Serverless并不是SaaS的一种,也不能简单看作是PaaS和SaaS的结合,Serverless是云服务发展的新阶段,随着IT资源不断的封装服务化,Serverless是SaaS基础上进一步演化的结果,被封转的内容越来越丰富。
思考题:
- IaaS的基本功能
- PaaS的基本功能
- SaaS的典型应用