云计算概论
从大数据时代背景出发,理解云计算的 NIST 定义、五大本质特征、IaaS/PaaS/SaaS 服务模型、四种部署模型与核心技术栈。
🎯学习目标
- 理解云计算产生的背景——大数据时代与计算模式的演化;
- 掌握 NIST 对云计算的权威定义;
- 掌握云计算的五大本质特征(按需自服务、弹性扩展、资源池化、网络访问、按量计费);
- 区分 IaaS / PaaS / SaaS 三种服务模型,明确各自"谁负责什么";
- 了解公有云、私有云、混合云、社区云四种部署模型;
- 熟悉云计算核心技术栈(计算、存储、网络)与典型厂商产品。
1背景:大数据与计算模式演进
计算模式经历了集中(大型机)→ 分散(PC)→ 重新集中(云计算)的螺旋演化。重新集中的根本驱动力是大数据的爆发。
什么是大数据
大数据是指海量数据,其规模巨大到无法通过目前主流计算机系统在合理时间内获取、存储、管理、处理并提炼,以帮助使用者决策。
大数据的 4V + 1C 特征
| 特征 | 含义 |
|---|---|
| Volume(数据量大) | PB / EB 级别成为常态 |
| Velocity(快速) | 数据产生与处理要求极速响应 |
| Variety(多样) | 结构化、半结构化、非结构化混合 |
| Value(价值密度低) | 需从海量沙砾中淘金 |
| Complexity(复杂度高) | 分析难度呈指数上升 |
2云计算的定义(NIST)
根据 NIST(美国国家标准与技术研究院)定义:
"Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction."
3五大本质特征 ⭐(核心考点)
云计算的本质可凝练为五个核心特征,点击卡片翻转查看要点:
按需自服务
On-demand Self-service弹性扩展
Rapid Elasticity资源池化
Resource Pooling网络访问
Broad Network Access按量计费
Measured Service云计算中心如何选址?
最大物理开销是电力和制冷,选址关键在于寻找便宜的电力和自然冷源(如 BAT 到贵州山区建立数据中心)。
| 电价 | 地点 | 定价原因 |
|---|---|---|
| 3.6 美分 | 爱达荷州 | 水力发电,无长途输送 |
| 10.0 美分 | 加州 | 长途输送、输送线有限、禁煤电 |
| 18.0 美分 | 夏威夷 | 发电能源需海运到岛上 |
4服务模型 IaaS / PaaS / SaaS ⭐
用"住房"类比最易理解——从自己盖房到拎包入住,对底层资源的掌控逐渐减少:
三种模型的住房类比
本地部署
自己盖房子。从硬件到应用全部自管。
IaaS
聘请工人盖房。租硬件,自管 OS、运行时、数据。
PaaS
租房自带家具。自带代码部署,服务器管理交给云商。
SaaS
拎包入住。直接用完整应用,仅负责自己的数据。
三种交付模型对比
| 模型 | 服务对象 | 使用方式 | 关键技术 | 控制等级 | 典型产品 |
|---|---|---|---|---|---|
| IaaS | 需要硬件资源的用户 | 上传数据、代码、环境配置 | 虚拟化、分布式海量存储 | 使用和配置 | Amazon EC2/S3、Eucalyptus |
| PaaS | 程序开发者 | 上传数据、程序代码 | 云平台技术、数据管理 | 有限的管理 | Google App Engine、Azure、Hadoop |
| SaaS | 需要软件应用的用户 | 上传数据 | Web 服务、互联网应用开发 | 完全的管理 | Google Apps、Salesforce CRM |
各模型典型产品速览
| 模型 | 说明 | 典型产品 |
|---|---|---|
| IaaS | 将服务器、内存、I/O、存储、计算能力作为计量服务;消除前期购买硬件投入、更好的灾难恢复 | Amazon EC2(可调整大小的计算容量)、Amazon S3(对象存储) |
| PaaS | 将服务器平台或开发环境作为服务;减少 OS、数据库、运行环境配置开销 | Google App Engine、Microsoft Azure(监控、备份、扩容、容灾、高可用、版本控制) |
| SaaS | 通过 Internet 提供软件,免客户端、随处访问、只为所用付费 | 文档协同、在线会议、企业 OA、网络云盘 |
5部署模型(四种)
| 部署模式 | 优点 | 缺点 | 典型场景 |
|---|---|---|---|
| 公有云 | 零初始硬件成本、极致弹性、无需底层运维 | 数据控制权弱、隐私与安全顾虑 | 互联网应用、初创企业、突发流量 |
| 社区云 | 多方均摊成本、满足特定行业合规 | 参与方协调成本高、扩展性不及公有云 | 医疗数据联盟、高校算力共享、政务云 |
| 私有云 | 最高安全与隐私、满足严苛合规、底层完全可控 | 初始采购成本极高、需专门 IT 团队、扩展受限 | 政府机构、大型金融、核心机密系统 |
| 混合云 | 兼顾安全与弹性、优化整体成本 | 架构最复杂、跨云互通与数据同步难 | 核心稳态数据本地 + 突发流量溢出公有云 |
6云计算发展历程
- 1990 年代(雏形):网络计算、效用计算思想萌芽。
- 2000~2001(虚拟化成熟):VMware 实现物理机到虚拟机的资源池化,资源不再死绑硬件。
- 2006(商业里程碑):Google 提出云计算概念,AWS 推出 EC2(弹性计算云)/S3,传统 IaaS 时代正式开启。
- 2010(IaaS 开源繁荣):OpenStack 社区成立,企业用开源技术搭建私有 IaaS。
- 2011(PaaS 开源):第一个开源 PaaS 平台 CloudFoundry 发布,云开始向应用层上浮。
- 2013(Docker):轻量级容器技术颠覆软件交付方式。
- 2014(K8s):Google 发布 Kubernetes,解决大规模容器调度。
- 2015(CNCF 成立):正式迈入云原生时代。
7核心技术栈(计算·存储·网络)
云计算的三大基础设施是计算、存储、网络。
① 计算:怎么把物理机切给多个用户?
| 技术 | 原理 | 特点 |
|---|---|---|
| 虚拟化(Hypervisor) | 将一台物理机分成多台拥有独立 OS 的虚拟机 | 隔离性强、安全性高,但笨重(每个 VM 跑完整 OS) |
| 容器(Docker) | 多个容器共享宿主机内核,只隔离应用及依赖库 | 极致轻量、秒级/毫秒级启动,云原生基石 |
② 存储:怎么存庞杂数据?
| 技术 | 原理 | 特点 |
|---|---|---|
| 分布式存储 | 海量数据分散在多节点,组合成巨大逻辑磁盘 | 高吞吐、高容错(多副本机制) |
| 对象存储(S3/OSS) | 扁平化命名空间,数据+元数据打包为对象,URL 访问 | 容量近乎无限,适合非结构化数据(图片、视频、备份) |
③ 网络:海量服务器怎么管理?
| 技术 | 说明 |
|---|---|
| 软件定义网络(SDN) | 控制面与数据面分离,纯软件编程动态管理网络资源 |
| 弹性负载均衡 | 将外部海量并发请求均匀分发到多个计算节点 |
8弹性算力优势与物理极限
云的弹性算力体现在并行计算:将大任务拆分到多进程/多实例同时执行。例如大规模矩阵乘法,可将矩阵按行分块分配给多个进程并行计算。
def parallel_multiply(A, B, num_workers):
# 1. 将大矩阵拆解为 num_workers 个独立子块
chunks = np.array_split(A, num_workers)
# 2. 模拟调用云端 API,横向拉起 num_workers 个计算实例
with multiprocessing.get_context('fork').Pool(processes=num_workers) as pool:
# 3. 任务分发给各实例并行计算
results = pool.map(matrix_multiply_chunk, [(chunk, B) for chunk in chunks])
return np.vstack(results) # 垂直拼接各分块结果
⭐重点例题
- IaaS:云商提供网络、存储、服务器、虚拟化;公司负责操作系统、运行时、数据、应用(如租 EC2 自己装环境)。
- PaaS:云商额外管 OS 和运行时;公司只负责代码(应用)和数据(如 App Engine)。
- SaaS:云商管全部;公司只负责自己的数据(如直接用 Salesforce)。
🎯自测(点击展开)
云计算的五大本质特征是什么?
IaaS、PaaS、SaaS 用户控制力如何排序?
公有云和私有云的主要权衡是什么?
阿姆达尔定律说明了什么?
对象存储与传统文件系统最大的区别是什么?
📝强化题库
选择题点选即时判分;填空题输入后"检查"或"显示答案"。