Part I · 第 1 章
01

云是别人的电脑——
它到底怎么运作?

“云”这个词被营销磨得缥缈又空洞。本章要做的第一件事,就是把它砸回地面: 云是一堆非常真实的机器,只不过有人替你管着。我们顺着一个请求往下剥,建立起贯穿全书的那张地图。

难度 入门 用时 约 35 分钟 交互 1 个流程动画 · 2 个可玩模拟器 埋点 为后续 13 章铺路

1.1一个朴素的问题

你写了一个网站,把它“部署到云上”。几分钟后,地球另一端的某个人在浏览器里 敲下你的网址,页面就出现了。这中间到底发生了什么?“云”这两个字,掩盖了一条惊人具体、 环环相扣的因果链——而这条链,正是这本书要带你走完的全部旅程。

先破除第一个误解。云不在天上。它在地面,在一栋栋没有窗户、轰鸣着散热风扇的 大楼里,塞满了成排成排的真实计算机。所谓“把代码部署到云上”,不过是: 你的程序,跑在别人替你买好、装好、通好电和网、还帮你看着别坏的机器上。 仅此而已——但“仅此而已”里,藏着这本书的全部精彩。

◷ 一句话直觉

云 = 别人的电脑 + 一层层把“一台机器”变成“随取随用的资源”的魔法。 这本书就是把这层魔法,一片一片拆给你看。

为什么从“一个请求”开始?因为请求是这套系统的脉搏。你能看见的一切——网页、API、 一次模型推理——本质都是“请求进来,响应出去”。顺着一个请求走一趟,你会一次性遇见后面 13 章的 所有主角:负载均衡器虚拟机进程系统调用内核……现在它们只是名字,别急,每一个后面都有一整章。 此刻你只需要看清:它们站在哪、谁把活交给谁。

1.2跟着一个请求走一趟

下面这张图,是本书的“总览镜头”。点 ▶ 播放,或者用键盘 一步步走,看一个请求如何从你的浏览器出发,穿过整座数据中心, 最后把页面送回你眼前。每一步,右侧都会告诉你正在发生什么,以及它属于后面哪一章

请求的一生 分步动画 点节点可跳转 · 空格播放/暂停
图 1.1 请求的一生。一个 HTTP 请求从浏览器出发,经 DNS 解析、负载均衡,落到某台虚拟机里的一个进程, 进程通过系统调用请内核去查数据库,数据再沿原路返回。这八步里的每一个角色,都是后面某一章的主题。

走完这一趟,你应该对一件事有了画面感:“访问一个网站”不是一个动作,而是一条流水线。 请求像零件一样,在一个个工位之间传递,每个工位只负责一件事,再把半成品交给下一个。 云的全部工程,几乎都在回答同一个问题——怎么让这条流水线又快、又稳、又便宜,哪怕其中任何一个工位 随时可能罢工。

注意刚才那台“Web 服务器”。它看起来是一台独立的机器,其实是某台物理机上切出来的一小块—— 一台虚拟机,里面跑着一个进程, 也就是你的程序。这台物理机此刻可能同时还租给了几十个素不相识的人。 “一台机器假装成很多台”——这就是整个云的地基,我们 1.4 节先点一下,第 6、7 章彻底讲透。

深潜 为什么要有“负载均衡器”这一站?

因为一台服务器扛不住所有人。当访问量上来,你会准备一排功能完全相同的服务器, 前面摆一个负载均衡器当“前台接待”:每来一个请求,它就挑一台 当前最闲的转过去。这样做顺带换来三件好事——

  • 横向扩展:不够用就再加机器,接待员自动把它纳入轮换(第 12 章 自动扩缩容)。
  • 容错:某台服务器死了,接待员发现它不应答,就不再派活给它,用户毫无察觉(第 12 章)。
  • 无状态:因为请求可能落到任意一台,每台都不能把“你是谁”记在自己肚子里—— 状态得放进共享的数据库或缓存。这条朴素约束,深刻塑造了云上软件的写法(第 9、10 章)。

看,仅仅“多放几台机器”这一个决定,就牵出了扩展、容错、状态管理三条大主线。这就是为什么我们要顺着请求走—— 它能把分散的知识点,串成一条你忘不掉的因果链。

1.3你租的到底是什么?三种“云”

现在放大那台物理机,把它从硅片到你的代码,竖着切成一摞“层”。从下往上,每一层都站在下一层的肩膀上: 最底下是机房的网络、存储、服务器,往上是把一台变多台的虚拟化, 再往上是操作系统、运行时、中间件,最顶上才是你的数据应用

所谓 IaaS、PaaS、SaaS——这三个让无数人犯晕的词——其实只问一件事: 这摞层里,哪些归云商管,哪些归你管?边界划在哪,就是哪种“云”。 下面这个图你亲手切换四种模式,看那条“责任分界线”怎么上下移动。把鼠标悬在任意一层上,看它是什么。

责任分界线:你管,还是云商管? 可玩模拟器 切换模式 · 悬停看层
图 1.2 “X 即服务”的本质,是一条责任分界线。从本地自建到 SaaS,你亲手管理的层层层减少, 换来的是越来越多的省心——以及越来越少的控制权。没有最好,只有最适合。

这条分界线的移动,就是一部云计算简史的缩影:人类不断把“管机器”这件苦差事, 一层一层地往上交给别人。每交出一层,你就少操一份心,但也少一分掌控。 理解了这条线,你以后看任何云产品的定价页和架构图,都会瞬间找到它的位置。

▣ 记住这三句话

