# 第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) --- ## 明天预告 明天我们聊"部署模型":公有云、私有云、混合云。为什么有些公司不把所有东西都放到公有云上?银行的数据和你的个人博客,对云的需求有什么不同?