
本文是我在《Cloud Computing》课程的完整学习笔记的二次整理,涵盖从云计算基础概念,到虚拟化、容器化、Dockerfile / Compose 应用级 IaC、Docker Swarm 编排的全套知识体系。文章按照"概念 → 原理 → 实验 → 云端映射 → 考点"的顺序组织,既适合作为期末复习的速查手册,也适合作为云原生入门的系统化路线图。0. 写在前面:为什么要系统学云计算?我在做 LLM-enhanced IC design verification 研究的过程中越来越深刻地体会到:没有云计算的底座,现代 AI、EDA、CI/CD、私有大模型部署几乎都无从谈起。从 SGLang + LiteLLM 的私有部署,到 LangGraph 工作流的容器编排,再到 RAG 知识库的对象存储,全部都建立在虚拟化、容器化和编排这三大支柱之上。所以这门课与其说是"考试课",不如说是程序员的"工业基础知识"。本文将以一条主线把它们串起来:传统 IT → 虚拟化 → IaaS → 容器化 → PaaS → 应用级 IaC → 容器编排 → 云原生下面进入正题。1. 云计算到底是什么?1.1 NIST 官方定义Cloud computing is a model for enabling on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction.翻成人话就是:通过网络按需访问一个共享的、可配置的计算资源池,资源可以被快速创建、扩展、释放,用户无需直接管理底层物理基础设施。更通俗的说法是:“用别人的计算机”——虽然不完整,但抓住了灵魂。1.2 云提供哪些资源?通过 AWS、Azure、GCP 等平台,可以以服务形式获得:计算:EC2 / Azure VM / Compute Engine存储:S3 / Blob / Cloud Storage数据库:RDS / Cosmos DB / Cloud SQL网络:VPC / VNet / Cloud NetworkingServerless:Lambda / Functions / Cloud RunAI / 分析 / 监控等托管服务1.3 传统 IT 痛在哪里?——Alice 书店的故事课程里一个经典案例:Alice 经营一家书店,业务扩大后她需要处理服务器、数据库、防火墙、VPN、负载均衡、高可用、备份……最终她发现:自己已经在经营一家 IT 公司,而不是书店。云计算的核心价值之一,就是把这些 IT 重负从业务方剥离出去。2. 云计算的六大核心价值2.1 Scalability 可扩展性系统能根据负载变化调整资源,分为两种思路:维度Vertical Scaling 垂直扩展Horizontal Scaling 水平扩展做法给单机加 CPU / RAM / 磁盘增加机器/实例数量例子2 vCPU → 8 vCPU1 个 Web 节点 → 10 个优点简单、改动小容错强、云原生友好缺点有硬件上限、单点风险需要分布式架构和负载均衡云原生倾向于水平扩展,因为它天然适配 Load Balancer、Auto Scaling、容器编排。2.2 Elasticity 弹性弹性强调"按需自动伸缩":圣诞节流量上涨自动 scale up,节后自动 scale down。这避免了"为峰值流量长期支付高成本"。2.3 Pay-as-you-go 按需付费类比电网:不自建发电厂,按用电量付费。云让企业的成本模型从 CAPEX(资本支出,一次性买硬件)转向 OPEX(运营支出,按使用量付费)。2.4 Availability 可用性通常用 uptime 百分比衡量:可用性年停机时间约99%3.65 天99.9%8.76 小时99.99%52.6 分钟99.999%5.26 分钟(“五个九”)提升手段:多实例、负载均衡、多可用区、自动故障转移、健康检查、数据复制。2.5 Resilience 韧性系统从故障中自动恢复的能力。后面 Docker Swarm 的 self-healing 就是典型例子:容器挂了自动重启、节点宕了任务自动迁移。2.6 Agility 敏捷性云让"创建环境、试错、回滚"成本极低,是 DevOps 与 CI/CD 文化的底座。3. 云计算的六大风险容易被忽视,但考试和实际项目都会问:Internet Dependency:依赖稳定网络,需要多 ISP / 专线 / 离线缓存Security Concerns:错误配置、API Key 泄露、容器逃逸、镜像漏洞Vendor Lock-in:过度依赖某厂商专有 API,迁移困难——用 K8s、PostgreSQL、Docker 这类开源标准是常见对策Cost Management:忘关 VM、日志爆炸、数据出站流量贵Compliance:GDPR / HIPAA / ISO 27001 / 数据驻留Data Privacy:分类、加密、匿名化、审计、生命周期管理4. 云部署模型:云"在哪里"?部署模型回答的是Where Who owns it。4.1 Public Cloud 公有云第三方厂商运营,多租户共享。代表:AWS、Azure、GCP、阿里云、腾讯云。优点:弹性强、服务丰富、低门槛、OPEX缺点:控制力弱、合规复杂、有锁定风险4.2 Private Cloud 私有云仅供一个组织使用,可以自建(VMware、OpenStack)或托管(Azure Stack、OpenShift)。优点:控制强、隔离好、合规友好缺点:成本高、扩展受限、运维重4.3 Hybrid Cloud 混合云关键点:不是"既用公有云又用私有云"那么简单,而是要让它们作为统一系统协同工作。需要 VPN / Direct Connect / ExpressRoute、统一 IAM、统一监控。4.4 Multi-cloud 多云同时使用多个公有云(AWS + GCP + Azure)。注意与 Hybrid 的区别:Hybrid = 私有 + 公有 Multi-cloud = 多个公有云4.5 Community Cloud 社区云多个有共同合规/任务需求的组织共享(如政府、医疗联盟、研究联合体)。4.6 On-premises不是云,是传统 IT 模式。组织自管硬件、网络、电力、冷却。5. 云服务模型:哪些层"我管"、哪些层"它管"?5.1 Shared Responsibility Model 共享责任模型这是最高频考点。下表横向看责任随服务模型上移:层级On-premIaaSPaaSSaaSApplication用户用户用户提供商Data用户用户用户用户(业务数据)Runtime用户用户提供商提供商Middleware用户用户提供商提供商OS用户用户提供商提供商Virtualization用户提供商提供商提供商Servers / Storage / Networking用户提供商提供商提供商一句话记忆:IaaS:用户管 OS 以上 PaaS:用户管应用 + 数据 SaaS:用户只管使用与业务配置5.2 IaaS提供虚拟化基础设施。代表:EC2、Azure VM、Compute Engine。适合 lift-and-shift 迁移、legacy、强控制需求。5.3 PaaS提供完整应用平台,开发者只关心代码 + 配置。代表:Elastic Beanstalk、App Service、App Engine、Heroku、Cloud Run。适合 Web 应用、API 服务、CI/CD。5.4 SaaS完全托管的软件服务。代表:Gmail、Office 365、Slack、Salesforce。5.5 FaaS / Serverless只写函数,按事件触发执行。代表:Lambda、Azure Functions、Cloud Functions。适合 Webhook、定时任务、轻量 API、IoT。但要注意冷启动、执行时间限制、调试困难、厂商锁定。6. 数据中心与虚拟化:云的物理与软件基石6.1 数据中心 Datacenter云不是"没有硬件",而是硬件被抽象、自动化、服务化了。数据中心包含服务器、存储、网络、冷却、电力、备电、消防、物理安防。6.2 Virtualization 虚拟化一台物理服务器变多台虚拟服务器。每个 VM 拥有自己的 vCPU、虚拟内存、虚拟磁盘、vNIC、独立 kernel 和 OS。没有虚拟化,云的"按需计算"几乎无法实现。6.3 Hypervisor 两种类型类型运行位置代表用途Type 1(Bare-metal)直接跑在硬件上ESXi、Hyper-V、KVM、Xen生产、云平台Type 2(Hosted)跑在宿主 OS 上VirtualBox、VMware Workstation学习、开发、测试Lab 1 用的 VirtualBox 属于 Type 2。6.4 虚拟化的优缺点优点:提升利用率、降低硬件成本、隔离性好、支持快照、迁移、灾备、多 OS 共存。缺点:每个 VM 都带完整 OS,镜像 GB 级、启动慢(秒到分钟)、资源开销大、大规模管理复杂。这些缺点正是容器化要解决的问题。7. 容器化:比 VM 更轻、更快、更适合云原生7.1 容器是什么?容器共享宿主机内核,只打包应用代码 + Runtime + 依赖 + 配置。这让镜像变成 MB 级、启动变成毫秒级、密度极高。7.2 Container vs VM 对比表特性ContainerVM隔离级别OS-levelHardware-level启动速度毫秒秒到分钟镜像大小MBGBOS共享宿主 kernel各自带完整 OS密度极高中等可移植性强中等适合场景微服务、CI/CD、云原生Legacy、强隔离⚠️容器不是 VM 的完全替代。现代云中典型组合是:VM 提供基础设施隔离,容器跑在 VM 上提供应用层敏捷性。7.3 Docker 核心概念Image:只读模板,包含运行应用所需一切Container:镜像的运行实例Registry:镜像仓库(Docker Hub、ECR、ACR、Artifact Registry)Dockerfile:声明式构建镜像Volume:持久化数据Network:容器间、容器与主机、容器与外网通信8. Lab 1 实战:VirtualBox 玩转 IaaS8.1 三类文件:ISO / VDI / OVA文件含义云端对应ISOOS 安装光盘镜像Custom Image / AMI sourceVDIVirtualBox 虚拟硬盘EBS Volume / Managed Disk / Persistent DiskOVA打包好的整个 VM 模板AMI / VM Image / Machine Image复制 VDI 后常遇到 UUID 冲突,解决:VBoxManage.exe internalcommands sethduuid"C:\path\VM_Debian_3.vdi"8.2 改 hostnamesudonano/etc/hostname# 改成 lastname-debian-Xsudoreboot8.3 常用 Linux 网络命令