云原生(Cloud Native)
May 2, 2019 00:30 · 988 words · 2 minute read
云原生技术发展史
云原生技术生态现状
云原生基金会
CNCF 是目前云计算领域最成功的开源基金会之一。是 Kubernetes、containerd、etcd、Envoy 等知名开源项目的托管基金会。
云原生技术社区
CNCF 目前托管的20+正式项目共同构成了现代云计算生态的基石。其中 Kubernetes 是全世界第四活跃的开源项目。
云原生技术产业
全球各大公有云厂商和技术创业公司持续投入,总体市场于2021年逼近1000亿美元。
我们正处于时代的关键节点
2013年,Docker 项目发布
2014年,Kubernetes 项目发布
Google Borg/Omega 系统思想借助开源社区“重生”。
2015~2016年,容器编排“三国争霸”
- Docker Swarm
- Mesos
- Kubernetes
2017年,Kubernetes 项目事实标准确立
Docker 公司宣布在核心产品内置 Kubernetes 服务,Swarm 项目逐渐停止维护。
2018年,云原生技术理念逐步萌芽
Kubernetes 和容器成为所有云厂商的既定标准,以“云”为核心的软件研发思想逐步形成。
云原生的定义
云原生是一条最佳路径
- 低心智负担的、
- 敏捷的、
- 以可扩展、可复制的方式,
最大化利用“云”的能力、发挥“云”的价值的最佳路径
云原生的技术范畴
云应用定义与开发流程
- 应用定义与镜像制作
- CI/CD 流程
- 消息和 Streaming
- 数据库
应用的编排与管理
- 应用编排与调度
- 服务发现与治理
- 远程调用
- API 网关
- 服务网格 Service Mesh
监控和可观测性
- 监控
- 日志收集
- 回溯
- 混沌工程(破坏性测试)
云原生底层技术
- 容器运行时
- 云原生存储技术
- 云原生网络技术
云原生工具集
- 流程自动化与配置管理
- 容器镜像仓库 Registry
- 云原生安全技术
- 密码管理
Serverless
- FaaS
- BaaS
- Serverless 计费
云原生思想的两个理论基础
不可变基础设施
目前实现:容器镜像
云应用编排理论
目前实现:容器设计模式
基础设施向云演进的过程
传统的应用设施基础
发布或更新应用:ssh 连接服务器,手动升级/降级软件包,逐个服务器调整配置文件,更新代码。
应用看到的基础设施本身不断地被调整。
对“云”友好的应用基础设施
不可变。
部署完成后基础设施不会被修改。如果要更新应用,替换容器。
基础设施向云演进的意义
基础设施的一致性和可靠性
容器镜像 自包含运行环境 可漂移
简单可预测的部署与运维
自描述,自运维 流程自动化 容易水平扩展 可快速复制的管控系统与支撑组件(也是容器化的)
云原生关键技术点
- 如何构建自包含、可定制的应用镜像
- 实现应用快速部署与隔离
- 应用基础设施创建和销毁的自动化管理
- 能不能提供一套可复制的管控系统与支撑组件