读完本文需要 5 分钟。

前言

博主20年4月转岗到阿里云,从事工业智能制造方向的后端研发,由于工作中需要解决不同客户现场的异构环境和多云环境(公有云、私有云、混合云)下的部署问题,所以一直在探索和实践云原生相关技术。

云原生一词近几年热度非常高,经常会有读者问我:云原生到底是什么?它跟传统的架构有什么区别?它能在哪些场景应用?它能带来什么价值?我该不该投入精力去学习它?等等…

趁着国庆假期跟大家好好聊聊这个话题,首先分享一篇科普文《云原生的前世今生(一)》,后续还会继续分享自己对云原生的理解,以及在日常工作中关于云原生的实践经验,希望能给大家带来启发~

云原生的起源 Pivotal

Pivotal 公司是敏捷开发领域的领导者(曾经 Google 也是其客户),出生名门(EMC、VMware等投资)。它推出了 Pivotal Cloud Foundry(2011 ~ 2013 PAAS 界网红)和 Spring 生态系列框架,是云原生的先驱者和探路者。

2013年,Pivotal 公司的技术经理 Matt Stine 首次提出云原生(Cloud Native)的概念。

2015年,Matt Stine 在《Migrating to Cloud Native Application Architectures - 迁移到云原生应用架构》小册子中定义了符合云原生架构的几个特征:

  • 符合12模式(Twelve-Factor App):云原生应用架构的模式集合
  • 微服务架构(Microservices):独立部署的服务,一次只做一件事
  • 自助服务敏捷基础设施(Self-Service Agile Infrastructure):用于快速、可重复和一致地提供应用环境和服务的平台
  • 面向API接口的通信(API-based Collaboration):服务之间的交互基于接口,而不是本地方法调用
  • 抗脆弱性(Anti-Fragility):系统能抵御高负载

原文出自:https://www.mattstine.com/publication/migrating-to-cloud-native/

2017年,Matt Stine 在接受 InfoQ 采访时,对云 Cloud Native Architecture 的定义做了小幅调整,具体有以下六个特质:

  • 模块化(Modularity)
  • 可观测性(Observability)
  • 可部署性(Deployability)
  • 可测试性(Testability)
  • 可处理性(Disposability)
  • 可替代性(Replaceability)

原文出自:https://www.infoq.com/articles/cloud-native-panel/

2019年,VMware Tanzu 收购了 Pivotal,其官网给出了云原生最新定义,以及云原生的架构原则:

  • 云原生是一种利用云计算交付模型的优势来构建和运行应用程序的方法论。当企业使用云原生架构开发和运维应用程序时,它们能更快速地响应客户需求将新想法推向市场。
  • 虽然公共云影响了几乎所有行业对于基础设施的思维模式,但类似云的交付并不仅限于公共环境。云原生的开发同时适合公共云和私有云,你只需要关心应用程序是如何创建和部署,无需理会在哪部署。
  • 更重要的是能够为开发人员提供按需访问计算能力以及现代数据和应用程序服务。云原生开发融合了 DevOps、连续交付、微服务和容器。
  • 云原生架构原则:DevOps、Microservices、Containers、Security

原文出自:https://tanzu.vmware.com/cloud-native

云原生的发展 CNCF

CNCF(Cloud Native Computing Foundation,云原生计算基金会),是由开源基础设施界的翘楚 Google、RedHat 等公司共同牵头发起的一个基金会组织,其目的非常明确,就是为了对抗当时大红大紫的 Docker 公司在容器圈一家独大的局面。CNCF 通过 Kubernetes 项目在开源社区编排领域一骑绝尘,之后就扛起了云原生定义和推广的大旗,风光无限。

2015年,Google 主旨在于打击 Docker,因此它对云原生的定义还比较狭隘,包括如下三个方面:

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

