容器化:用镜像把应用与依赖打包,环境一致;编排:用 K8s 管理容器的部署、伸缩与自愈;微服务:把单体拆成可独立演进的模块;DevOps:研发与运维一体化;可观测:日志、指标、链路追踪三件套。
这五件事组合起来,才构成完整的云原生能力。
认知提醒:云原生是设计理念的转变,不是某个工具。小团队也可以从容器化与 CI 开始渐进拥抱。
云原生生态的关键组件。
容器化的事实标准。
容器编排的事实标准。
Prometheus/Grafana/Jaeger。
Istio 等治理流量与安全。
HPA、Serverless 弹性。
云原生下的交付流水线。
不必一步到位,按阶段演进。
把现有应用容器化,统一环境,解决“本地能跑线上不行”。
自动化构建、测试、部署,让交付稳定可回滚。
引入 K8s 管理部署与伸缩,逐步拆微服务。
接入日志、指标、链路,让系统状态随时可见可追。
一组高频概念对照。
| 概念 | 作用 | 代表 |
|---|---|---|
| 容器 | 打包应用与依赖 | Docker |
| 编排 | 管理容器生命周期 | Kubernetes |
| 微服务 | 模块独立演进 | Spring Cloud 等 |
| 可观测 | 状态可见可追 | Prometheus |
| 弹性 | 按需伸缩 | HPA/Serverless |
初期不一定。先用 Docker Compose 跑起来,规模与复杂度上来后再上 K8s,避免过早引入运维负担。
不是。上云只是用了云资源,云原生是按云的方式设计系统。用了云但没容器化、没弹性,还不算云原生。
不是。微服务带来弹性与独立性的同时,也带来通信与运维复杂度。规模不够时,单体+模块化更合适。
按业务边界渐进拆分:先拆独立且边界清晰的模块,配合数据库拆分与灰度,逐步演进而非一刀切。