云计算的三次浪潮

云计算经历了IaaS(基础设施即服务)、PaaS(平台即服务)到SaaS(软件即服务)的抽象层次递进。计算资源也经历了物理机→虚拟机→容器→Serverless的四次封装范式的演进,每一次演进都让开发者更聚焦于业务逻辑而非底层基础设施。

虚拟化技术

虚拟机通过Hypervisor将物理服务器抽象为多个逻辑服务器。KVM作为Linux内核自带的开源Hypervisor,配合QEMU设备模拟实现了企业级虚拟化。VMware ESXi在企业市场拥有绝对地位,提供了HA、DRS、FT等企业级功能。

硬件辅助虚拟化(Intel VT-x/VT-d、AMD-V)大幅降低CPU虚拟化开销,SR-IOV让网卡直通VM绕过Hypervisor的性能损耗,VGPU将GPU时间片共享给多个VM。

容器技术的本质

容器并非虚拟机的替代而是补充。容器本质上是宿主机上的进程,通过namespace实现资源隔离、cgroups实现资源限制、rootfs实现文件系统隔离。Docker通过镜像格式定义和容器运行时标准化革命了应用的分发方式。

OCI(Open Container Initiative)标准化了容器运行时(runc)、镜像格式(OCI Image Spec)和分发协议。containerd和CRI-O是Kubernetes采用的容器运行时,提供了更专业的面向编排平台能力。

Serverless:极致的抽象

Serverless(FaaS/BaaS)将运行时管理也交给云平台,开发者只需关注和开发函数或应用的业务逻辑。AWS Lambda定义了FaaS的事实标准,触发源极其丰富(API Gateway/S3事件/DynamoDB流/SQS队列等)。Google Cloud Functions、Azure Functions、以及开源的OpenFaaS/Knative提供了多选方案。

Serverless的挑战包括:冷启动延迟(Java函数>10s,Go/Python~100ms)、函数执行时间限制(15分钟上限)、状态管理不便(每次调用无状态)和调调试困难。容器实例(AWS Fargate/ACI/Cloud Run)提供了容器+Serverless的折中方案。

云服务的选型逻辑

选型逻辑:需要精细控制选IaaS(EC2/KVM)、需要快速部署容器化应用选PaaS(EKS/ECS/EAE)、只做简单Serverless事件处理选CaaS/FaaS(Lambda)。实践中大量业务采用混合模式:核心服务用K8s保证可控性,低频任务用Lambda按需付费。多云策略虽然增加复杂度,但规避了供应商锁定风险。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿
网站二维码

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部