当前位置: 首页 > news >正文

云计算从入门到云原生:一篇文章吃透虚拟化、容器化、IaC与编排

本文是我在《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 Networking
  • Serverless:Lambda / Functions / Cloud Run
  • AI / 分析 / 监控等托管服务

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. 云计算的六大风险

容易被忽视,但考试和实际项目都会问

  1. Internet Dependency:依赖稳定网络,需要多 ISP / 专线 / 离线缓存
  2. Security Concerns:错误配置、API Key 泄露、容器逃逸、镜像漏洞
  3. Vendor Lock-in:过度依赖某厂商专有 API,迁移困难——用 K8s、PostgreSQL、Docker 这类开源标准是常见对策
  4. Cost Management:忘关 VM、日志爆炸、数据出站流量贵
  5. Compliance:GDPR / HIPAA / ISO 27001 / 数据驻留
  6. 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-premIaaSPaaSSaaS
Application用户用户用户提供商
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
启动速度毫秒秒到分钟
镜像大小MBGB
OS共享宿主 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 玩转 IaaS

8.1 三类文件:ISO / VDI / OVA

文件含义云端对应
ISOOS 安装光盘镜像Custom Image / AMI source
VDIVirtualBox 虚拟硬盘EBS Volume / Managed Disk / Persistent Disk
OVA打包好的整个 VM 模板AMI / VM Image / Machine Image

复制 VDI 后常遇到 UUID 冲突,解决:

VBoxManage.exe internalcommands sethduuid"C:\path\VM_Debian_3.vdi"

8.2 改 hostname

sudonano/etc/hostname# 改成 lastname-debian-Xsudoreboot

8.3 常用 Linux 网络命令

http://www.cnnetsun.cn/news/2799502.html

相关文章:

  • 告别网络卡顿:手把手教你为RoCEv2配置DC-QCN拥塞控制(附mlnx_qcn命令详解)
  • 技术博客冷启动秘籍:巧用emoji提升CSDN文章打开率与互动数据
  • 独家拆解CSDN AI引流系统架构:仅限认证技术博主开放的「专栏级LinkID」动态绑定机制(内测资格倒计时72小时)
  • 从收音机到5G滤波器:品质因数Q如何影响你的手机信号和网速?
  • 【紧急预警】CSDN AI营销导流规则即将动态收紧!现在不掌握这4个合规导流杠杆,下月起私信触达率或腰斩
  • Spring AI Alibaba向量存储:5种企业级架构方案深度对比
  • 行政区划 ZIP 导入(importZip)
  • BilibiliDown终极指南:三分钟掌握B站视频下载神器
  • 8类果树病害检测数据集(炭疽病/白粉病/根腐病等)| 6000张YOLO智慧农业病虫害监测数据集 适用于果园智能监测、病害识别与目标检测研究
  • 怎么监控对标账号更新,5款作者监控工具横评实测
  • G-Helper终极指南:如何让华硕笔记本性能翻倍的轻量级控制工具
  • K210人脸识别门禁实战:如何用MaixPy实现口罩检测与特征学习
  • 从dBi到隔离度:一文读懂天线数据手册里的那些‘黑话’,让你的产品射频性能不再玄学
  • 用Python和PuLP搞定选址问题:从消防站到外卖配送点的实战建模指南
  • MATLAB旁瓣分析工具集:一键计算雷达波形PSLR与ISLR
  • 终极指南:如何用Warcraft Helper彻底修复魔兽争霸3在Win10/Win11的兼容性问题
  • 基于STM32的智能抽水装置设计:从传感器融合到电机驱动的完整实现
  • 北京出租车GPS轨迹分析包:2014年单日数据+上下车热点自动识别+交互地图一键生成
  • 大模型与深度学习确定性控制:基于 PyTorch 的随机种子(Seed)全局锚定与 CUDA 算子确定性配置规避精度抖动实战
  • ABot-Claw——改进OpenClaw以驱动双足机器人自主干活的三个关键点:统一具身接口、视觉多模态记忆、基于奖励模型的执行反馈模块
  • Forza Mods AIO终极指南:3分钟掌握免费开源游戏修改工具
  • 151.高通深度救砖脚本|9008 EDL模式Sahara协议传输,黑砖设备强制恢复
  • 编程教育的新篇章:AI工具如何改变教学方式
  • 基于IEEE14节点的电力系统碳流追踪MATLAB仿真包(含潮流计算与碳责任分配核心函数)
  • 实战指南:基于YOLOv8与快马平台构建工地安全智能监控系统
  • ARGIS制图效果展示
  • 从源码层看CSDN AI渲染引擎:为什么你的<code>标签被自动过滤?(2024 Q2平台内核逆向笔记)
  • CSDN AI标题优化算法深度拆解(BERT+用户意图权重+搜索热力图融合模型曝光)
  • YOLO11轻量化魔改 | 替换Backbone为ShuffleNetV2+SE模块,极致通道打乱,低算力平台首选
  • AI 记忆助手设计手记:帮老人整理一生故事的温暖工程