📄 一句话概括
云的实质是把【操作系统+硬件】这两层也租出去:按需付费让闲置成本回到服务商那边,代价是数据与厂商绑定。
📝 本节和前面几节的关系
7.5 在代码和机器之间垫了一层,这一节把这个思路放大:连机器本身都变成租来的。
一、思路:把运行环境也当成一项服务
前面几节讨论的都是【怎样让程序适应别人的机器】。 云的做法是换一个前提:机器也由别人提供。 你租到的仍然是一个【操作系统+硬件】——只不过那两层由服务商维护。 你连的那台机器可能根本不在你的城市,甚至你说的可能不是同一台。
二、好处一:不用为峰值买单
自建服务器最大的尴尬是:机器得按最高峰配,可大部分时间用不到那么多。 平时跑得动的配置,大促那天就撑不住;按大促配好的机器,一年里又闲上三百天。 云把这件事拆开了:平时一台,忙时临时开九台,忙完退掉。 省下来的不是单价,而是那部分闲置的时间。
三、好处二:环境也变成可复制的
既然运行环境由软件定义,那它就能被复制、被版本化、被一键重建。 于是有了镜像这类东西:一份配置好的环境存下来,随时开出成百上千份一模一样的。 这解决的正是 7.1 那个老问题:手工配出来的环境,两台机器总有些说不清的差别。 把环境本身当成程序来管理,是云带来的最大观念变化。
四、代价也很实在
数据放在别人那儿。 合规、隐私、迁移都要提前想清楚。 长期算下来单价更贵。 一直满负荷跑的应用,自建可能更省。 被绑定。 用惯了某家的独有服务,想搬家就没那么容易。 故障不再由自己掌控。 出问题时你只能等,而且上一次故障可能影响很多家。 所以【上不上云】从来不是技术问题,而是成本、风险与掌控力的权衡。
五、动手 Demo:云计算平台提供的虚拟运行环境
如果不是买机器,而是租别人的机器呢? 运行环境照样是【操作系统+硬件】,但这两层由别人维护。
# 一个 10 倍流量高峰的账
peak = 10
print("自建:再买 9 台,一次掏出 270000 元")
for name, per_day in (("云(按天)", 10),):
print("%s:临时开 9 台跑 3 天 = %d 元" % (name, 9 * 3 * per_day))
实跑输出:
--------------------------------------------------------------------
云计算平台提供的虚拟运行环境
--------------------------------------------------------------------
如果不是买机器,而是**租别人的机器**呢?
这就是云服务器:**运行环境照样是【操作系统+硬件】,但这两层由别人维护。**
对比项 自己买服务器 云服务器
-------------------------------------------------------------
首次投入 一台约 3 万元 0
每年成本 约 6000 元(折旧) 约 3650 元
扩容方式 再买一台,几天到几周 点几下,几分钟
流量回落之后 机器闲置,**钱照烧** 退掉,**不再计费**
拿一次【突然来 10 倍流量】算笔账:
自建:再买 9 台,一次掏出 270000 元;流量退了这 9 台就闲着
云:临时开 9 台,跑 3 天(每天 10 元一台)
9 × 3 × 10 = 270 元
**同一件事,一边是二十七万,一边是两百七十块。**
差别不在机器本身,**在于【按需付费】把闲置的那部分成本还给了服务商。**
代价也很清楚:**数据放在别人那儿、长期算下来单价更贵、**
**而且被绑定在某一家的服务上,搬家就没那么方便了。**
同一件事:自建要一次掏出 27 万元,云上临时扩容只要 270 元。 差别不在机器本身,而在【闲置的那部分时间】由谁买单。
30 秒实验
- 算一算你常用的一个网站,如果一年只有一次大促,自建和云哪个划算。
- 想一想为什么【把环境做成镜像】能减少【在我机器上是好的】这类问题。
常见误区
- 以为云一定更便宜。满负荷长期跑的应用,自建可能更省钱。
- 以为云就是【别人的机房】。它更大的变化是环境可复制、可版本化。
自测三问(点开对答案)
1. 云服务器提供的【运行环境】是什么? —— 仍然是操作系统+硬件,只是这两层由服务商维护。 2. 云最直接省下的是哪部分成本? —— 闲置成本——不需要按峰值长期养着机器,忙时临时扩容、闲时退掉。 3. 上云的主要代价有哪些? —— 数据在别人手里、长期单价更贵、可能被厂商绑定、故障不受自己掌控。- ☐ 下一节(7.7 BIOS与引导装入程序)
相关笔记
- 在任何地方都能提供相同运行环境的Java虚拟机 — 同一思想的另一个尺度
- BIOS与引导装入程序 — 回到一台机器开机的第一步
- 将磁盘当成内存使用的虚拟内存 — 【虚拟】这两个字的另一种用法
- 🖥️ 服务器工作原理 · 索引 — 服务器怎么攒出来的
- ⚙️ 程序是怎样跑起来的 · 索引