什么是云原生

云原生(Cloud Native)的概念由Pivotal的Matt Stine于2013年首次提出。它是Matt Stine根据多年的架构和咨询经验总结出来的一个思想集合,并得到社区的不断完善和补充,包括DevOps、持续交付、微服务、敏捷基础设施和12要素等几大主题。包括根据业务能力对公司进行文化、组织架构的重组与建设、方法论与原则、还有具体的操作工具。将云计算从传统的以资源为中心,改变为以应用为中心,聚焦于业务,从而满足应用快速迭代的要求。

CNCF(Cloud Native Computing Foundation)云原生计算基金会
2015年把云原生定义为三个方面

  • 应用容器化
  • 面向微服务架构
  • 应用支持容器的编排调度

随着CNCF中的项目越来越多,原先的定义已经限制了云原生生态的发展,于是更新了定义

  • 云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
  • 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。
  • 云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。

#云原生的起因

云原生的意义

让产品能够支持快速验证业务模式
简化复杂的开发流程、提升研发效率
保障产品的高可用性
实现大规模弹性伸缩,轻松应对业务爆发

架构技术的升级

  • 可用性
  • 可扩展性,弹性
  • 可管理性
    开发模式的升级
  • DevOps模式
    架构设计的升级
  • 更快的迭代速度
  • 持续可用的服务
  • 弹性伸缩
  • 非功能要求

如何实施云原生

  1. 基础设施建设(云容器平台)
  2. 约束技术栈,微服务化建设
  3. 标准化技术栈构建及构建流程标准化
  4. 应用架构必须遵循规范要求

云原生的未来