云计算:租来的机房,和它的账单¶
1. 这一章讲什么¶
DevOps 要的弹性资源从哪来?答案是云计算:像用电一样用计算资源——开通账户、按用量付费、随时增减1。这一章上半部讲概念(服务模型、部署模型、虚拟化原理),中段盘点三大云厂商和开源的 OpenStack,下半部回到 DevOps:云到底给 DevOps 什么、上云的坑在哪——其中「只搬家不改做法反而有害」是本章最反直觉也最有分量的论断。
2. 顶层全景¶
谁出什么(Stakeholders): 数据中心商(物理硬件)→ 云服务商 CSP(虚拟资源池)→ 应用方(你的系统)→ 终端用户
管到哪层(Service models): 本地自己全管 → IaaS 管到 OS → PaaS 只管应用 → SaaS 只管用
机器在谁手里(Deployment): 公有云 / 私有云 / 混合云(私有+公有)/ 社区云
底下靠什么转: 虚拟化 —— hypervisor 把一台物理机切成多台虚拟机
3. 核心原理¶
3.1 历史脉络:从分时租机到 AWS¶
云计算的思想源头是 1960–70 年代大型机的分时系统(IBM 的 CP-40/CP-67 让多个用户共享一台物理机);1990 年代末出现 ASP(应用服务提供商)在网上托管软件,Salesforce 是先行者;真正的转折点是 2002 年 AWS 上线第一批网络服务、2006 年 EC2 和 S3 发布,IaaS 时代开启2。2010 年代 PaaS/SaaS 成熟,近年轮到边缘计算和无服务器(serverless)。
3.2 四种角色:谁拥有什么¶
书里用一个四层结构讲清利益链:终端用户(用 Office 365 的人)→ 应用所有者(比如把电商 App 部署在 GCP 上的公司)→ 云服务商 CSP(AWS/Azure/GCP,提供 IaaS/PaaS/SaaS 三级服务)→ 物理资源提供商(数据中心,管机房、供电、制冷、物理安保)3。有意思的数字:OVH Cloud 在 18 个地点有 43 个数据中心;微软在全球 140 国有 300 多个数据中心、管理超过 400 万台服务器4——「云」不是空气,是别人的机房。
3.3 服务模型:管到哪一层¶
本地部署什么都自己管。上云后按「你把哪几层外包出去」分三档5:
| 模型 | 你管的 | 云商管的 | 书里例子 |
|---|---|---|---|
| IaaS | 应用、运行时、中间件、操作系统 | 虚拟化、服务器、存储、网络 | EC2、Azure VM、Compute Engine |
| PaaS | 应用 | 以上全部再加 OS 和中间件 | Google App Engine、Azure App Service(只管写代码) |
| SaaS | 什么都不管,订阅即用 | 全部 | Microsoft 365、Google Workspace |
外加一堆「XaaS」衍生:DBaaS(托管数据库,RDS)、BaaS(备份)、SECaaS(安全)、DaaS(虚拟桌面)、AIaaS6。
3.4 部署模型:机器在谁手里¶
- 私有云: dedicated 给单个组织,本地或第三方托管。控制全、安全强、合规易,但前期投入大、弹性差。书里的实例:印度国家银行 SBI 的私有云 Meghdoot 托管 400 多个应用(贷款管理、UPI、政府补贴发放),用 Tanzu Kubernetes 编排约 7500 台虚拟机7。
- 公有云:谁都能用,多租户共享,弹性最强,按量付费。Netflix 跑在 AWS 上8。
- 混合云:私有+公有打通——敏感数据留私有侧,弹性负载走公有侧。书里给的对照要点:成本上把可变负载扔给公有云;合规上关键数据留私有;代价是两边的一致性管理复杂。SBI 的 Meghdoot 也支持混合架构9。厂商的对应产品:Azure Arc、AWS Outposts、Google Anthos10。
书末给了一张九参数对照表(控制/安全/弹性/成本/性能/合规/管理/灾备/定制)供逐行比较11。
3.5 虚拟化:云底下的发动机¶
云的弹性来自虚拟化:把物理资源抽象成虚拟资源,用户按需扩缩12。服务器虚拟化靠 hypervisor(虚拟机监视器)——一台物理机上跑多个操作系统。两类:
- Type I(裸金属):直接装在硬件上,没有宿主操作系统,性能接近原生;生产环境用它。代表:VMware ESXi、Hyper-V(独立装)、Xen13。
- Type II(宿主型):装在你日常的操作系统上当一个普通程序,每次访问硬件都要经宿主 OS 中转,性能打折;用于开发测试教学。代表:VirtualBox、VMware Workstation14。
hypervisor 给每个虚拟机发四样虚拟资源:vCPU、虚拟内存、虚拟磁盘、虚拟网卡,中间隔着一层硬件抽象层(HAL)15。
市场格局(Synergy Research,2024 年 Q1,书里引用):AWS 份额 31%(上年 32%)、Azure 25% 创新高、GCP 11%,三家占三分之二;全球云基础设施支出 760 亿美元/季,年化 3000 亿美元16。这些数字每年都在变,读的时候注意这是 2024 年中的快照。
3.6 三大厂商各有什么¶
书里按服务类别给了对照表17,最常用的几行:
| 类别 | AWS | Azure | GCP |
|---|---|---|---|
| 虚拟机 | EC2 | Virtual Machines | Compute Engine |
| 容器/K8s | ECS, EKS | AKS | GKE |
| 无服务器 | Lambda | Azure Functions | Cloud Functions |
| 对象存储 | S3 | Blob Storage | Cloud Storage |
| 关系数据库 | RDS | Azure SQL | Cloud SQL |
| NoSQL | DynamoDB | Cosmos DB | Bigtable |
| 数据仓库 | Redshift | Synapse | BigQuery |
| 监控 | CloudWatch | Azure Monitor | Cloud Operations |
AWS 小节给了规模数字:200 多项服务、33 个地理区、105 个可用区;Netflix 的内容存储、Asianet 用 Lambda 把运营成本砍掉 50%18。Azure 的卖点是与微软自家产品(Windows Server、SQL Server、Active Directory、Office 365)的深度捆绑19。GCP 小节有一个必须知道的渊源:Google 内部的大规模集群管理系统叫 Borg,不开源;Kubernetes(K8s)就是 Borg 的开源嫡系——第 7 章的主角20。
自建私有云:OpenStack 是最流行的开源方案——不是云商,是一套装在自己服务器上提供 IaaS 的软件组件集:Horizon(面板)、Nova(算力)、Neutron(网络)、Cinder(块存储)、Swift(对象存储)、Keystone(身份认证)等21。
3.7 云 × DevOps:什么变了,什么没变¶
DORA 2023 报告给了两个关键数据:公有云带来 22% 的基础设施弹性提升(相对不用云);但「只把 workload 原样搬上云、不用弹性」收益不显著、甚至有害22。受访者环境分布:公有云 51.5%、混合 33.6%、多云 19.6%、本地 19.8%22。这是本章的题眼:云的价值不在「搬」,在「改做法」——弹性环境、按需起临时实例跑 CI/CD、IaC 管基础设施、用云的备份灾备、成本监控,这七条是书里列的实益23。
上云的坑(5.5.3–5.5.4,书里泼的冷水,每条都有实例):
| 坑 | 书里的证据 |
|---|---|
| 安全不是自动的 | 2023 年云安全研究:近一半数据泄露源自云端,平均每次损失 410 万美元;人为错误(配置错防火墙、权限给过头)是主因24 |
| 云也会宕机 | 2023 年 4 月 Google Cloud 欧洲 west9 区因机房进水整体不可用约 14 小时;过半数据中心业主的最近一次严重宕机损失超 10 万美元,16% 超 100 万25 |
| 账单失控 | 黑五流量高峰没设自动扩缩上限和账单告警 → 预算爆掉;要养成实时盯用量、关停闲置实例的习惯26 |
| 合规分地域 | 印度央行 2018 年要求支付数据本地化,2021 年 Mastercard 因不遵守被禁止在印度发新卡,后来只得把交易数据存进 Pune 技术中心27 |
| 厂商锁定 | 绑死一家后难迁移、议价能力弱;设计上要考虑可移植性28 |
还有一个回摆信号:Citrix 调查称 25% 的英国组织把一半以上的云 workload 迁回了本地(安全顾虑、预期落空、成本)29——「云 repatriation(回迁)」是真实存在的现象,虽然比例口径要小心读。
4. 作者的判断与证据¶
有出处支撑:市场规模来自 Synergy Research16;弹性 22%、环境分布来自 DORA 202322;泄露和宕机数字各有报告署名2425。这些引用是行业调查报告,方法上是自报问卷,不是对照实验——书里未提醒这一点,我们补上。
作者自己的取舍:反复强调「文化转变与技术转变并行」「不要把数据中心老做法搬进云」30,这与第 1 章「工具不等于 DevOps」一脉相承,是全书统一的论点。
5. 边界与局限¶
- 厂商服务清单是 2024 年中快照,云产品迭代极快,具体名称和价格以官网为准。
- 无服务器、多云/混合的实操(如 Terraform 多云)只点名字,展开在后续章节或没有。
- 安全部分列了威胁和数字,没给防御架构(零信任、IAM 最佳实践等)。
- 成本优化只给原则(盯用量、用预留/竞价实例、自动关停),没给具体财务模型。
6. 可带走的¶
- 云计算 = 像用电一样用计算资源,按需付费1;底下靠 hypervisor 虚拟化12。
- IaaS/PaaS/SaaS 的本质区别是「你管到哪一层」:OS 以上你管是 IaaS,只管应用是 PaaS,只管用是 SaaS5。
- 部署模型按「机器在谁手里」分:私有(控制/合规)、公有(弹性/便宜)、混合(各取所长,代价是管理复杂)911。
- Type I hypervisor 裸金属跑生产,Type II 跑在宿主 OS 上适合开发测试1314。
- Kubernetes 是 Google Borg 的开源后裔20;OpenStack 是自建私有云的主流开源方案21。
- 云对 DevOps 的核心贡献是弹性(临时实例跑 CI/CD、IaC、自动灾备)23,DORA 量化为 22% 弹性提升22。
- 只搬家不改做法,收益为零甚至为负——这是本章最重要的一句22。
- 「上云就安全」是神话:近半泄露在云端,主因是人为配置错误24。
- 盯账单:弹性既省钱也能烧钱,自动扩缩上限 + 用量告警是底线26。
7. 原文地图¶
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| 云=公用事业的类比 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:19(搜「utility, like electricity or gas」) |
| 历史(分时→ASP→AWS) | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:32(搜「time-sharing mainframe」) · text/10-ch05-5-cloud-computing-for-devops.txt:46(搜「in 2002」) |
| 四种利益相关者 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:65(搜「Stakeholders in a typical cloud setup」) |
| 数据中心规模数字 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:107(搜「43 data centers」) |
| IaaS/PaaS/SaaS | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:129(搜「three cloud service models」) |
| 部署模型与 SBI Meghdoot | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:208(搜「Meghdoot」) |
| 混合云优劣 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:251(搜「nonsensitive operations」) |
| 虚拟化史与 hypervisor 两类 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:308(搜「CP-40 and CP-67」) · text/10-ch05-5-cloud-computing-for-devops.txt:342(搜「Bare-metal hypervisors」) |
| 市场份额(Synergy) | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:431(搜「31% share」) |
| 三大厂商服务对照 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:580(搜「equivalent cloud services」) |
| Kubernetes 出自 Borg | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:550(搜「Borg」) |
| OpenStack 组件 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:638(搜「open-source solutions」) |
| DORA:22% 弹性、只搬家有害 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:681(搜「does not yield significant」) |
| 云对 DevOps 的七项实益 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:713(搜「On-demand Resource Scalability」) |
| 泄露与宕机数字 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:812(搜「$4.1 million」) · text/10-ch05-5-cloud-computing-for-devops.txt:824(搜「Europe-west9」) |
| 25% 英国组织回迁 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:780(搜「moved half or more」) |
| RBI/Mastercard 数据本地化 | 5 - Cloud computing for DevOps | text/10-ch05-5-cloud-computing-for-devops.txt:839(搜「RBI directive」) |
-
出处:「5 - Cloud computing for DevOps」第 13–20 段(
text/10-ch05-5-cloud-computing-for-devops.txt:19,搜「utility, like electricity or gas」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 30–52 段(
text/10-ch05-5-cloud-computing-for-devops.txt:32,搜「time-sharing mainframe」;:46搜「in 2002, AWS introduced」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 65–116 段(
text/10-ch05-5-cloud-computing-for-devops.txt:73,搜「End Users/Customers」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 107–109 段(
text/10-ch05-5-cloud-computing-for-devops.txt:107,搜「43 data centers」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 128–165 段(
text/10-ch05-5-cloud-computing-for-devops.txt:139,搜「manages the fundamental infrastructure」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 166–185 段(
text/10-ch05-5-cloud-computing-for-devops.txt:169,搜「Database as a Service」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 206–212 段(
text/10-ch05-5-cloud-computing-for-devops.txt:208,搜「Meghdoot」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 232–239 段(
text/10-ch05-5-cloud-computing-for-devops.txt:232,搜「Netflix」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 241–258 段(
text/10-ch05-5-cloud-computing-for-devops.txt:247,搜「Meghdoot supports hybrid cloud」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 259–291 段(
text/10-ch05-5-cloud-computing-for-devops.txt:259,搜「Azure Arc」)。 ↩ -
出处:「5 - Cloud computing for DevOps」表 5.1(
text/10-ch05-5-cloud-computing-for-devops.txt:263,搜「Comparison of private, public, and hybrid」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 300–303 段(
text/10-ch05-5-cloud-computing-for-devops.txt:301,搜「physical resources are abstracted」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 341–357 段(
text/10-ch05-5-cloud-computing-for-devops.txt:342,搜「run directly on the host’s hardware」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 387–400 段(
text/10-ch05-5-cloud-computing-for-devops.txt:388,搜「run on conventional OSs」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 344–350 段(
text/10-ch05-5-cloud-computing-for-devops.txt:348,搜「Hardware Abstraction Layer」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 429–435 段(
text/10-ch05-5-cloud-computing-for-devops.txt:431,搜「31% share」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」表 5.3(
text/10-ch05-5-cloud-computing-for-devops.txt:580,搜「equivalent cloud services offered」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 442–479 段(
text/10-ch05-5-cloud-computing-for-devops.txt:445,搜「generated over $90 billion」;:451搜「cut its operational costs by 50%」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 528–533 段(
text/10-ch05-5-cloud-computing-for-devops.txt:528,搜「tight integration」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 550–556 段(
text/10-ch05-5-cloud-computing-for-devops.txt:552,搜「an open-source version inspired by」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 637–675 段(
text/10-ch05-5-cloud-computing-for-devops.txt:646,搜「Horizon」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 677–692 段(
text/10-ch05-5-cloud-computing-for-devops.txt:681,搜「does not yield significant」;:682搜「22% increase」;:683搜「51.5%」)。 ↩↩↩↩↩ -
出处:「5 - Cloud computing for DevOps」第 707–773 段(
text/10-ch05-5-cloud-computing-for-devops.txt:713,搜「On-demand Resource Scalability」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 811–821 段(
text/10-ch05-5-cloud-computing-for-devops.txt:812,搜「$4.1 million」)。 ↩↩↩ -
出处:「5 - Cloud computing for DevOps」第 822–829 段(
text/10-ch05-5-cloud-computing-for-devops.txt:824,搜「water intrusion」;:829搜「$100,000」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 788–797 段(
text/10-ch05-5-cloud-computing-for-devops.txt:789,搜「Black Friday」)。 ↩↩ -
出处:「5 - Cloud computing for DevOps」第 839–847 段(
text/10-ch05-5-cloud-computing-for-devops.txt:840,搜「prohibited Mastercard」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 798–804 段(
text/10-ch05-5-cloud-computing-for-devops.txt:803,搜「vendor lock-in」)。 ↩ -
出处:「5 - Cloud computing for DevOps」第 780–781 段(
text/10-ch05-5-cloud-computing-for-devops.txt:780,搜「moved half or more」)。25% 比例出自 Citrix 调查,书中注明,口径为英国组织自报。 ↩ -
出处:「5 - Cloud computing for DevOps」第 875–879 段(
text/10-ch05-5-cloud-computing-for-devops.txt:876,搜「cultural and technical shifts」)。 ↩