一、云原生的产生:
云原生首次是被Pivotal公司提出,后面才被开发。所以Pivotal公司算是云原生的先驱者。Pivotal公司和云原生计算基金会认为云原生就是CNCF。
二、云原生的定义:
2017年10月,Pivotal公司的成员将云原生架构定义为六个特质:模块化、可观测性、可部署性、可测试性、可处理性及可替换性。Pivotal官网将其概括为:DevOps、持续交付、微服务以及容器化。
三、云原生相关技术
依据CNCF发布的云原生1.0版本的定义,云原生技术主要包括容器、微服务、服务网格、不可变基础设施以及声明式API。
四、云原生的意义
传统的软件开发在用云计算平台时和物理机器的区分性不大,云平台功能得不到广泛发挥,云原生就肯很大程度的去利用好云相关资源优势。
云原生的可用性和伸缩性可以让企业的应用得到按需分配和弹性伸缩。云原生还具有自动化部署和管理能力,可以实现随地随时运行,也可以持续集成交付研发测试和发布等,大大提高了开发工作的效率。云原生的存在是让传统的应用在云平台上的运行得到极大的优化。
云原生不仅让开发和运维工作大大提高效率外还可以让分布式系统具备将节点进行水平扩展的能力。让应用本身更具“柔性”。
五、云原生当前生态
云原生领域最具权威的组织CNCF的年度报告中都说明了CNCFLandscape项目,它开始于2016年11月,目的是为云原生应用者设置一个资源地图,让大家快速了解完整的云原生体系。CNCFLandscape项目在Github上已经获得至少7000颗星,极大的说明了广大开发者和使用者对它的关注和重视。
六、云原生实施路径
关于如何实现云原生应用,CNCF给出了比较详细的利用开源软件和云原生技术的参考路线图,
整个路线图分成了十个步骤,每个步骤都是用户或平台开发者将云原生技术在实际环境中落地时,需要循序渐进思考和处理的问题:
容器化
CI/CD(持续集成和持续发布)
应用编排
监控和分析
服务代理、发现和治理
网络
分布式数据库和存储
流和消息处理
容器镜像库和运行环境
软件发布