技术演变过程
- 物理服务器--->虚拟化--->>云计算--->>>容器化时代
从资源管理与利用效率角度
物理服务器(独栋别墅)
- 一台物理服务器,资源固定且独占,cpu,内存,磁盘利用率非常的低,资源浪费的非常严重
虚拟化(公寓楼)
-
通过这个Hypervisor(如vmware,hyper-v)将这个物理资源,切割成多个相互隔离的虚拟机VM
-
实现了资源的整合,但是每个虚拟机都需要携带完整的操作系统,非常繁琐,通常是GB级别的
云计算(酒店式服务公寓)
-
虚拟化的升华,核心是资源池化和按需自助服务lass
-
资源从静态分配变为动态弹性伸缩,按使用量计费,利用率最大化了,就是用户用多少我给多少,不会浪费掉
-
不需要用户自己手动一个一个安装虚拟机,就只需要再网页上点几下就创建出来了,背后是自动化和API化
-
阿里云等云厂商
容器化(集装箱与货轮)
-
容器共享主机的OS内核,资源利用率更加的高
-
每个容器都是共享主机的资源,cpu,内存,网络
-
启动速度是秒级别的,但是隔离性比较的弱
-
微服务
应用交付与运维角度
-
物理服务器:“重装系统”。部署应用需准备硬件、安装OS、配置环境,过程以周/月计。运维依赖人工,易出现“雪花服务器”(配置独一无二),灾难恢复困难。
-
虚拟化:“克隆虚拟机”。以虚拟机镜像(VM Image)为交付单元,部署速度提升至分钟/小时级。但镜像庞大(GB级),包含整个OS,迁移和分发效率低。
-
云计算:“API调用与模板”。基础设施即代码(IaC),通过API和模板(如AWS CloudFormation, Terraform)自动化部署环境。强调可观测性和自动化运维。
-
容器化:“镜像与编排”。以容器镜像为标准化交付单元,包含应用及其所有依赖。结合容器编排(如Kubernetes),实现声明式部署、服务发现、自愈和滚动更新,部署速度达秒级。DevOps和GitOps文化的技术基石。
演变的逻辑
-
这是一条从 “刚性”到“柔性”、从 “以资源为中心”到“以应用为中心” 的清晰路径。
-
虚拟化 解决了物理服务器 “硬” 的问题(浪费、不灵活)。
-
云计算 解决了虚拟化 “静” 的问题(管理复杂、缺乏服务),提供了动态的资源海洋,用户需要多少,我提供多少
-
容器化 解决了云计算环境下应用 “重” 的问题(VM镜像笨重、启动慢),让应用像集装箱一样标准、轻便、快速,能在云资源的海洋里自由漂移和编排。秒级别的启动这个容器
理解
-
之前一个应用跑在一个物理服务器上面运行,比较的浪费资源
-
虚拟化的出现,就是一个物理服务器虚拟出了多个虚拟机,10个,就可以跑10个应用,但是这个虚拟机都有完整的操作系统,比较的繁重,不易管理
-
云计算的出现,对于这个虚拟化,有一个好的管理,可观测性,自动部署的环境,点几下网页就创建出来了
-
容器化的出现,就是一个物理服务器,可以运行上百万个容器,这个容器都可以跑服务,而且非常的轻便,都是共享这个宿主机的资源
跑应用的演进之路
| 特性维度 | 物理服务器 | 虚拟化 | 云计算 (IaaS/PaaS) | 容器化 (云原生) |
|---|---|---|---|---|
| 核心价值 | 稳定、可控 | 整合、隔离 | 弹性、自助、服务化 | 敏捷、效率、可移植性 |
| 交付单元 | 物理主机 | 虚拟机镜像 | 云服务/API | 容器镜像 |
| 部署速度 | 周/月 | 分钟/小时 | 分钟 | 秒 |
| 资源粒度 | 整台服务器 | 虚拟CPU/内存 | 更细的API资源 | 进程级,极致细粒度 |
| 运维模式 | 人工、脚本 | 集中化虚拟化管理 | 自动化、可观测 | 声明式、自治、GitOps |