传统物理机部署
很多老牌企业还在用物理服务器跑核心系统,比如银行的账务处理平台。一台服务器专跑一个应用,配置高、稳定性强,维护起来也直观。运维人员能直接插显示器进系统,查问题像修家电一样实在。
但缺点也很明显:资源利用率低。一台机器可能只用了30%的CPU,其他都在空转。扩容就得买新机器,采购流程走下来少说一两周,业务等不起。
虚拟化部署
后来大家开始用VMware、KVM这些虚拟化技术,在一台物理机上跑多个虚拟机。就像把一套三居室改成三个单间出租,空间利用率上去了。
每个应用独立运行在自己的虚拟机里,操作系统、环境变量互不干扰。上线新服务不用等硬件,从资源池里划一台虚拟机出来,半小时就能跑起来。某省电力公司的计费系统就是这么干的,高峰期临时开了二十多台虚拟机顶着。
容器化部署
再往后,Docker火了。应用被打成镜像,配上yaml文件,扔到哪都能跑。比起虚拟机要装完整操作系统,容器只打包应用和依赖,启动快,占资源少。
Kubernetes成了容器调度的标配。比如电商平台做秒杀活动,提前写好Deployment,流量一来自动扩出上百个Pod,活动结束自动回收。运维不用半夜爬起来手动加机器了。
apiVersion: apps/v1
kind: Deployment
metadata:
name: order-service
spec:
replicas: 3
selector:
matchLabels:
app: order
template:
metadata:
labels:
app: order
spec:
containers:
- name: order-container
image: registry.example.com/order:v1.2Serverless架构
有些场景根本不需要一直开着服务器。比如企业内部的报销审批流程,每天就早上九点和下午三点集中处理一波。用函数计算(Function as a Service),代码上传后按调用次数计费,空闲时零成本。
某连锁超市的库存同步功能就用了阿里云函数计算,每天定时扫描ERP数据,生成报表推给门店,每月费用不到两百块。
混合部署模式
现实中的企业很少只用一种方式。核心交易系统可能还在IBM小型机上稳着,新做的客户小程序上了云原生架构,中间通过API网关打通。
这种“老树发新芽”的情况特别常见。制造业企业的MES系统连着车间设备,不敢轻易动,但对外的供应商门户可以完全放在公有云上,用反向代理做安全隔离。
选哪种部署方式,说到底还是看业务需求。追求稳定就守好物理机,要弹性就上容器,试水创新功能不妨试试Serverless。没有银弹,只有合适不合适。