一文带你理解云原生


作者:William 孟祥龙 , 腾讯 CDG 系统架构师 , 从事云原生技术赋能金融科技 。
本文是一篇云原生的关键知识科普 , 希望给大家提供一扇云原生的“窗户” , 传达三个目标:1、透过窗户看到一棵大树代表:云原生的蓝图全貌;2、树上会有很多核心树干代表:云原生的关键技术;3、希望树干上能摘到果实代表:云原生对我的启发 。
开始阅读文章前 , 请角色切换:设想你作为一位中小型 IT 公司 CTO , 面对云原生技术决策 , 你需要回答两个问题:
1、为什么需要上云?
一文带你理解云原生
本文插图
2、上云有何弊端?
作为一家公司的技术决策者 , 必须理解上云的利与弊 , 并结合公司各阶段发展目标给出最适合的技术方案 。
1 云原生-概述
1.1 云原生-定义
云原生的定义 , 业界也是“百家争鸣”各持观点 , 从技术视角理解云原生会相对清晰 。 云原生的关键技术包括:
一文带你理解云原生
本文插图
?微服务架构:服务与服务之间通过高内聚低耦合的方式交互;
?容器:作为微服务的最佳载体 , 提供了一个自包含的打包方式;
?容器编排:解决了微服务在生产环境的部署问题;
?服务网络:作为基础设施 , 解决了服务之间的通信;
?不可变基础:设施提升发布效率 , 方便快速扩展;
?声明式 API:让系统更加健壮;
命令式 API:可以直接发出让服务器执行的命令 , 例如:“运行容器”、”停止容器”等;
声明式 API:可以声明期望的状态 , 系统将不断地调整实际状态 , 直到与期望状态保持一致 。
?DevOps:缩短研发周期 , 增加部署频率 , 更安全地方便:
Culture :达成共识
Automation:基础设施自动化
Measurement:可度量
Sharing:你中有我 , 我中有你
【私人观点】
云原生的定义:应用因云而生 , 即云原生 。
应用原生被设计为在云上以最佳方式运行 , 充分发挥云的优势 , 是上云的最短路径 。
1.2 云原生-技术生态
一文带你理解云原生
本文插图
一文带你理解云原生
本文插图
1.3 云原生-关键技术
云原生关键技术包括:微服务 , 容器 , 容器编排 , 服务网络 , 不可变基础 , 声明式 API 。
1.3.1 微服务
一文带你理解云原生
本文插图
微服务是一种用于构建应用的架构方案 。