IaaS(基础设施即服务):云商给你一台开好机的虚拟机,从操作系统往上全归你。 要灵活、要掌控,选它。例:AWS EC2、阿里云 ECS。

PaaS(平台即服务):云商连操作系统、运行时都管好了,你只管交代码和数据。 要快、不想碰运维,选它。例:Heroku、App Engine。

SaaS(软件即服务):云商把整个软件都跑好了,你开箱即用。例:Gmail、Notion。

1.4一台机器,如何“分身”成很多台

整摞层里,最关键、也最神奇的一层,是虚拟化。 它是云之所以成立的根本魔法。没有它,云商只能把整台物理机租给你——贵、浪费、还慢。 有了它,一台动辄上百核、几 TB 内存的物理巨兽,可以被切成几十上百台小虚拟机, 分租给互不相识的租户,而每个人都觉得自己独占一台电脑。

这套“分身术”能成立,全靠一个反复出现的核心思想,请记住它,后面会一次次见到它:

◷ 全书最重要的一个词:抽象(Abstraction)

用一个简单、好用的假象,盖住底下复杂、共享、有限的真实。 进程让你以为独占 CPU;虚拟内存让你以为独占内存; 虚拟机让你以为独占整台电脑;云让你以为有用不完的机器。 每一层,都是一个精心维护的善意谎言。这本书,就是逐层揭穿这些谎言是怎么圆上的。

而要看懂虚拟机这个谎言,你得先看懂它模仿的那个真东西——一台真实的机器是怎么运转的: 它怎么让一颗 CPU 同时跑很多程序(进程与调度)、 怎么让每个程序以为内存无限(虚拟内存)、 怎么和磁盘网络打交道(系统调用)。 这正是 Part II(第 2–5 章)要补的操作系统功课。

所以本书的路线是云优先的:我们不一上来就啃操作系统,而是先建立云的大图景, 等你真正需要某个底层概念时,再原地把它讲透、并永久收录。 你不会有“学了一堆不知道有什么用的底层细节”的迷茫,也不会有“知识点东一块西一块”的断裂感—— 每一块拼图出现时,你都正好需要它。

1.5数据中心:把一座仓库变成一台计算机

再往后退一步,看看“别人的电脑”到底是多大的阵仗。一台、一排、一屋、一城—— 拖动下面的滑块,感受规模是怎么一个数量级一个数量级地爆炸的。 到了某个尺度,会发生一件反直觉的事:故障,从“意外”变成了“日常”。

规模的阶梯:从 1 台到 1 座数据中心 可玩模拟器 拖动滑块放大
图 1.3 仓库级计算机(Warehouse-Scale Computer)。当机器数量来到几十万台, “平均每天坏几台”成了数学上的必然。云软件因此有了一条铁律:把故障当常态来设计

这就是 Google 提出的仓库级计算机观念:当机器多到这个程度, 你不该再把它们看成“很多台电脑”,而应该看成一台巨大的、由几十万个零件拼成的计算机, 整座数据中心才是真正的“那台机器”。这个视角转变,催生了云的两条灵魂:

  • 规模经济:买 50 万台服务器的单价、电价、运维成本,远低于你自己买 5 台。 云商把这份便宜分一点给你,于是“租”比“买”划算——这是云在商业上成立的根本(第 12 章 算这笔账)。
  • 故障即常态:10 万台机器,就算单台三年才坏一次,平均下来也是每天坏几十台。 所以云上的软件从第一行就假设“硬件随时会死”,靠复制、重试、自动转移来求生 (第 10 章 分布式、第 12 章 容错)。

记住这个反直觉的结论,它会一路跟着你到本书结尾:在云的尺度上,可靠的系统, 是用一堆不可靠的零件搭出来的。

1.6我们要爬的那座塔

把前面所有镜头拼起来,全书的结构就清楚了。我们要做的,是从你刚才看到的那条请求流水线出发, 一层层往下挖到硅片,再一层层盖回整朵云,最后落到你真正想去的地方——AI 推理基础设施。 这就是那条贯穿始终、不会让你断片的主线:

图 1.4 全书路线图。云优先,下挖补 OS,再盖回分布式,终点是 AI 基建。每一部都为下一部铺路。
◷ 为什么这条路,特别适合你

你的目标是 AI 基础设施(比如把大模型用 vLLM 高效地服务出去)。而模型推理,本质就是云计算的一道 终极应用题:它要调度昂贵的 GPU、要在显存里精打细算、要把成百上千个请求批在一起、还要在机器随时可能挂的 前提下稳定服务。本书前 13 章的每一块拼图——进程、内存、并发、网络、分布式、编排——都会在 第 14 章汇成你需要的那张完整图景。

本章收束 · 你现在握住了什么

  • 云 = 别人的电脑 + 层层抽象。不在天上,在轰鸣的机房里。
  • 请求是脉搏。访问网站是一条流水线:浏览器 → DNS → 负载均衡 → 进程(在虚拟机里)→ 系统调用 → 数据库 → 返回。
  • IaaS/PaaS/SaaS 只是一条责任分界线。边界越往上,你越省心,也越没掌控权。
  • 抽象是全书最重要的词。每一层都是一个“善意的谎言”,盖住底下复杂、共享、有限的真实。
  • 在云的尺度上,故障是常态。可靠系统由不可靠零件搭成——这条铁律贯穿全书。

下一章,我们走进那台“Web 服务器”内部,揭穿它维护的第一个谎言: 一颗 CPU,如何让几十个程序都以为自己独占了它。