别再云里雾里,或许我们可以这样理解云原生

别再云里雾里,或许我们可以这样理解云原生

作者:潇冷 2021-01-12 14:21:09

云计算

云原生   这两年,云原生的火热程度一点都不亚于2014年的3D打印、2018年的区块链,有种“忽如一夜春风来,千树万树梨花开”的既视感。为此,笔者想借着这股“东风”,来谈一谈云原生。由于云原生概念并没有明确,笔者理解可能有失偏颇,行文中若有偏差,敬请各位斧正。

 这两年,云原生的火热程度一点都不亚于2014年的3D打印、2018年的区块链,有种“忽如一夜春风来,千树万树梨花开”的既视感。为此,笔者想借着这股“东风”,来谈一谈云原生。由于云原生概念并没有明确,笔者理解可能有失偏颇,行文中若有偏差,敬请各位斧正。

其实,云原生的英文全称为“CloudNative”,可以将这个单词拆分为Cloud、Native两个单词:Cloud意即云,表示应用程序在云上,不是在传统的数据中心、服务器;Native意即原生的、土著的、当地的、土生土长,表示应用程序专门为云环境设计。可以想象,“云原生”的汉语名称并没有采用云土著、云当地、云土生土长,而采用了一个非常优美的名字——云原生。

因此,云原生一种构建和运行应用程序的技术体系和方法论,这套技术体系从设计之初即考虑到云的环境,充分利用和发挥云平台的弹性和分布式优势。华为曾对符合云原生架构的应用程序如是描述:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。  

[[375364]]

 

通过华为的这段描述,可以看出云原生的四个要素:容器化、微服务、DevOps、持续交付,这是现在公认的,也是Pivotal概括的4个主要要素,对此,不同的云计算厂商在原有的4要素之上有所延伸,有着自己的见解。

2013年,Pivotal公司的Matt Stine首次提出云原生(CloudNative)概念。

2015年,《迁移到云原生架构》定义了云原生架构的特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性。

同年,云原生计算基金会(CNCF)成立,并将云计算定义为容器化封装+自动化管理+面向微服务。

2017年,Matt Stine将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质。

彼时,Pivotal将云原生概括为DevOps+持续交付+微服务+容器。

2018年,CNCF更新了云原生的定义,将服务网格(Service Mesh)和声明式API加进来。

从云原生诞生到发展的脉络来看,云原生的定义不断完善,并存在概念混乱、不统一的现状,不过目前,大多数云计算企业习惯使用DevOps+持续交付+微服务+容器来定义云原生。下面,我们来简单理解一下云原生的4个主要要素。

1、微服务

微服务是一个独立发布的应用服务,可以作为独立组件升级、灰度或复用等,每个服务可以由专门的组织来单独完成,依赖方只要定好输入和输出口即可完全开发,甚至整个团队的组织架构更精简,沟通成本低、效率高。

2、devOps

DevOps字面上是组合词——Dev、Ops,即开发人员、运维人员。实际上,DevOps是一组过程、方法与系统的统称,DevOps强调高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的声明周期管理,从而更快、更频繁地交付更稳定的软件。 

 

 

3、持续交付

敏捷开发要求持续交付,因为敏捷开发要求随时有一个版本可以上到大群环境,所以要持续交付。持续交付目的的快速应对客户的需求变化,要求发布非常频繁,所以会存在多个版本同时提供服务的情况,因此需要支持灰度发布/金丝雀发布等。

4、容器化

Docker是软件行业最受欢迎的软件容器项目,Docker起到应用隔离作用,为微服务及其所需的所有配置、依赖关系和环境变量移动到全新、无差别的运行环境,移植性强。但是docker对于分布式应用的部署和编排没有考虑,在网络和存储方式都没有提出比较好的方式,包括docker-compose。

此外,与原生与本地部署有着什么样的区别?

1、编程语言

据悉,本地部署的传统应用采用C/C++、企业级java编写;云原生应用需要用以网络为中心的go、node.js等新兴语言编写。

2、持续交付

本地部署的传统应用需要停机更新;云原生应用应该始终是最新的,需要支持频繁变更,持续交付,蓝绿部署。

3、动弹扩展

本地部署的传统应用无法动态扩展,往往需要冗余资源以抵抗流量高峰,而云原生应用利用云的弹性自动伸缩,通过共享降本增效。

4、网络限制

本地部署的传统应用对网络资源,比如ip、端口等有依赖,甚至是硬编码,而云原生应用对网络和存储都没有这种限制。

5、自动化

本地部署的传统应用通常人肉部署手工运维,而云原生应用这一切都是自动化的。

6、移植性

本地部署的传统应用通常依赖系统环境,而云原生应用不会硬连接到任何系统环境,而是依赖抽象的基础架构,从而获得良好移植性。

7、服务架构

本地部署的传统应用有些是单体(巨石)应用,或者强依赖,而基于微服务架构的云原生应用,纵向划分服务,模块化更合理。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/229390.html<

(0)
管理的头像管理
上一篇2025-04-18 18:08
下一篇 2025-04-18 18:09

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注