乐趣区

关于云原生:云原生的前世今生一

读完本文须要 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
退出移动版