0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈云原生的四个基本要素

lhl545545 来源:比特网 作者:潇冷 2021-01-12 15:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

通过华为的这段描述,可以看出云原生的四个要素:容器化、微服务、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、服务架构

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据中心
    +关注

    关注

    18

    文章

    5845

    浏览量

    75251
  • 3D打印
    +关注

    关注

    28

    文章

    3658

    浏览量

    119000
  • 云原生
    +关注

    关注

    0

    文章

    266

    浏览量

    8653
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瀚高数据库深度参编国家标准《信息技术 云原生关系数据库管理系统技术要求》正式发布

    济南2026年4月15日 /美通社/ -- 近日,国家市场监督管理总局、国家标准化管理委员会正式发布国家标准 GB/T 47343-2026《信息技术 云原生关系数据库管理系统技术要求》。作为我国
    的头像 发表于 04-15 16:41 415次阅读

    USB RFID读写器的四个常见应用

    任何需要小型、低成本读卡器的应用,都值得考虑USB RFID读写器。USB读写器具备大部分大型同类的基本功能,只是功率稍低一些。如果你有一款非常适合RFID的应用,但又想控制预算,可以看看斯科的USB桌面读写器。为了让你了解USB读写器的功能,我在下面列出了四个常见应用。
    的头像 发表于 04-13 14:51 733次阅读

    云原生全球广域网架构深度科普:从单点集中到全域互联

    用与资源分散部署在不同地域的虚拟私有云、线下数据中心等多个节点时,如何将这些分散的资源整合成一逻辑统一的整体,成为企业数字化进程中的核心命题。而云原生网络架构,正
    的头像 发表于 03-10 13:40 590次阅读
    <b class='flag-5'>云原生</b>全球广域网架构深度科普:从单点集中到全域互联

    PCBA生产过程的四个主要环节?

    PCBA生产过程的四个主要环节 PCBA(Printed Circuit Board Assembly)生产过程是将电子元器件组装到印刷电路板(PCB)上,形成完整电子产品的过程。虽然直接参考资料
    的头像 发表于 03-05 11:13 517次阅读

    固态断路器采用SiC JFET的四个理由

    性能。我们已介绍过浪涌电流、应对不断攀升的电力需求、为什么要使用固态断路器。本文为系列教程的第二部分,将介绍SSCB 采用 SiC JFET 的四个理由。
    的头像 发表于 01-16 15:45 1.6w次阅读
    固态断路器采用SiC JFET的<b class='flag-5'>四个</b>理由

    请问单片机常见的硬件抗干扰技术有哪些?

    形成干扰的基本要素有哪些? 单片机常见的硬件抗干扰技术有哪些?
    发表于 01-07 07:15

    合科泰MOSFET选型的四个核心步骤

    面对数据手册中繁杂的参数,如何快速锁定适合应用的 MOSFET?遵循以下四个核心步骤,您能系统化地完成选型,避免因关键参数遗漏导致的设计风险。
    的头像 发表于 12-19 10:33 1004次阅读

    正弦脉宽调制(SPWM)波的基本要素

    。始于1975年推广应用正弦脉宽调制(Sinusoidal PWM 简称SPWM)以来,经多年研究发展的历程,正弦逆变技术也渐趋成熟而服务于广泛的交流应用场合,涉及民用、商用、军用及科研大板块,人们也
    发表于 07-23 13:25

    大核心要素驱动汽车智能化创新与相关芯片竞争格局

    当下,功能安全、高效高灵活性的算力、产品生命周期,以及软件生态兼容性这“大核心要素”,已成为衡量智能汽车AI芯片创新力和市场竞争力的核心标准。
    的头像 发表于 07-01 14:49 875次阅读

    安卓原生兼容服务器

    安卓原生兼容服务器的定义 安卓原生兼容服务器‌指基于Android系统内核和服务框架构建的服务器环境,能够在不依赖第三方适配层的情况下,直接运行符合Android API规范的服务程序,并满足与其
    的头像 发表于 06-19 17:32 725次阅读

    Analog Devices / Maxim Integrated MAX22193通道工业数字输入数据手册

    Analog Devices MAX22193通道工业数字输入 将四个24V工业数字输入转换为四个CMOS逻辑兼容的并行输出。所有四个通道的输入至输出传播延迟小于300ns。与传统的
    的头像 发表于 06-18 15:36 1055次阅读
    Analog Devices / Maxim Integrated MAX22193<b class='flag-5'>四</b>通道工业数字输入数据手册

    云原生环境里Nginx的故障排查思路

    本文聚焦于云原生环境下Nginx的故障排查思路。随着云原生技术的广泛应用,Nginx作为常用的高性能Web服务器和反向代理服务器,在容器化和编排的环境中面临着新的故障场景和挑战。
    的头像 发表于 06-17 13:53 1257次阅读
    <b class='flag-5'>云原生</b>环境里Nginx的故障排查思路

    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/ GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口 skyworksinc

    电子发烧友网为你提供()用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx 频前端模块,带四个线性 TRx 开关端口相关产品参数、数据手册,更有
    发表于 05-28 18:33
    用于 GSM/GPRS (824-915 MHz) (1710-1910 MHz) 的 Tx-Rx <b class='flag-5'>四</b>频前端模块,带<b class='flag-5'>四个</b>线性 TRx 开关端口 skyworksinc

    用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA skyworksinc

    电子发烧友网为你提供()用于频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有四个线性 TRx 开关端口和双频 TD-SCDMA相关产品参数、数据手册,更有用于频 GSM
    发表于 05-28 18:31
    用于<b class='flag-5'>四</b>频 GSM / GPRS / EDGE 的 Tx-Rx FEM,具有<b class='flag-5'>四个</b>线性 TRx 开关端口和双频 TD-SCDMA skyworksinc