Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 1 章:云计算基础

“云计算就像水电一样,按需使用,按量付费。” —— 这是云计算最朴素的愿景,也是它改变整个 IT 产业的核心逻辑。

本章内容

  • 什么是云计算,它解决了什么问题
  • IaaS、PaaS、SaaS 三种服务模式的区别
  • 阿里云产品体系概览
  • 云端开发环境准备

1.1 云计算概述

1.1.1 为什么需要云计算

在云计算诞生之前,企业要上线一个网站或应用,需要经历这样的流程:

  1. 采购服务器:预估业务规模,购买物理服务器
  2. 机房托管:服务器需要放到专业的机房,有专人维护
  3. 网络配置:申请带宽,配置域名解析
  4. 运维管理:监控服务器状态,处理硬件故障
  5. 扩容困难:业务增长时,又是一轮采购、部署、调试

这个过程有几个典型问题:

  • 周期长:从采购到上线,可能需要数周甚至数月
  • 成本高:服务器是重资产,利用率往往不到 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 三种模式对比

维度IaaSPaaSSaaS
控制权
灵活性
易用性
适用人群技术团队开发者普通用户
典型场景自建数据中心应用开发企业办公
代表产品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模型推理服务部署
计算服务函数计算 FCServerless 运行 AI 代码
容器服务 ACKKubernetes 容器编排
数据服务OSS存储模型文件、训练数据
Elasticsearch向量检索
网络服务API 网关管理 AI 应用的 API

1.4 云端开发环境准备

1.4.1 必要的准备工作

开始云上大模型开发前,需要完成以下准备:

  1. 阿里云账号注册

    • 访问阿里云官网 (aliyun.com) 注册账号
    • 完成实名认证(个人或企业)
  2. 创建 AccessKey

    • 登录阿里云控制台
    • 进入「AccessKey 管理」
    • 创建 AccessKey ID 和 Secret(妥善保管,不要泄露)
  3. 开通必要服务

    • 函数计算 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 本章小结

本章介绍了云计算的基础概念和阿里云产品体系的核心要点:

  1. 云计算的本质是提供随时可用的计算资源,按需使用,按量付费
  2. 三种服务模式:IaaS(卖基础设施)、PaaS(卖平台)、SaaS(卖软件)
  3. 阿里云产品体系覆盖计算、存储、网络、数据库、AI 等多个领域
  4. 开发准备需要注册账号、创建 AccessKey、开通必要服务

下一章我们将深入学习阿里云的核心产品,包括对象存储 OSS、函数计算 FC 和 API 网关,为后续的大模型应用开发打下基础。


思考与练习

  1. 概念辨析:解释 IaaS、PaaS、SaaS 的区别,并各举一个阿里云产品的例子
  2. 成本计算:假设你的应用每天有 1000 次 API 调用,每次调用消耗 0.1 元,如果部署在 ECS(月付 200 元)和函数计算(按调用计费)上,分别需要多少成本?
  3. 资源规划:如果你要上线一个 AI 问答应用,需要用到哪些阿里云服务?画出简单的架构图