云计算
背景
- 提高资源利用率
基础
- 并行计算
- 分布式计算
- 网格计算
生态系统
- 硬件
- 软件
- 服务
- 网络
- 安全
部署模式
- 公有云
- 私有云
- 混合云
数据中心
数据集中存储、计算、交换的中心
软件定义数据中心
IaaS
区域
区域:一般以国家或地区命名,相当程度地体现了云厂商的业务重点和地区倾向,一般要不选择经济发达地区,要不选择省资源的地区
可用区:一个区域通常由多个可用区高速互联组成
虚拟机
vCPU 数和内存大小(按 GB 计算)的比例,是决定和区分虚拟机类型的重要指征之一
- 通用均衡型的比例通常是 1:4
- 计算密集型是 1:2 甚至 1:1
- 内存优化型 一般是1:8 及以上
- 图形计算型
虚拟机的换代,往往首先会带来相应硬件 CPU 的换代提升,其次是底层软硬件架构的更新和提升,尤其是虚拟化技术的改进
- 包年包月机型:降低了云端动态租用的不确定性,减少了服务器空置的情况
- 竞价实例:闲置的机器资源拿出来,进行公开的拍卖,价高者得,这意味着资源随时有可能被回收
- 突发性能类型:CPU 性能表现采用的是积分制,其积分会随着时间的推移匀速累加,也会随着算力的输出而被不断消耗,当积分不足或耗尽时,则 CPU 只能发挥出标称值的一小部分性能
- ARM 实例:价格也很低,主要在生态和兼容性方面存在一些限制
云硬盘
云硬盘是在专用的磁盘服务器阵列中,与虚拟机是通过数据中心内部的特有 IO 线路进行连接
一块大盘被分成小盘,与此同时会把大盘的读写总通道中分给小盘作为IO能力,在同等的性能等级下,云硬盘的容量越大,一般来说它的性能就越高,直到达到这个等级的上限
虚拟网络
VPC:虚拟私有网络(Virtual Private Cloud)
- 网段,私有网络的内部 IP 区段,通常用 CIDR 形式来表达,
- 子网,私有网络的下级网络结构,一个私有网络可以划分多个子网,这和通常意义上的子网也是对应和一致的。阿里云中把子网形象地称为“交换机”
- 路由表,用于定义私有网络内流量的路由规则,决定着数据包的“下一跳”去向何方
- 网关,是对进出私有网络的流量进行把守和分发的重要节点
- 安全组,私有网络里虚拟机进出流量的通行或拦截规则
虚拟机通过挂载VPC的虚拟网卡来加入VPC,而虚拟机的公网IP则是通过弹性IP来绑定
为了让VPC内部的虚拟机可以对外访问,云服务商提供了添加NAT网关的方式来实现
如果要让两个VPC之间互通,有种称为对等连接的方式可以实现,而多个VPC互通就要使用更高级的企业专网来实现了
如果要实现混合云,轻量级的方案可以使用VPN,如果要追求性能何延迟,那就要拉专线了
容错
对于虚拟机的存放,要做容错,就要分散存放,分散程度:宿主机 < 可用区 < 区域
伸缩
虚拟机可以创建自定义镜像,并部署多个实例,配合负载均衡器来实现处理能力的扩展,同时也可以配置伸缩规则来伸缩实例
运维
云运维侧重点:
- 监控
- 备份
- 迁移
- 与云厂商对接
- 云资源的管理、云相关操作的制度流程制定执行...
PaaS
在 IaaS 的基础上又做了许多工作,构建了很多关键抽象和可复用的单元,让用户能够在更上层进行应用的构建
优势:搭建和运维层面更有生产力及效率
衡量PaaS:
- 是否带有内生的运行环境
- 存在的位置和范围,以及给予的控制粒度
- 是否有状态
- 支撑 PaaS 的虚拟机是否对外暴露
PaaS封装带来了生产力效率提升,同时也带了调教设置灵活性的困扰
对象存储
与云硬盘的区别:
- 对象存储一般暴露为HTTP接口,云硬盘则是操作系统级别的底层接口
- 对象存储更像是一种KV数据库
- 对象存储容量近乎无限扩展
高级特性:
- 冷热数据分层存储,降低存储成本
- 生命周期管理,可根据设定的规则自动对数据进行归档或者删除
- 对象版本管理
应用托管
云厂商提供受限的程序运行环境,需要做的就是上传代码即可
在此基础上额外的服务:
- 监控
- 自动扩缩容
- 与云平台的PaaS集成
云数据库
既有传统的关系型数据库,也有专门为云而设计的数据库,这些数据库大都兼容了已有的接口,应用都可以无缝迁移,相较于自己的数据库,云上数据库的优势在于:
- 更容易的扩展,自动化设施使得读写分离等很容易
- 自动调优,云平台帮助分析SQL性能,给出建议
专门跑在云上的数据库,比如DynamoDB、Aurora等,可扩展性、可用性更强
云上大数据
存储与计算解耦的更多:
- 存储端可以直接读写云平台已有的服务
- 计算端得益于云的弹性,可以有效地降低成本
云容器
云上的容器调度服务由于多租户的特性,使得只需要创建 Worker 节点,并为之付费,由云平台来管理 Master 节点,另外跟容器有关的云服务就是容器镜像服务
更加方便易用的全托管容器服务。更是不用自己管理集群,只要上传镜像,容器就能托管在上面
无服务器计算
通过各式各样的触发器来发布事件给编写函数进行处理,各种云之间没有标准,这是一种强厂商绑定的技术,复杂的业务也不适用,这是一些需要注意的点
云上AI
一些开箱即用的服务:图像识别、语音识别、视频处理等
云平台也提供了从数据标注到模型部署的一站式开发平台来标准化AI的开发工作
虚拟化技术
虚拟化技术的核心思想是利用软件或固件管理程序构成虚拟化层,把物理资源映射为虛拟资源
服务器虚拟化
- 寄居虚拟化
- 裸机虚拟化
- | 全虚拟化 | 半虚拟化 | 硬件虚拟化 |
---|---|---|---|
特点 | VMM向虚拟机模拟出和真实硬件完全相同的硬件环境 | VMM需要操作系统的协助才能够完成对x86敏感特权指令的虚拟化 | VMM需要硬件的协助才能完成对硬件资源的虚拟 |
优点 | 不用修改Guest0S | 性能高,能达到与原始系统相近的性能 | 不用修改GuestOS内核 |
缺点 | 虚拟化平台给处理器带来开销 | 必须修改Guest OS | 需要硬件支持 |
代表产品 | VMware;Virtual PC | Xen;Denali | Intel VT;AMD-V |
虚拟机迁移
sequenceDiagram
源宿主机 ->> 源宿主机: 预迁移
源宿主机 ->> 目标宿主机: 预定资源
源宿主机 ->> 目标宿主机: 预复制
源宿主机 ->> 目标宿主机: 停机复制
目标宿主机 ->> 源宿主机: 提交
目标宿主机 ->> 目标宿主机: 启动
存储虚拟化
存储虚拟化是指将存储网络中各个分散且异构的存储设备按照一定的策略映射成一个统一的连续编址的逻辑存储空间,称为虚拟存储池,并将虚拟存储池的访问接口提供给应用系统。
网络虚拟化
- 网卡虚拟化
- 硬件设备虚拟化
- 链路虚拟化
云安全技术
- 可信访问控制
- 数据存在与可使用性证明
- 数据隐私保护
- 虚拟安全技术
- 云资源访问控制
开源云计算管理平台
- open stack
数据中心网络
- 边界路由器:数据中心的入口与出口,为了高可用,边界路由器会有多个
- 接入层交换机:连接统一机架上的服务器,LACP(Link Aggregation Control Protocol)协议可以使服务器与交换机进行通信,将服务器的多个网卡聚合称为一个网卡,多个网线聚合成一个网线,在网线之间可以进行负载均衡
- 汇聚层交换机:连接多个机器之间的交换机
汇聚层将大量的计算节点相互连接在一起,形成一个集群。在这个集群里面,服务器之间通过二层互通,这个区域常称为一个 POD(Point Of Delivery),有时候也称为一个可用区(Available Zone)。连接多个可用区的交换机称为核心交换机
- 叶子交换机(leaf),直接连接物理服务器。L2/L3 网络的分界点在叶子交换机上,叶子交换机之上是三层网络
- 脊交换机(spine switch),相当于核心交换机。叶脊之间通过 ECMP 动态选择多条路径。脊交换机现在只是为叶子交换机提供一个弹性的 L3 路由网络。南北流量可以不用直接从脊交换机发出,而是通过与 leaf 交换机并行的交换机,再接到边界路由器出去