Files
sanbuphy ec9d52033f feat: add 30 interactive components for computer fundamentals section
Added comprehensive interactive demos covering:
- Operating systems (2): OS overview, process/memory/filesystem
- Data encoding (2): data lifecycle, encoding/storage/transmission
- Network basics (5): overview, physical/data-link/transport/application layers
- Data structures (5): overview, linear structures, hash table, tree, selector
- Algorithms (4): overview, recursion, greedy thinking, paradigms
- Programming languages (5): evolution, paradigms, scenarios, comparison, type models
- Compilers (2): analogy, practice demo
- Additional (5): search/sort algorithms, network principles, encoding basics, storage hierarchy, graph structures

Also updated component registration in theme index.js and fixed minor formatting issues in related docs.
2026-02-20 21:59:52 +08:00

263 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 云平台实战
> **学习指南**:云服务厂商不是"买服务器的网站",而是"像水电公司一样提供计算能力的基础设施"。本章节会围绕一个核心问题展开:**从零开始,如何理解并使用云服务?** 我们会用真实场景、生动类比和实战步骤,帮你建立云服务的完整认知地图。
在开始之前,建议你先了解:
- **基础网络概念**:如果你还不熟悉 IP 地址、端口、域名等概念,建议先阅读 [网络基础知识](/zh-cn/appendix/1-computer-fundamentals/computer-networks)
- **API 是什么**:如果你对 API 还不了解,可以先看 [API 入门](/zh-cn/appendix/4-server-and-backend/api-intro)
---
## 0. 引言:为什么越来越多公司不买服务器了?
想象一下这个场景:
小明在 2010 年创业,想做一个网站。他经历了什么?
他先花 2 万块钱买了一台戴尔服务器,然后联系 IDC 机房,每个月付 3000 元托管费。接着自己安装 Linux、配置环境,还要担心硬件问题——硬盘坏了要自己换,机器过热要自己解决。最痛苦的是,当用户突然多了,系统撑不住了,他又要买新服务器。一年后,小明花了 5 万,服务器利用率却只有 10%。
而小红的公司在 2024 年创业,她是怎么做的?
她打开云服务商网站,注册账号,点几下鼠标就创建了一台云服务器,2 分钟完成。用多少付多少,不用不花钱。流量大了,点一下升级配置。想开美国分部?换个地域就行。一个月后,小红花了 500 元,服务器利用率 80%。
**直觉上,我们会以为是:"云服务就是租服务器"。**
但云服务的本质远不止于此——它是一场**计算能力的革命**。
过去,企业要经历买服务器、找机房、装系统、担心硬件、流量暴增时束手无策的漫长过程。现在,只需要注册账号、点几下鼠标、按需付费、自动扩容、全球部署。这种转变,就像从自家挖井取水,变成了打开水龙头就有自来水。
---
## 1. 什么是云服务厂商?
### 1.1 像水电公司一样的计算服务
云服务厂商的本质,是**把计算能力、存储能力、网络能力包装成标准化的服务**,像自来水公司提供水、电力公司提供电一样,通过互联网提供给用户使用。
这种模式的聪明之处在于**按需使用**。你不需要提前购买大量硬件,只需要根据实际使用量付费。需要更多资源?点一下就行。有些服务甚至按秒计费,极其灵活。而且云服务厂商在几十个国家都有数据中心,你可以在全球范围内部署应用,所有操作都是自助服务,24 小时都能进行,不需要人工审批。
### 1.2 云服务与传统托管的区别
传统 IDC 托管就像自己买发电机发电。你需要先买硬件(服务器),然后找地方放(机房托管),还要自己维护(装系统、修硬件)。如果电力不够用了,你得再买一台发电机。这个过程可能需要几天到几周,成本是固定的,不管用不用都要付钱。
云服务则像接入电网。你不需要买发电机,只需要拉一根电线(注册账号),然后按用电量付费。需要更多电力?换个更大功率的套餐就行,几分钟搞定。这种模式下,成本是可变的,用多少付多少,而且云厂商负责所有硬件维护,你只需要关注自己的业务。
### 1.3 公有云、私有云与混合云
就像餐厅有不同的经营模式,云服务也有三种类型。
**公有云**就像公共餐厅,谁都能用,资源共享。AWS、阿里云、Azure 都是公有云,适合绝大多数企业和个人。这是本书的重点,因为它最常用、最适合学习。
**私有云**就像私人厨房,自己搭建,独享资源。OpenStack、VMware 是典型代表,适合大型企业、政府、银行这些对数据安全要求极高的场景。
**混合云**则是两者结合,一部分业务用公有云,一部分用私有云。各厂商都有解决方案,适合既需要合规又需要弹性的场景。
👇 **动手点点看**
点击下方的服务卡片,了解云服务的六大核心类别。
<CloudServicesOverview />
---
## 2. 著名的云服务厂商有哪些?
### 2.1 国际三巨头:AWS、Azure、Google Cloud
在全球云服务市场,有三家厂商占据了主导地位。
**AWSAmazon Web Services** 是亚马逊 2006 年推出的云服务,全球市场份额第一,约 32%。它就像云服务界的"百货商店",服务种类最全,有 200 多种服务,功能最成熟稳定,文档和社区资源也最丰富。价格虽然偏高,但性价比很好,特别适合出海企业、初创公司和大型互联网公司。
**Microsoft Azure** 是微软 2010 年推出的云服务,全球市场份额第二,约 23%。它最大的优势是与 Windows、Office 生态深度集成,企业级客户资源丰富,混合云能力强,对 .NET 开发者特别友好。如果你的公司已经在用微软技术栈,Azure 是自然而然的选择。
**Google Cloud Platform (GCP)** 是谷歌 2011 年推出的云服务,全球市场份额第三,约 10%。它在 Kubernetes、数据分析、AI 领域领先,技术创新能力强,价格相对便宜。但市场份额较小,生态不如前两家完善,适合技术驱动型公司、容器化应用和 AI 项目。
### 2.2 国内三巨头:阿里云、腾讯云、华为云
在中国云服务市场,同样有三家主要厂商。
**阿里云** 是阿里巴巴 2009 年成立的云计算部门,中国市场份额第一,约 40%。作为国内最早、最成熟的云服务商,阿里云服务种类齐全,电商、双十一技术积累深厚。虽然价格相对较高,但稳定性和功能完整性都是一流的,特别适合国内企业和电商相关项目。
**腾讯云** 是腾讯 2013 年成立的云服务部门,中国市场份额第二,约 15%。它在游戏、音视频能力强,与微信、QQ 生态结合好,价格相对便宜,近几年发展迅速。如果你做游戏、社交或直播类项目,腾讯云是不错的选择。
**华为云** 是华为 2015 年成立的云服务部门,中国市场份额第三,约 10%。它硬件技术积累强,政府和企业客户资源丰富,安全合规能力强,AI 芯片(昇腾)有特色。适合政府项目、大型国企和制造业。
### 2.3 如何选择云服务商?
选择云服务商就像选择租房,要考虑位置、价格、配套设施等多个因素。
**首先看目标市场**。你的用户主要在哪里?如果用户在中国,选阿里云或腾讯云;如果用户在海外,选 AWS 或 Azure;如果是全球业务,选有多地域覆盖的厂商。
**其次看技术栈**。你用的是什么技术?如果用微软技术,选 Azure;如果用 Kubernetes、大数据,选 Google Cloud;如果是通用场景,AWS 是个稳妥的选择。
**再看成本**。小项目试水可以选便宜的,比如腾讯云或 UCloud;大规模生产则要看总体成本,AWS 长期可能更省钱。
**最后看生态**。如果你已经在用其他服务,比如 GitHub、Office 365,选同生态的厂商会更方便。
现实建议是:初学者或小项目选阿里云或腾讯云,因为文档是中文,客服在国内;出海项目选 AWS,因为它最成熟、全球覆盖最好;大企业可能需要多云策略,不同业务用不同云。
---
## 3. 一般怎么用云服务?
### 3.1 从注册到上线的完整流程
使用云服务的第一步是注册账号。这个过程就像在银行开户,需要验证你的身份。打开云服务商官网,点击"免费注册",填写邮箱和密码,验证手机号,然后上传身份证或企业资质进行实名认证,最后绑定支付方式。整个过程大约需要 10 到 20 分钟。
注册完成后,你需要了解几个核心概念。**地域(Region)** 是云服务的数据中心所在地区,比如华东(杭州)、美东(弗吉尼亚)、亚太(新加坡)。选择原则是离你的用户越近越好,因为延迟更低。**可用区(Availability Zone, AZ** 是一个地域内的多个数据中心,相互隔离,提高可用性。如果一个可用区挂了,另一个还能用。**实例(Instance)** 就是一台虚拟服务器,比如一台 2 核 4G 的云服务器,计费方式是按时长或按量。
### 3.2 创建第一台云服务器
创建云服务器的过程就像组装一台电脑,但是是在网页上点选配置。首先选择付费模式,测试环境用按量付费,长期运行用包年包月。然后选择地域,选离你最近的,比如华东-杭州。实例规格方面,2 核 4G 对于测试环境够用了。镜像选择操作系统,比如 CentOS 7.9 或 Ubuntu 20.04。存储用 40GB 系统盘,网络用默认 VPC 网络,带宽按使用流量付费比较省钱。最后设置 root 用户密码,记得保存好。整个过程大约 5 分钟,实例创建完成后等待 1 到 2 分钟即可使用。
👇 **动手点点看**
选择配置,了解不同规格的价格和适用场景。
<ComputeInstanceDemo />
### 3.3 连接云服务器并部署应用
连接 Linux 服务器推荐使用 SSH。用密码登录的方式是 `ssh root@你的服务器公网IP`,然后输入密码。用密钥登录更安全,方式是 `ssh -i 你的私钥.pem root@你的服务器公网IP`
连接上服务器后,你就可以部署应用了。首先更新系统,CentOS 用 `sudo yum update -y`Ubuntu 用 `sudo apt update && sudo apt upgrade -y`。然后安装必要软件,比如 Node.js。接着上传代码,可以用 git 或 scp。最后安装依赖并启动应用。
### 3.4 常见使用场景
**托管个人网站或博客** 需要云服务器加域名,1 核 2G 足够,成本约 50 到 100 元每月,技术栈可以用 Nginx 加静态文件或 WordPress。
**部署 API 后端** 需要云服务器加数据库,2 核 4G 起步,成本约 200 到 500 元每月,技术栈可以用 Node.js 或 Python 配合 MySQL 或 PostgreSQL。
**存储图片或视频** 推荐用对象存储,按存储量和流量计费,成本几元到几百元每月不等。优势是不用管硬盘,自动备份,还可以配合 CDN 加速。
👇 **动手点点看**
了解不同类型的云存储服务及其适用场景。
<StorageTypeDemo />
---
## 4. 如何购买和调用 API
### 4.1 云服务的计费模式
云服务的计费方式有很多种,理解它们能帮你省很多钱。
**按需付费(Pay-as-you-go** 就像单买电影票,用多少付多少,不用不花钱。适合测试环境、流量不稳定的项目。云服务器按小时计费,对象存储按 GB 加请求次数计费,AI API 按调用次数计费。
**包年包月或预留实例** 就像买月票或年票,承诺使用一定时长,享受折扣,通常能省 30% 到 60%。适合长期稳定运行的生产环境。比如一台 2 核 4G 服务器,按需 200 元每月,包 1 年可能只要 140 元每月。
**竞价实例或抢占式实例** 就像候补票,价格很低,最多能省 90%,但可能被强制回收。适合批处理任务、容错性高的任务,比如数据处理、渲染任务。风险是云厂商资源紧张时会强制收回实例。
**Serverless 按调用次数** 就像计程车,不用关心服务器,只关心调用次数。计费方式是调用次数加计算时间加流量,适合 API 接口、事件驱动任务。比如阿里云函数计算,前 100 万次调用免费,超出后 1.33 元每百万次。
👇 **动手点点看**
使用计费计算器,对比不同计费模式的成本差异。
<PricingCalculator />
### 4.2 购买 API 调用的完整流程
以调用通义千问 API 为例,整个流程分为四步。
**第一步是开通服务**。打开云厂商的 AI 开放平台或机器学习平台 PAI,找到通义千问或 DashScope,点击"立即开通"或"免费试用",大约 2 分钟完成。
**第二步是获取 API Key**。进入控制台的 API-KEY 管理,点击"创建我的 API-KEY",复制并保存这个 Key。重要提示:API Key 只显示一次,请立即保存。
**第三步是配置权限**。进入访问控制(RAM)或权限管理(IAM),创建一个用户或角色,只授权需要的权限,比如只能调用通义千问,不能删除服务器。这是最小权限原则。
**第四步是调用测试**。用 Python 或 JavaScript 发起第一次调用,验证 API 是否正常工作。
---
## 5. 实战:从零开始部署一个网站
### 5.1 场景与方案选择
假设你是一个前端开发者,想部署一个个人博客网站。需求是静态网站(HTML/CSS/JS),有自己的域名,全球访问速度快,成本尽量低。
有三种方案可选。云服务器方案成本中等,难度中等,适合需要后端服务的场景。对象存储加 CDN 方案成本低,难度低,适合纯静态网站,这是我们的推荐方案。Serverless 方案成本极低,难度中等,适合动态内容。
推荐对象存储加 CDN 的原因是:成本最低(可能免费),配置最简单,速度最快(CDN 加速)。
👇 **动手点点看**
按照步骤指引,了解部署网站的完整流程。
<DeployWorkflowDemo />
### 5.2 实施步骤
**第一步:准备网站文件**。创建一个简单的 index.html
```html
<!DOCTYPE html>
<html>
<head>
<title>我的博客</title>
</head>
<body>
<h1>欢迎来到我的博客</h1>
<p>这是我的第一篇文章。</p>
</body>
</html>
```
**第二步:创建对象存储 Bucket**。登录云控制台,找到对象存储(OSS/S3),点击"创建 Bucket"。配置名称(比如 my-blog-2024,全局唯一),选择地域(离你最近的),权限设置为公共读(网站需要被访问)。
**第三步:上传文件**。进入 Bucket,点击"上传文件",选择 index.html,等待上传完成。
**第四步:配置静态网站托管**。进入 Bucket 设置,找到"静态页面"或"网站托管",启用功能,设置默认首页为 index.html,保存配置。
**第五步:绑定域名(可选)**。购买域名(如阿里云万网),添加 CNAME 记录指向 Bucket 域名,在 Bucket 中绑定自定义域名,配置 HTTPS。
**第六步:配置 CDN(推荐)**。开通 CDN 服务,添加加速域名,选择源站(你的 Bucket),等待 CDN 生效(几分钟到几小时)。
### 5.3 成本估算
月度成本估算:对象存储 0 到 5 元(按存储量计费),CDN 流量 0 到 10 元(按流量计,有免费额度),域名 5 到 10 元(按年折算)。总计 5 到 25 元每月,小网站可能完全免费。
---
## 6. 总结与下一步
### 6.1 核心要点回顾
云服务的本质可以概括为:云服务厂商是计算能力的水电公司,提供按需使用、全球部署、自助服务的能力。使用流程是选择厂商、注册账号、创建资源、配置权限、监控成本。
关键决策点包括:选厂商要看市场、技术栈、成本;选计费模式要在按需、包年包月、Serverless 之间权衡;配权限要遵循最小权限原则,启用 MFA,定期审计;控成本要监控用量,使用折扣,及时释放不需要的资源。
### 6.2 学习路径建议
第一周学习理论基础,了解云服务基本概念,注册一个云账号,创建第一台云服务器。第二周动手实践,部署一个静态网站,配置域名和 CDN,学习基础 Linux 命令。第三周学习进阶技能,包括权限管理(IAM)、监控和告警、成本优化。第四周进行项目实战,部署一个完整的应用,配置数据库和存储,实现自动扩容。
### 6.3 推荐资源
官方文档包括阿里云文档中心、AWS 中文文档、腾讯云文档。学习平台有阿里云大学、AWS 免费套餐、腾讯云实验室。社区资源有云原生社区、Serverless 中文网、InfoQ 云计算专栏。
---
## 7. 名词对照表
| 英文术语 | 中文对照 | 解释 |
| :--- | :--- | :--- |
| **Cloud Provider** | 云服务厂商 | 提供云计算服务的公司,如 AWS、阿里云 |
| **Region** | 地域 | 数据中心所在的地理区域 |
| **Availability Zone** | 可用区 | 一个地域内的独立数据中心 |
| **Instance** | 实例 | 一台虚拟服务器 |
| **Image/AMI** | 镜像 | 预配置的操作系统模板 |
| **VPC** | 虚拟私有云 | 隔离的虚拟网络环境 |
| **IAM/RAM** | 身份与访问管理 | 权限管理系统 |
| **User** | 用户 | 一个具体的身份 |
| **Group** | 用户组 | 用户的集合 |
| **Role** | 角色 | 临时身份 |
| **Policy** | 策略 | 定义权限的 JSON 文档 |
| **API Key** | API 密钥 | 调用 API 的凭证 |
| **AccessKey** | 访问密钥 | 编程访问的凭证(ID + Secret |
| **MFA** | 多因素认证 | 需要密码加验证码的登录方式 |
| **CDN** | 内容分发网络 | 全球加速服务,缓存静态资源 |
| **OSS/S3** | 对象存储 | 存储文件的服务 |
| **ECS/EC2** | 云服务器 | 虚拟主机服务 |
| **RDS** | 关系型数据库服务 | 托管的数据库 |
| **Serverless** | 无服务器 | 不用管理服务器的计算模式 |
| **Pay-as-you-go** | 按需付费 | 用多少付多少的计费模式 |
| **Reserved Instance** | 预留实例 | 包年包月的计费模式 |
| **Spot Instance** | 抢占式实例 | 低价但可能被回收的实例 |