第 1 章:云计算基础
“云计算就像水电一样,按需使用,按量付费。” —— 这是云计算最朴素的愿景,也是它改变整个 IT 产业的核心逻辑。
本章内容
- 什么是云计算,它解决了什么问题
- IaaS、PaaS、SaaS 三种服务模式的区别
- 阿里云产品体系概览
- 云端开发环境准备
1.1 云计算概述
1.1.1 为什么需要云计算
在云计算诞生之前,企业要上线一个网站或应用,需要经历这样的流程:
- 采购服务器:预估业务规模,购买物理服务器
- 机房托管:服务器需要放到专业的机房,有专人维护
- 网络配置:申请带宽,配置域名解析
- 运维管理:监控服务器状态,处理硬件故障
- 扩容困难:业务增长时,又是一轮采购、部署、调试
这个过程有几个典型问题:
- 周期长:从采购到上线,可能需要数周甚至数月
- 成本高:服务器是重资产,利用率往往不到 30%
- 风险大:预估失误会导致资源浪费或性能瓶颈
- 运维重:需要专职运维团队处理各种问题
云计算的出现,就是为了解决这些问题。
1.1.2 云计算的定义
云计算(Cloud Computing) 是指通过互联网提供按需使用的计算资源,包括服务器、存储、数据库、网络、软件等,用户无需采购、拥有和维护物理基础设施,只需按实际使用量付费。
云计算的核心特征可以用四个字概括:随选即用。
1.1.3 云计算的优势
| 优势 | 说明 |
|---|---|
| 弹性伸缩 | 业务高峰时自动扩容,低谷时自动缩容 |
| 按需付费 | 用多少付多少,避免资源浪费 |
| 快速部署 | 分钟级即可创建和销毁资源 |
| 免运维 | 云厂商负责底层基础设施的维护 |
| 高可用 | 云服务本身提供多副本、容灾等能力 |
| 全球分布 | 一键部署到全球多个地域和可用区 |
1.2 云计算服务模式
云计算提供了三种主要的服务模式,从底层到上层,分别是 IaaS、PaaS、SaaS。
1.2.1 IaaS:基础设施即服务
IaaS(Infrastructure as a Service) 提供最底层的计算资源,包括虚拟机、存储、网络等。
典型服务:
- 云服务器 ECS(Elastic Compute Service)
- 云盘(块存储)
- 虚拟私有云 VPC(Virtual Private Cloud)
特点:
- 用户拥有最大的控制权,可以自行安装操作系统和应用
- 需要用户负责应用的配置、管理和运维
- 适合有技术团队的企业,或需要高度定制化的场景
┌─────────────────────────────────────────┐
│ 用户应用 │
├─────────────────────────────────────────┤
│ 操作系统 │
├─────────────────────────────────────────┤
│ 虚拟化层 │
├─────────────────────────────────────────┤
│ 云厂商管理的基础设施 │
│ (服务器、网络、存储数据中心) │
└─────────────────────────────────────────┘
▲ ▲ ▲
│ │ │
用户负责 用户负责 云厂商负责
1.2.2 PaaS:平台即服务
PaaS(Platform as a Service) 提供应用开发和部署的平台,用户只需上传代码或配置,无需管理底层服务器和运行时环境。
典型服务:
- 函数计算 FC(Function Compute)
- 容器服务 ACK/ASK
- 数据库服务 RDS
- 机器学习平台 PAI
特点:
- 开发者专注于业务逻辑,不用关心服务器配置
- 自动扩缩容,按调用量计费
- 适合应用开发和微服务架构
┌─────────────────────────────────────────┐
│ 用户应用/代码 │
├─────────────────────────────────────────┤
│ 运行时环境 + 中间件 + 开发工具 │
├─────────────────────────────────────────┤
│ 云厂商管理的基础设施 │
└─────────────────────────────────────────┘
▲ ▲ ▲
│ │ │
用户负责 云厂商负责 云厂商负责
1.2.3 SaaS:软件即服务
SaaS(Software as a Service) 提供完整的应用软件,用户直接使用,无需安装和维护。
典型服务:
- 钉钉、飞书(企业协作)
- 阿里云盘(云存储)
- 有赞、微盟(电商 SaaS)
特点:
- 开箱即用,用户零运维
- 按订阅制收费
- 适合没有技术团队的企业
┌─────────────────────────────────────────┐
│ 完整应用软件(用户直接使用) │
├─────────────────────────────────────────┤
│ 全栈由云厂商管理 │
└─────────────────────────────────────────┘
▲ ▲ ▲
│ │ │
云厂商负责 云厂商负责 云厂商负责
1.2.4 三种模式对比
| 维度 | IaaS | PaaS | SaaS |
|---|---|---|---|
| 控制权 | 高 | 中 | 低 |
| 灵活性 | 高 | 中 | 低 |
| 易用性 | 低 | 中 | 高 |
| 适用人群 | 技术团队 | 开发者 | 普通用户 |
| 典型场景 | 自建数据中心 | 应用开发 | 企业办公 |
| 代表产品 | ECS | 函数计算、RDS | 钉钉 |
对于大模型应用开发,我们主要使用 PaaS 层的服务(如函数计算、数据库),配合少量 IaaS(如云服务器)和 SaaS(如日志服务)。
1.3 阿里云产品体系概览
阿里云是国内最大的云服务商,提供超过 200 款产品,覆盖企业数字化转型的方方面面。
1.3.1 核心产品分类
┌─────────────────────────────────────────────────────────────┐
│ 阿里云产品体系 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 计算服务 │ │ 存储服务 │ │ 网络服务 │ │
│ │ ECS/FC/ACK │ │ OSS/NAS │ │ VPC/SLB │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 数据库服务 │ │ 大数据服务 │ │ AI 与机器 │ │
│ │ RDS/Redis │ │ MaxCompute │ │ 学习服务 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 安全服务 │ │ 监控与日志 │ │ 开发工具 │ │
│ │ RAM/KMS │ │ ARMS/SLS │ │ DevOps │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
1.3.2 与大模型开发相关的核心产品
| 产品类别 | 产品名称 | 用途 |
|---|---|---|
| 模型服务 | DashScope 灵积 | 统一调用各类大模型的 API |
| 通义千问 Qwen | 阿里云自研大语言模型 | |
| 通义万相 Wanx | 图像生成模型 | |
| 开发平台 | PAI | 机器学习训练和部署 |
| DSW | 数据科学 Jupyter 环境 | |
| EAS | 模型推理服务部署 | |
| 计算服务 | 函数计算 FC | Serverless 运行 AI 代码 |
| 容器服务 ACK | Kubernetes 容器编排 | |
| 数据服务 | OSS | 存储模型文件、训练数据 |
| Elasticsearch | 向量检索 | |
| 网络服务 | API 网关 | 管理 AI 应用的 API |
1.4 云端开发环境准备
1.4.1 必要的准备工作
开始云上大模型开发前,需要完成以下准备:
-
阿里云账号注册
- 访问阿里云官网 (aliyun.com) 注册账号
- 完成实名认证(个人或企业)
-
创建 AccessKey
- 登录阿里云控制台
- 进入「AccessKey 管理」
- 创建 AccessKey ID 和 Secret(妥善保管,不要泄露)
-
开通必要服务
- 函数计算 FC(按量付费即可开始)
- 对象存储 OSS(首月有免费额度)
- DashScope(新用户有免费调用额度)
1.4.2 本地开发环境配置
Python 环境(推荐使用 Conda 管理):
# 安装 Miniconda(轻量级 Conda)
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
bash Miniconda3-latest-MacOSX-arm64.sh
# 创建本书专用环境
conda create -n cloud-llm python=3.11 -y
conda activate cloud-llm
# 安装核心依赖
pip install dashscope aliyun-python-sdk-core requests python-dotenv
阿里云 CLI 工具(可选,用于命令行管理资源):
# macOS
brew install aliyun-cli
# 配置凭证
aliyun configure
# 按提示输入 AccessKey ID 和 Secret,选择区域
1.4.3 第一个云端资源
让我们用命令行创建一个 OSS Bucket,感受一下云资源的创建过程:
# 创建存储空间
aliyun oss mb oss://cloud-llm-book-demo --region cn-hangzhou
# 上传一个文件
echo "Hello, Cloud!" > hello.txt
aliyun oss cp hello.txt oss://cloud-llm-book-demo/
# 查看文件
aliyun oss ls oss://cloud-llm-book-demo/
# 清理(删除资源)
aliyun oss rb oss://cloud-llm-book-demo/
这个创建和销毁云资源的过程,只需几分钟,远快于传统的采购流程,这就是云计算的魔力。
1.5 本章小结
本章介绍了云计算的基础概念和阿里云产品体系的核心要点:
- 云计算的本质是提供随时可用的计算资源,按需使用,按量付费
- 三种服务模式:IaaS(卖基础设施)、PaaS(卖平台)、SaaS(卖软件)
- 阿里云产品体系覆盖计算、存储、网络、数据库、AI 等多个领域
- 开发准备需要注册账号、创建 AccessKey、开通必要服务
下一章我们将深入学习阿里云的核心产品,包括对象存储 OSS、函数计算 FC 和 API 网关,为后续的大模型应用开发打下基础。
思考与练习
- 概念辨析:解释 IaaS、PaaS、SaaS 的区别,并各举一个阿里云产品的例子
- 成本计算:假设你的应用每天有 1000 次 API 调用,每次调用消耗 0.1 元,如果部署在 ECS(月付 200 元)和函数计算(按调用计费)上,分别需要多少成本?
- 资源规划:如果你要上线一个 AI 问答应用,需要用到哪些阿里云服务?画出简单的架构图