2018年,被称为云原生元年,大量科技公司开始接受云原生的概念,并纷纷加入到云原生的大家庭。此外,主流云计算供应商相继加入 CNCF,持续丰富整个云原生的生态。CNCF 对云原生重新进行了定义(并大大扩展了云原生的外延):

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

原文出自:https://github.com/cncf/toc/blob/main/DEFINITION.md

2021年,已经有几百家企业和机构加入 CNCF 参与云原生的建设,其中不乏亚马逊、微软、思科、华为、阿里云等大型科技公司。截止到目前(2021年10月),CNCF 已毕业的项目有16个,孵化中的项目有23个。以下是 CNCF 全景图:

原图出自:https://landscape.cncf.io,持续更新中…

CNCF 为了帮助企业和机构在复杂的基础架构之上更好落地云原生应用,从整体上给出了十个具体实施步骤,在不同的步骤都可以结合 Landscape 中列出的产品或服务进行选择。以下是 CNCF 给出的云原生实践路线图:

原图出自:https://github.com/cncf/landscape,持续更新中,中文翻译如下:

有了如此详尽的云原生实践路线图,相信每个开发者都能轻松的构建自己的云原生应用。

小结

随着云原生生态和边界不断的扩大,云原生的定义一直在变化。不同的公司(Pivotal & CNCF)不同的人对它有不同的定义,同一家公司在不同的时间阶段对云原生的定义也不一样。根据摩尔定律推断,未来云原生的定义肯定还会继续变化。

我们不妨跳出技术层面,尝试用组织和立场的角度来分析下 Pivotal 和 CNCF 这两家公司:

  • Pivotal 定位于 PaaS 层端到端的解决方案及数字化转型,从文化、流程、方法论、蓝图规划、软件开发方式等,都有一套模式,主要用户是传统大中型企业 CIO,整体策略是自顶向下;
  • CNCF 立足于整个云计算生态和技术创新、变革者,偏重于技术、工具链和底层基础设施,主要用户是开源社区的开发者、互联网及新兴企业,影响力可想而知,整体策略是自底向上;
  • 结论:Pivotal 是 Cloud Native 概念和方法论的先行者, CNCF 是 Cloud Native 的最佳实践者。

不管云原生的定义如何变化,其本质还是帮助开发者和企业,如何在复杂的基础架构之上,保证松耦合的系统能够更好地被监控和管理。云原生的生态应用也越来越枝繁叶茂,相信在不久的将来,会有更多伟大的科技落地在我们的身边,影响到我们的每一个人。

参考

  • 《云原生已来,只是分布不均》https://zhuanlan.zhihu.com/p/152430776
  • 《CNCF – 云原生计算基金会简介》https://www.wenjiangs.com/doc/nicwvs6u
  • 《开源简史基础:CNCF与路线图Trail Map》https://blog.csdn.net/liumiaocn/article/details/100653635

