零声golang/云原生/Docker/DevOps/K8S/持续集成/分布式/etcd/ipfs

云原生的前世今生(一)

前言


博主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):系统能抵御高负载



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


模块化(Modularity)


可观测性(Observability)


可部署性(Deployability)


可测试性(Testability)


可处理性(Disposability)


可替代性(Replaceability)



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


云原生是一种利用云计算交付模型的优势来构建和运行应用程序的方法论。当企业使用云原生架构开发和运维应用程序时,它们能更快速地响应客户需求将新想法推向市场。


虽然公共云影响了几乎所有行业对于基础设施的思维模式,但类似云的交付并不仅限于公共环境。云原生的开发同时适合公共云和私有云,你只需要关心应用程序是如何创建和部署,无需理会在哪部署。


更重要的是能够为开发人员提供按需访问计算能力以及现代数据和应用程序服务。云原生开发融合了 DevOps、连续交付、微服务和容器。


云原生架构原则:DevOps、Microservices、Containers、Security



返回顶部


云原生的发展 CNCF

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


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


微服务架构


应用容器化


支持容器编排和容器调度


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


云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。


这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。


云原生计算基金会(CNCF)致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。


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