223 lines
7.5 KiB
Markdown
223 lines
7.5 KiB
Markdown
# 第2天:IaaS、PaaS、SaaS——三种云服务套餐
|
||
|
||
## 今天你将学到什么
|
||
|
||
昨天我们知道了云计算是"租用计算资源"。但租也有不同的租法——就像你可以租一间毛坯房自己装修,也可以租一间精装房拎包入住。
|
||
|
||
今天学完,你会明白:
|
||
- 三种服务模型各自包含什么
|
||
- 你和云服务商各自负责什么(这个非常重要)
|
||
- 什么场景该选哪种模型
|
||
|
||
---
|
||
|
||
## 用吃饭来理解三种模型
|
||
|
||
假设你想吃一顿饭,有这么几种方式:
|
||
|
||
### 方式一:自己从头做(传统自建 IT)
|
||
|
||
你需要:
|
||
- 自己种菜养鸡(买硬件)
|
||
- 自己砌灶台接水电(搭建机房)
|
||
- 自己买锅碗瓢盆(安装操作系统和中间件)
|
||
- 自己做菜(开发应用)
|
||
- 自己洗碗收拾(日常运维)
|
||
|
||
一切都是你的,一切也都要你操心。
|
||
|
||
### 方式二:租一个厨房 = IaaS
|
||
|
||
有人提供了一个设备齐全的厨房(燃气灶、冰箱、水电都通了),你只需要:
|
||
- 自己买食材(安装操作系统和软件)
|
||
- 自己做菜(部署应用)
|
||
- 自己洗碗(运维)
|
||
|
||
厨房坏了房东修,但做什么菜、怎么做,完全由你决定。
|
||
|
||
### 方式三:去餐厅吃自助 = PaaS
|
||
|
||
餐厅提供了食材、厨具、调料,甚至有半成品。你只需要:
|
||
- 选择食材组合
|
||
- 简单加工一下
|
||
- 享用
|
||
|
||
你不用管厨房怎么运转,专注于"做出好吃的菜"就行。
|
||
|
||
### 方式四:点外卖 = SaaS
|
||
|
||
打开手机,选好菜品,付款,等送到,打开盒子就吃。
|
||
|
||
你什么都不用管,直接享受最终成果。但你也没法要求外卖店按你的独特口味来做。
|
||
|
||
---
|
||
|
||
## 正式定义
|
||
|
||
### IaaS(Infrastructure as a Service)基础设施即服务
|
||
|
||
云服务商提供最底层的东西:虚拟机、网络、存储。相当于给你一台"裸机",上面装什么、跑什么,你自己决定。
|
||
|
||
**AWS 上的 IaaS 代表**:
|
||
- EC2 — 虚拟服务器(相当于一台远程电脑)
|
||
- VPC — 虚拟网络(相当于你自己的局域网)
|
||
- EBS — 虚拟硬盘
|
||
|
||
**生活类比**:租了一间空房子,水电通了,但家具、装修、生活用品都要自己搞。
|
||
|
||
**你需要负责**:
|
||
- 选择和安装操作系统(Windows 还是 Linux)
|
||
- 安装运行环境(Java、Python、Node.js 等)
|
||
- 部署你的应用程序
|
||
- 打安全补丁、做备份、监控运行状态
|
||
|
||
**适合谁**:
|
||
- 需要完全控制服务器环境的团队
|
||
- 要运行特殊软件或特定操作系统版本的场景
|
||
- 把现有系统原封不动搬到云上(叫"Lift and Shift")
|
||
|
||
---
|
||
|
||
### PaaS(Platform as a Service)平台即服务
|
||
|
||
云服务商不仅提供硬件,还帮你把运行环境都搭好了。你只需要把代码丢上去,它就能跑。
|
||
|
||
**AWS 上的 PaaS 代表**:
|
||
- Elastic Beanstalk — 你上传代码,它自动帮你配置服务器、负载均衡、自动扩展
|
||
- RDS — 托管数据库,你不用装 MySQL,直接用
|
||
- Lambda — 你只写一个函数,连服务器都不需要
|
||
|
||
**生活类比**:住进了精装修的公寓,家具家电齐全,你只需要带上个人物品(你的代码)就能生活。
|
||
|
||
**你需要负责**:
|
||
- 写代码
|
||
- 管理你的数据
|
||
- 设置用户权限
|
||
|
||
**不需要你管的**:
|
||
- 操作系统更新
|
||
- 服务器扩容
|
||
- 硬件故障处理
|
||
- 网络配置
|
||
|
||
**适合谁**:
|
||
- 想专注于写代码,不想管服务器的开发者
|
||
- 快速上线原型或 MVP(最小可行产品)
|
||
- 小团队,没有专职运维人员
|
||
|
||
---
|
||
|
||
### SaaS(Software as a Service)软件即服务
|
||
|
||
云服务商提供完整的应用程序,你通过浏览器或 APP 直接使用。
|
||
|
||
**日常生活中的 SaaS**(你可能天天在用):
|
||
- Gmail / Outlook — 邮箱
|
||
- 微信 / Slack — 通讯
|
||
- 腾讯文档 / Google Docs — 在线文档
|
||
- Zoom — 视频会议
|
||
- Notion — 笔记和项目管理
|
||
|
||
**AWS 上的 SaaS 代表**:
|
||
- Amazon WorkMail — 企业邮箱
|
||
- Amazon Chime — 视频会议
|
||
|
||
**生活类比**:住酒店。你什么都不用管,拎包入住,退房走人。但你不能改房间的装修风格。
|
||
|
||
**你需要负责**:
|
||
- 管理你的账号和数据内容
|
||
- 就这些
|
||
|
||
**适合谁**:
|
||
- 标准化的需求(邮箱、文档、会议)
|
||
- 不需要任何技术背景就能使用
|
||
- 想要零运维
|
||
|
||
---
|
||
|
||
## 一张图看清责任边界
|
||
|
||
这是 AWS 最重要的概念之一——**共享责任模型**。
|
||
|
||
想象一栋楼有 8 层,从底到顶分别是:
|
||
|
||
| 层级 | 自己建 | IaaS | PaaS | SaaS |
|
||
|------|--------|------|------|------|
|
||
| 8. 你的数据 | 你管 | 你管 | 你管 | 你管 |
|
||
| 7. 你的应用程序 | 你管 | 你管 | 你管 | **云管** |
|
||
| 6. 运行环境 | 你管 | 你管 | **云管** | **云管** |
|
||
| 5. 操作系统 | 你管 | 你管 | **云管** | **云管** |
|
||
| 4. 虚拟化层 | 你管 | **云管** | **云管** | **云管** |
|
||
| 3. 服务器硬件 | 你管 | **云管** | **云管** | **云管** |
|
||
| 2. 网络设备 | 你管 | **云管** | **云管** | **云管** |
|
||
| 1. 物理机房 | 你管 | **云管** | **云管** | **云管** |
|
||
|
||
**关键记忆点**:越往上(SaaS 方向),你操心的事越少,但灵活度也越低。
|
||
|
||
AWS 官方的总结非常精辟:
|
||
> **AWS 负责"云的安全",你负责"云中的安全"。**
|
||
|
||
意思是:机房不会着火、硬件不会被偷,这是 AWS 的责任。但你的数据库密码设成了 123456 被黑客攻破,那是你的责任。
|
||
|
||
---
|
||
|
||
## 真实场景:一个创业公司的选择
|
||
|
||
小明要做一个在线教育网站,他的团队只有 3 个人。来看看不同阶段他会怎么选:
|
||
|
||
**阶段一:验证想法(1-2 周)**
|
||
- 用 WordPress(SaaS)快速搭建一个课程展示页面
|
||
- 用腾讯文档(SaaS)管理课程内容
|
||
- 成本:几乎为零
|
||
|
||
**阶段二:开发 MVP(1-2 月)**
|
||
- 用 Elastic Beanstalk(PaaS)部署后端 API
|
||
- 用 RDS(PaaS)托管数据库
|
||
- 用 S3 存储视频文件
|
||
- 成本:每月几十美元
|
||
- 好处:不用管服务器,专注写代码
|
||
|
||
**阶段三:规模化(半年后)**
|
||
- 用 EC2(IaaS)运行自定义的视频转码服务
|
||
- 用 ECS(容器服务)部署微服务架构
|
||
- 用 CloudFront(CDN)加速全球视频播放
|
||
- 成本:每月几千美元
|
||
- 原因:业务复杂了,需要更多控制权
|
||
|
||
你看,**不是选一种就一直用一种**,实际项目中往往是混合使用。
|
||
|
||
---
|
||
|
||
## 常见误解澄清
|
||
|
||
**误解 1:"用了 PaaS/SaaS 就不需要技术人员了"**
|
||
不对。PaaS 减少了运维工作,但你仍然需要人写代码、设计架构、处理业务逻辑。
|
||
|
||
**误解 2:"IaaS 最灵活所以最好"**
|
||
灵活意味着你要管更多的事。如果你的团队只有 2 个开发者,没有运维,用 IaaS 反而会被运维工作拖垮。
|
||
|
||
**误解 3:"三种模型是互斥的"**
|
||
不是。一个项目可以同时用 EC2(IaaS)跑核心服务,用 RDS(PaaS)管数据库,用 Gmail(SaaS)收发邮件。
|
||
|
||
---
|
||
|
||
## 今天的小测验
|
||
|
||
1. 如果你想完全控制服务器的操作系统和配置,应该选哪种模型?
|
||
2. 一个没有运维人员的 3 人创业团队,推荐用哪种模型起步?
|
||
3. "共享责任模型"的核心意思是什么?
|
||
4. 举一个你日常生活中使用的 SaaS 产品的例子。
|
||
|
||
---
|
||
|
||
## 延伸阅读
|
||
|
||
- [AWS 共享责任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)
|
||
- [NIST 云计算参考架构](https://www.nist.gov/publications/nist-cloud-computing-reference-architecture)
|
||
|
||
---
|
||
|
||
## 明天预告
|
||
|
||
明天我们聊"部署模型":公有云、私有云、混合云。为什么有些公司不把所有东西都放到公有云上?银行的数据和你的个人博客,对云的需求有什么不同?
|