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

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

    关注

    16

    文章

    4613

    浏览量

    71866
  • 3D打印
    +关注

    关注

    26

    文章

    3532

    浏览量

    108701
  • 云原生
    +关注

    关注

    0

    文章

    240

    浏览量

    7927
收藏 人收藏

    评论

    相关推荐

    机械振动的三基本要素

    机械振动是物体或质点在其平衡位置附近进行的往复运动。在物理学中,机械振动是一种非常普遍的现象,它涉及到许多不同的物理过程和应用。机械振动的三基本要素是:振幅、周期和频率。 1. 振幅
    的头像 发表于 09-26 14:55 388次阅读

    云原生和非云原生哪个好?六大区别详细对比

    云原生和非云原生各有优劣,具体选择取决于应用场景。云原生利用云计算的优势,通过微服务、容器化和自动化运维等技术,提高了应用的可扩展性、更新速度和成本效益。非云原生则可能更适合对延迟敏感
    的头像 发表于 09-13 09:53 273次阅读

    京东云原生安全产品重磅发布

    “安全产品那么多,我怎么知道防住了?”“大家都说自己是云原生的,我看都是换汤不换药”在与客户沟通云原生安全方案的时候,经常会遇到这样的吐槽。越来越的客户已经开始了云原生化的技术架构改造,也意识到
    的头像 发表于 07-26 10:36 390次阅读
    京东<b class='flag-5'>云原生</b>安全产品重磅发布

    从积木式到装配式云原生安全

    云原生安全风险 随着云原生架构的快速发展,核心能力逐渐稳定,安全问题日趋紧急。在云原生安全领域不但有新技术带来的新风险,传统IT基础设施下的安全威胁也依然存在。要想做好云原生安全,就要
    的头像 发表于 07-26 10:35 241次阅读
    从积木式到装配式<b class='flag-5'>云原生</b>安全

    基于DPU与SmartNic的云原生SDN解决方案

    轻量级,可移植的运行环境,逐渐成为云原生时代基础设施的事实标准。Kubernetes通过网络插件(CNI,Container Network Interface)实现灵活地配置和管理集群中的容器网络,确保容器之间的有效通信和网络安全。
    的头像 发表于 07-22 11:44 596次阅读
    基于DPU与SmartNic的<b class='flag-5'>云原生</b>SDN解决方案

    云原生是大模型“降本增效”的解药吗?

    云原生AI正当时
    的头像 发表于 02-20 09:31 336次阅读

    米哈游大数据云原生实践

    近年来,容器、微服务、Kubernetes 等各项云原生技术的日渐成熟,越来越多的公司开始选择拥抱云原生,并开始将 AI、大数据等类型的企业应用部署运行在云原生之上。以 Spark 为例,在云上运行
    的头像 发表于 01-09 10:41 536次阅读
    米哈游大数据<b class='flag-5'>云原生</b>实践

    机器视觉中光源选型基本要素

    光源选型基本要素:对比度:对比度对机器视觉来说非常重要。机器视觉应用的照明的最重要的任务就是使需要被观察的特征与需要被忽略的图像特征之间产生最大的对比度,从而易于特征的区分。对比度定义为在特征与其周围的区域之间有足够的灰度量区别。好的照明应该能够保证需要检测的特征突出于其他背景。
    的头像 发表于 01-08 10:02 543次阅读

    云原生技术前沿落地实践分论坛圆满举办

    12 月 16 日,2023 开放原子开发者大会【云原生技术前沿落地实践】分论坛在无锡成功举办。论坛将聚焦云原生的泛在化、Serverless 化以及智能化等前沿发展趋势,与一线技术专家及最终用户
    的头像 发表于 12-22 09:20 979次阅读
    <b class='flag-5'>云原生</b>技术前沿落地实践分论坛圆满举办

    云原生数据库GaiaDB架构设计解析

    目前,云原生数据库已经被各行各业大规模投入到实际生产中,最终的目标都是「单机 + 分布式一体化」。但在演进路线上,当前主要有两略有不同的路径。
    的头像 发表于 12-14 14:48 520次阅读
    <b class='flag-5'>云原生</b>数据库GaiaDB架构设计解析

    诚邀报名|在开发者大会,洞悉云原生技术落地最佳实践

    2023开放原子开发者大会 . OPENATOM DEVELOPERS CONFERENCE 云原生技术前沿落地实践分论坛 2023.12.16 随着云原生技术的蓬勃发展,云原生已成为企业数字化转型
    的头像 发表于 12-09 18:45 587次阅读

    Show代码硬实力!快来突破云原生的技术挑战

    的原则共同举办。  “ 算力网环境下基于全局元数据的云原生应用架构原型设计挑战赛 ”“ 云 原生平台自动化部署和自动化扩容挑战赛 ”作为本次大赛中两聚焦云原生技术领域的赛项,共设奖金
    的头像 发表于 12-07 10:25 317次阅读
    Show代码硬实力!快来突破<b class='flag-5'>云原生</b>的技术挑战

    ABI发布电信云原生平台及运维白皮书

    通过研究云原生平台的发展和演变,对云原生平台在标准和容器化的演进方向进行了展望,并建议运营商跟上行业变化,拥抱新技术,无缝过渡到云原生网络架构。 云化一直是电信行业数字化转型的驱动力,也是电信运营商向数字服务提供商转型的关键
    的头像 发表于 11-17 19:40 521次阅读
    ABI发布电信<b class='flag-5'>云原生</b>平台及运维白皮书

    华为马亮:迈向电信云原生3.0,兑现云化价值

    特征,并呼吁产业界共同携手,迈向电信云原生3.0,兑现云化价值。 马亮发表主题演讲 云原生理念源于IT实践,但产业界针对云 原生在不同场景下的理解并不统一。 基于通用的弹性、敏捷、高可靠和自动化
    的头像 发表于 11-16 21:50 590次阅读

    诚邀报名 | 开放原子开发者工作坊:云原生革新开发模式,开发者如何把握先机?

    在全球数字化转型的浪潮中,云原生技术已成为近年来的热门话题。它改变了传统的开发模式,提升了应用开发和运维效率,助力企业在数字化时代实现业务创新。云原生带来了更高的效率、弹性和可扩展性,确保业务稳定
    的头像 发表于 11-15 18:45 455次阅读