第二章:云计算基础概念(IaaS/PaaS/SaaS)

说实话,刚开始接触云服务的时候,我也被那一堆缩写搞得头大。IaaS、PaaS、SaaS,听着像三个兄弟,但到底谁干谁的活?

你想想看,做AI靶点发现,数据量动不动就几百GB,模型训练要几十块GPU。自己买服务器?成本高得吓人。这时候云服务就成了唯一的选择。但问题来了——该怎么选?

我个人的习惯是:先搞清楚自己要管什么,不想管什么。想通了,选云服务就像点外卖一样简单。

2.1 云计算的三种服务模式

云计算不是凭空冒出来的。它把IT资源拆成了三块:基础设施、平台、软件。每一块对应一种服务模式。说白了就是——

  • IaaS(基础设施即服务):你管系统,云管硬件
  • PaaS(平台即服务):只管代码,别的不操心
  • SaaS(软件即服务):只管用,啥也不用管

我遇到过不少新手,上来就怼着PaaS一顿操作,结果发现环境不兼容。嗯,选之前一定要想清楚自己要管到哪一层。

三种模式的管理范围对比
管理层次 IaaS PaaS SaaS
应用程序 用户管理 用户管理 云商管理
运行环境/中间件 用户管理 云商管理 云商管理
操作系统 用户管理 云商管理 云商管理
虚拟化/存储/网络 云商管理 云商管理 云商管理
物理硬件 云商管理 云商管理 云商管理
我的建议:如果你团队里有运维经验的人,IaaS最灵活。纯算法团队?直接上PaaS,省掉环境配置的坑。

2.2 IaaS:最灵活的“毛坯房”

IaaS给你的是虚拟机、存储、网络。就像毛坯房——墙是你的,地是你的,但装修得自己来。你可以装任何系统,跑任何软件,不受限制。

我记得有一次做蛋白质折叠的分子动力学模拟。项目对GPU驱动版本、CUDA库、还有Python环境都有特定要求。

用IaaS就简单了:开一台带GPU的虚拟机,ssh上去,从零开始搭环境。想装什么装什么,没人拦你。云商提供的API也能自动搞扩展——训练量大就加机器,闲着就缩回去。

一个典型的Terraform脚本长这样:

resource "aws_instance" "gpu_node" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "p3.2xlarge"
  key_name      = "my-key"

  tags = {
    Name = "target-discovery-gpu"
  }
}
避坑指南:我曾经为了省成本选了低配IaaS实例,结果数据预处理跑了整整两天。做AI靶点发现,GPU实例是标配,别在计算资源上抠门。

2.3 PaaS:“拎包入住”的公寓

PaaS呢?是拎包入住的公寓。家具、水电、网线都配好了。你带上代码就能跑。

云商帮你搞定操作系统、运行时、中间件。你只管把应用部署上去。比如用Google Cloud的Vertex AI,上传你的模型训练代码,剩下的自动调度资源。

为什么PaaS在AI圈火?因为它完全屏蔽了运维细节。我见过很多生物信息学的团队,就两三个人,全栈都懂的不多。用PaaS,省心省力。

举个例子,部署一个PyTorch模型推理到Google Cloud Run:

gcloud run deploy target-inference \
  --image gcr.io/my-project/target-model:latest \
  --platform managed \
  --memory 4Gi \
  --cpu 2

就这一行命令,自动负载均衡、自动扩展、自动监控。不用管Docker在哪里跑,不用管Kubernetes怎么配。

我的经验:PaaS特别适合模型训练和推理的微服务化。用Vertex AI或者SageMaker,训练脚本放进去,数据管道配好,点击“运行”就行。环境一致性?云商帮你保证。

2.4 SaaS:“酒店式”服务

SaaS是最省事的选择。你连软件都不用装,打开浏览器直接用。比如Google Colab,比如各种云上的RNA-Seq分析平台。

说白了,SaaS就是酒店。你只管住,客房服务、洗衣、早餐,全有人伺候。你不关心后面是什么服务器、什么操作系统。

对于AI靶点发现,有些场景特别适合SaaS——如果你只需要做一次性的结构比对、序列分析,或者快速验证一个想法。开一个Notebook,调几个API,结果就出来了。

API调用示例:

import requests

response = requests.post(
    "https://api.alphafold.example.com/predict",
    json={"sequence": "MKFLILFN...", "model": "v2.3"}
)
print(response.json()["pdb"])

但注意了,SaaS的定制化能力有限。你不能改底层的算法,也不能优化底层的计算流程。

提醒:做大规模靶点筛选时,别全依赖SaaS。我见过一个团队用了公共SaaS平台跑全基因组关联分析,结果数据上传花了三天,还碰到了数据隐私问题。

2.5 三种模式的选型框架

怎么选?我给一个我常用的判断逻辑:

  • 要完全控制环境 → IaaS(比如自己搭CUDA驱动、装AlphaFold)
  • 只管算法和模型 → PaaS(比如用SageMaker训练、Vertex AI推理)
  • 只做快速验证或小规模分析 → SaaS(比如用Colab跑Notebook)

还有一种常见组合:用IaaS做数据存储和预处理,用PaaS做模型训练,用SaaS做用户界面展示。这样灵活度最高。

下图展示了三种服务模式在AI靶点发现工作流中的适用位置:

AI靶点发现工作流中 IaaS / PaaS / SaaS 的适用位置 IaaS 虚拟机 + GPU + 存储 基因组数据预处理 蛋白质结构比对 环境高度自定义 PaaS 训练平台 + 推理API 深度学习模型训练 靶点预测微服务 自动化扩展与监控 SaaS Web端分析平台 结构预测API调用 序列搜索与比对 快速迭代验证 选型核心原则:控制权递减,便捷性递增。IaaS适合定制深度,PaaS适合算法团队,SaaS适合快速验证

回到AI靶点发现这个场景,我个人最常用的组合是:数据存储和预处理用IaaS(比如S3+EC2 GPU实例),模型训练用PaaS(SageMaker或者Vertex AI),最终的结果展示和轻量分析用SaaS(比如Notebook或者公开API)。

好了,这一节的核心就这些。记住一条:别纠结于哪个"更好",要想清楚你团队在哪个层次上最有优势。下节课我们聊聊存储选型,那又是另一个坑了——嗯,等会儿再说吧。