云原生必备知识: 云原生

所属技术领域:

云原生

|名词定义|

Pivotal是云原生应用的提出者,并推出了 Pivotal Cloud Foundry 云原生应用平台和 Spring 开源 Java 开发框架,成为云原生应用架构中先驱者和探路者。
云原生的概念历经了许多个版本的迭代,到了2015年Google主导成立了云原生计算基金会(CNCF),对云原生的定义为:
云原生(Cloud Native)技技术帮助企业和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、 服务网格、微服务、不可变基础设施和声明式 API。

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

|发展历程|

• 2004 年— 2007 年,Google 已在内部大规模地使用像 Cgroups 这样的容器技术;
• 2008 年,Google 将 Cgroups 合并进入了 Linux 内核主干;
• 2013 年,Docker 项目正式发布。
• 2014 年,Kubernetes 项目也正式发布。这样的原因也非常容易理解,因为有了容器和 Docker 之后,就需要有一种方式去帮助大家方便、快速、优雅地管理这些容器,这就是 Kubernetes 项目的初衷。在 Google 和 Redhat 发布了 Kubernetes 之后,这个项目的发展速度非常之快。
• 2015 年,由Google、Redhat 以及微软等大型云计算厂商以及一些开源公司共同牵头成立了 CNCF 云原生基金会。CNCF 成立之初,就有 22 个创始会员,而且 Kubernetes 也成为了 CNCF 托管的第一个开源项目。在这之后,CNCF 的发展速度非常迅猛;
• 2017 年,CNCF 达到 170 个成员和 14 个基金项目;
• 2018 年,CNCF 成立三周年有了 195 个成员,19 个基金会项目和 11 个孵化项目,如此之快的发展速度在整个云计算领域都是非常罕见的。
云原生必备知识: 云原生

|技术特点|

云并非把原先在物理服务器上跑的东西放到虚拟机里跑,真正的云化不仅是基础设施和平台的事情,应用也要做出改变,改变传统的做法,实现云化的应用——应用的架构、应用的开发方式、应用部署和维护技术都要做出改变,真正的发挥云的弹性、动态调度、自动伸缩……一些传统IT所不具备的能力。这里说的“云化的应用”也就是“云原生应用”。云原生架构和云原生应用所涉及的技术很多,如容器技术、微服务等,
而云原生应用最大的特点就是可以迅速部署新业务。在企业里,提供新的应用程序环境及部署软件新版本通常所需时间以日、周甚至以月计算。这种速度严重限制了软件发布所能承受的风险,因为犯错及改错也需要花费同样的时间成本,竞争优势就会由此产生。
所以云原生不是一个产品,而是一套技术体系和一套方法论,而数字化转型是思想先行,从内到外的整体变革。云原生包括DevOps、持续交付、微服务、敏捷基础设施、康威定律等,以及根据商业能力对公司进行重组的能力,既包含技术、也包含管理,可以说是一系列云技术和企业管理方法的集合,通过实践及与其他工具相结合更好地帮助用户实现数字化转型。
CNCF(云原生计算基金会)认为云原生系统需包含的属性:
1、容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。
2、自动化管理:统一调度和管理中心,从根本上提高系统和资源利用率,同时降低运维成本。
3、面向微服务:通过松耦合方式,提升应用程序的整体敏捷性和可维护性。
近义词(辨析):
在云原生应用的体系里,有下面两组近义词;
第一组是:
无状态(stateless)、牲畜(cattle)、无名(nameless)、可丢弃(disposable);
第二组是:
有状态(stateful)、宠物(pet)、有名(having name)、不可丢弃(non-disposable)。

资料来源:

  1. 名词定义:作者:阿里云官网
    链接:https://www.zhihu.com/question/63927805/answer/781483561

来源:知乎

  1. 发展历程:https://developer.aliyun.com/lesson_1651_13076
  2. 技术特点:https://zhidao.baidu.com/question/2144469955490213548.html
  3. 近义词:CSDN社区
上一篇:SVN-目录级代码版本管理


下一篇:linux高性能服务器读书笔记之高级I/O函数