云原生的前世今生(一)相关推荐

  1. 微软全球 AKS 女掌门人,这样击破云原生“怪圈”!

    近年来,"云原生"成为IT界的热词,可什么是"云原生"?不少开发者表示"云里雾里",更别提如何借助云原生更好地释放云价值. 从云原生(Clo ...

  2. 再见了 Docker!Go 落地的 K8S 云原生架构已成气候!

    身为让容器应用实现大规模工业生产的一大功臣,过去几年,Kubernetes  势头迅猛,BAT.京东.美团.字节都走上了全域容器化部署以及云原生架构的康庄大道. 美团技术团队云原生演进之路 如果你认为 ...

  3. 2021 云原生开门红,金山云发布全新云原生全景图

    据云原生计算基金会(CNCF)数据显示,当前企业已经在广泛使用云原生技术,容器应用已成常态, 2019 年 84% 的公司在生产中使用容器,而 2016 年仅为 3%.据阿里达摩院最新2021年科技趋 ...

  4. 云原生是什么意思?我们为什么需要云原生?

    在著名的<集装箱改变世界>当中,我们能看到集装箱的发明对于二十世纪全球化的巨大推动作用.集装箱,这一看起来并无多少技术含量的发明,却因为进行标准化和系统化运输的创新彻底改变了全球的货物贸易 ...

  5. 云原生,炸裂!(文末有福利)

    导读:云原生为用户指定了一条低心智负担的.敏捷的.能够以可扩展.可复制的方式最大化地利用云的能力.发挥云的价值的最佳路径. 实际上,云原生是一条最佳路径或者最佳实践.更详细的说,云原生为用户指定了一条 ...

  6. 再见了微服务!K8S 云原生架构已成气候!

    身为让容器应用实现大规模工业生产的一大功臣,过去几年,Kubernetes  势头迅猛,BAT.京东.美团.字节都走上了全域容器化部署以及云原生架构的康庄大道. 美团技术团队云原生演进之路 如果你认为 ...

  7. 爆肝怒赞!K8s+Istio+Serverless全套云原生实践已撸完!

    身为让容器应用实现大规模工业生产的一大功臣,过去几年,Kubernetes  势头迅猛,BAT.京东.美团.字节都走上了全域容器化部署以及云原生架构的康庄大道. 美团技术团队云原生演进之路 如果你认为 ...

  8. 华为Cloud Native Lives课程第一课-云原生技术的前世今生

    经过十多年的发展,云计算技术已由Cloud Migration阶段发展到了Cloud Native阶段,即云原生. 云原生阶段的代表技术有容器.服务网络.微服务.不可变基础设施和声明式API. CNC ...

  9. 《新程序员003》正式上市!华为、阿里等 30+ 公司的云原生及数字化实战经验...

    作者 | 唐小引 出品 | <新程序员>编辑部 <新程序员 003:云原生和全面数字化实践>图书今日正式上市,纸书和电子书同步上架 CSDN 商城.New 程序员小程序.京东. ...

最新文章

  1. [Android] 环境配置之Android Studio开发NDK
  2. 进制转换Visual Basic—进制转换规则
  3. 【Oracle】查看死锁与解除死锁
  4. CodeForces - 236D Let‘s Play Osu!(概率dp)
  5. Centos开机自己主动挂载windows中的ntfs磁盘
  6. 自定义 Git - Git 钩子
  7. 如何吧本地仓库提交到github_如何将本地代码提交到github远程仓库(第一次,建立连接并且提交)...
  8. 面试题--------8、mysql的几种锁
  9. 大数据基础概念思维导图
  10. 5个步骤搞定protoc环境安装
  11. Informatic学习总结_day03
  12. 惠普打印机墨盒更换教程_hp打印机墨盒怎么安装 hp打印机墨盒安装方法【详解】...
  13. 夜神模拟器如何设置自动代理
  14. CRM客户关系管理分析模型——RFM模型
  15. 将视频的以flv格式转换mp4格式
  16. android设置wifi蓝牙共享文件,无需互联网或蓝牙即可通过WiFi通过android共享文件...
  17. 面试经典必问:ReentrantLock 中CLH队列
  18. Linux 工具 | 第1篇:高级流控-TC+HTB+IFB+内核模块
  19. 本文为Mybatis面经,其中难点问题做了详细解释
  20. 如何安装鸿蒙应用,华为鸿蒙OS系统手机怎么安装第三方的应用程序?

热门文章

  1. android 新增分区
  2. 每日一书丨机器人数量增长不会减少人类就业机会,反会促增岗位数量?
  3. 盘点2022年有影响力的五种顶级NFT头像
  4. 计算机组成原理COP2000课设 原码一位乘
  5. MooseFS 分布式文件介绍+部署 MFS
  6. mysql按关键字截取字符串
  7. CentOS如何增加虚拟内存
  8. 微店调整交易手续费 借记卡和信用卡支付都将收取0.6%费用
  9. CentOS7搭建httpd服务
  10. python哪个方向最容易上手的英雄_王者荣耀操作最简单十大英雄有谁?用好了快乐上分不用愁...