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

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

3天内不再提示

云原生是什么意思?我们为什么需要云原生?

脑极体 来源:脑极体 作者:脑极体 2021-03-22 18:13 次阅读

在著名的《集装箱改变世界》当中,我们能看到集装箱的发明对于二十世纪全球化的巨大推动作用。集装箱,这一看起来并无多少技术含量的发明,却因为进行标准化和系统化运输的创新彻底改变了全球的货物贸易体系。

如今在IT领域,云计算的出现和发展相当于一次数字世界的“全球化”大发现,而云原生就相当于一次“集装箱式”的创新变革。

如果把互联网看作是数字世界里的贸易航线,那么应用软件和其中的数据就是穿行在航线上的船只和货物。在传统的IT架构当中,最小的货运单位就是船只(单体应用),不同的企业都有自家的船只,因此每个船只上都要配备全套的IT基础设施(计算、存储、网络等),船只要根据业务软件的规模提前规划,如果遇到业务增长,就只能在船上增补硬件设备,但业务下降,这些设备也只能闲置吃灰。

而云计算的出现,相当于是成立了几家大型货运公司,推出了一些超大型的标准化船只,其他企业可以选择把一部分货物交给这些货运公司去托运,甚至直接租用货运公司的船只去运货,这就涉及到云计算几种不同的服务提供方式。

伴随着云计算这种“集中式货运”的出现,一种适应云计算架构特点的应用开发技术和运维管理方式也出现了,那就是云原生。云原生的一个核心技术就是容器(Container),而容器的创新之处就非常类似于集装箱的创新。正如物理世界货运的最小单元从船只变成了集装箱,在云计算中,软件的最小单元不再是主机箱或者虚拟机,而是一个个容器。

正是随着云计算服务和容器化技术的发展下,越来越多的软件开发者和IT运维管理人员开始改变过去独立开发运行的传统模式,从而提出一套基于云计算特点的新的软件应用开发架构和模式,从而诞生了云原生的概念。

云有“原生”初长成

提及云原生,就必然要提到云计算。众所周知,按照云计算的服务提供方式,可以分为基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)三层。从IaaS到PaaS,再到SaaS,意味着云平台提供的工具和服务越来越多,购买云服务的企业所要做的开发相关的任务就越来越少,这一趋势为云原生的出现提供了技术基础和方向指引。

(来源:CNCF基金会)

企业业务要想真正的云化,不仅要在基础设施和平台层面实现,而且应用本身也应该基于云的特点进行开发,从架构设计、开发方式、部署维护等各个阶段和方面重新设计,构建真正应“云”而生的“云原生应用”。

根据行业内的说法,云原生(Cloud-Native)概念的提出有几个版本,公认的是由Pivotal公司CTO Matt Stine在2013年首次提出。当然,这一概念被提出来是没有定义的,只是一系列技术的集合。

比如在2010年,WSO2公司CTO Paul Fremantle在博客里也提到“Cloud Native”的概念,不过他给出的相关解释包含了分布式、多租户、按需收费、弹性可伸缩这些特点,但这些主要是云计算服务的普遍特性,还不够细化。

对于云原生概念,Matt Stine在2015年发表的《迁移到云原生应用架构》的一书中列举出以下技术和特点:十二因素,微服务,子服务敏捷基础设施,基于API的协作,反脆弱性。

后面,这家公司的另外一位技术大牛Kevin Hoffman 在《Beyond the 12 factor App》一书,基于原十二要素新增了三个新要素,即云原生十五要素。

对于应用开发领域的从业者,这些要素想必都非常熟悉,相当于是一份SaaS应用的最佳实践标准,可以适用于任何语言开发的后端应用服务,将开发流程自动化和标准化,降低开发者的学习成本。

到2017年,Matt Stine再次将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;而Pivotal官网则给出了云原生的最新定义,概括为4个要点:容器、微服务、DevOps、持续交付。

另外一个比较正式的云原生定义是由云原生计算基金会(CNCF)提出的。在2015年,CNCF成立之初,这一组织将云原生定义为包括:容器化封装、自动化管理、面向微服务;到2018年,CNCF又把服务网格(Service Mesh)和声明式API给加到云原生的定义中来。

从云原生的多个定义来看,这一概念在不断完善和更新,不同组织和企业对于云原生的侧重点也有所不同。根据行业专家的总结,现在我们已经能够看到云原生的一个全貌特征:

(图源:王银利《云原生体系下的技海浮沉与理论探索》)

因此,整体来说,云原生是一套在云端构建和运行软件应用的方法,可以归结为一套技术方法论。“云原生”的“Cloud”,代表了软件应用是放在云端而非传统的IT设备中,而“Native”则代表软件应用从一开始设计,就是根据云的环境,采用云端的技术,充分利用云平台的弹性伸缩和分布式特点,最终在云端高效、稳定、安全运行。

从本质上来说,云原生是架构根植于云,基于云上开发、部署、维护的一套技术方法体系。

点开云原生的“技能树”

根据以上云原生概念的共性,我们主要拆解下容器化、微服务、持续交付,DevOps这些涉及云技术和运维管理方法的主要特征。

首先来介绍代表性的容器技术。最初,一个软件应用都是放在物理主机上的,管理起来非常不方便,后面出现了虚拟化技术,可以通过服务器资源共享的方式,按需构建应用实例,但是虚拟化构建出的虚拟机仍然是一个完整操作系统,虽然比物理机更灵活,但仍然资源浪费的情况。那么,容器技术,就如同IT开发当中的集装箱,采用更小单元彻底将一个应用的资源打包在不同的容器里,从而可以适应各种应用的运行环境。

从2004年开始,谷歌就在内部大规模使用Cgroups等的OS虚拟化技术,2008年,谷歌推出的LXC(Linux Container)项目具备了Linux容器的雏型。2013年,Docker横空出世,让Linux容器技术快速席卷开发界。Docker的成功,也让构建应用的最小单元变成了容器,而容器是微服务的最佳载体。

微服务就是一种跟单体应用相对应的新的应用架构,是应用服务单元的小型化和微型化。有个比喻非常贴切,单体应用就是一个大茶壶里煮很多饺子,现在变成一个小茶壶里煮一个饺子,但是拥有很多个茶壶。微服务就是要将应用的颗粒度做到最小,使之独立承担对外服务的职责。微服务的理念是随着软件系统的复杂度上升,需要投入的人力和时间资源越来越多,但却需要及时交付而出现的。

DevOps,是Development+Operations的组合词,也就是开发和运维的合体,当然也包含测试。DevOps是一种敏捷开发思维和IT组织的沟通方法,可以促进开发、技术运营和质量保障部门之间的沟通、协作和整合,从而提高软件和服务的交付效率。反映在云原生上面,就是提高持续交付的能力。

云原生的持续交付,要做到不误时开发,不停机更新,小步快跑,要求开发版本和稳定版本并存,其实需要很多流程和工具支撑。对于广大用户来说,现在一个最直观的感受就是很多巨型应用可以做到几乎在悄无声息见就完成更新,根本不用再一次次进行应用的下载和安装,而这就要归功于云原生的这些能力。

在软件开发领域,曾经有一个“不可能三角”的说法,也就是功能复杂程度、交付周期和可靠性这三者无法同时实现,但基于以上云原生的技术和管理方法,相当于解决了这一的一个开发难题,从而帮助企业提升应用开发效率,实现业务创新。

云原生的能力将造成这样一个结果,那就是让一个应用的底座变得越来越复杂,数据处理也越来越自动化,而应用的业务层面则越来越轻,越来越简单化。对于大众用户来说,就是应用的更新、功能的使用越来越便捷和“聪明”。

云原生“江湖”

云原生是顺应云计算时代的应用开发特点而产生的一种技术理念,因此在云原生概念一直没有明确的定义,而只有不同组织的不同的解释。相伴而生的就是云原生技术的演化和厂商的纷争。

现在一提到云原生,基本就会提及Docker和Kubernetes(简称K8s)。那么,这两者到底是怎样的关系呢?

简单来说,Docker是目前最成功的容器工具,K8s是目前最流行的容器编排工具。所谓“编排”,源自音乐指挥家对不同乐器演奏的协调,那么用在云原生这里,就是对包含应用程序的容器的协同关系管理。

最初,Google已经在容器技术上有了十多年的积累,只不过,Google的做法是秘而不宣,把基础设施的复杂性都留在内部,只给开发者和用户提供最简单的操作工具就行。但是2013年开源容器工具Docker一经推出就大受欢迎,很快就成为事实上的容器标准,这严重刺激了Google。因此,Google采用了“敌人的敌人就是朋友”的战略,开始支持与Docker分道扬镳的CoreOS,推出了K8s项目,并支持CoreOS提出的另一个开源容器引擎Rocket。

2014年,当Google发现CoreOS在容器生态领域实在不是Docker的对手之后,决定换道超车,于当年宣布推出K8s容器集群编排工具,并在2014年6月7日将初始版本代码提交到Github上完全开源。而此时的Docker公司也雄心勃勃,于年底在DockerCon上发布了自己研发的“Docker原生”容器集群管理项目Docker Swarm,并想与K8s一较高下。一场“容器编排”的战争打响。

(Kubernetes来自于希腊语,含义是舵手或领航员)

但Kubernetes凭借Google在容器集群管理系统Borg+Omega上的多年技术积累,很快横扫Docker Swarm和其他容器编排工具。到2017年6月,据CNCF统计:K8S占据着77%的市场份额,到10月,Docker宣布支持K8s,这标志着容器编排的战争基本结束,最终以K8s的大获全胜告终。

Docker被K8s成功收编,那最大的赢家就是2015年成立的云原生计算基金会(CNCF),当然还有全球的开发者。

CNCF是由Google 牵头成立,隶属于 Linux 基金会,初衷是围绕云原生服务云计算,致力于培育和维护一个厂商中立的开源生态系统,维护和集成开源技术,支持编排容器化微服务架构应用,通过将最前沿的模式民主化,让这些创新为大众所用。

截至2020年4月,CNCF基金会共托管49个云原生项目,其中,Kubernetes是CNCF托管的第一个云原生开源项目。现在全球主流的科技企业和云计算厂商绝大部分都是CNCF会员,云厂商们把加入CNCF作为企业技术竞争力的宣传点。

(CNCF全景图)

可以说,云原生在今天的发展壮大,确实离不开CNCF这样的中立组织所发挥的作用。假如说Docker一家独大,就很容易提高容器技术的使用成本,如果K8s不在CNCF开源共享,开发者又可能要面临“二选一”的麻烦。

值得注意的是,在2020年12月,K8s宣布弃用Docker,并非是简单地对Docker的“卸磨杀驴”,而是对于容器编排的进一步优化。因此,我们可以看到云原生的具体的技术工具还 演变进化当中。

到这里,我们应该对云原生的前世今生有一个基本的印象。

总的来说,云原生没有一个固定的概念定义,但却有一个清晰的逻辑,那就是软件应用正在按照云原生的方式进行深度的云化,充分贴合云计算的弹性可扩展、敏捷、分布式、自动化的特点,因云而生,又应云而行。

同时,云原生体系的技术也处在不断的演化发展当中,目前正形成以容器及容器编排、微服务、敏捷基础设施、DevOps、声明式API等为特点的云原生应用的技术方法论。在这些云原生技术的演进过程中,CNCF及其提供的开源项目和开发生态将发挥更加显著的作用。

当然,尽管我们看到云原生有这样那样的好处,但是云原生从诞生到如今的破圈而红并非是一蹴而就的,云原生本身的演化也经历一个从青涩到成熟的过程。但云原生的计算价值已经落地生根,某种程度上成为了企业IT的大势所趋,甚至必然选择。

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

    关注

    38

    文章

    7336

    浏览量

    135642
  • 互联网
    +关注

    关注

    54

    文章

    10892

    浏览量

    100682
  • PaaS
    +关注

    关注

    2

    文章

    126

    浏览量

    21284
  • IaaS
    +关注

    关注

    0

    文章

    64

    浏览量

    18467
收藏 人收藏

    评论

    相关推荐

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

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

    米哈游大数据云原生实践

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

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

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

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

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

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

    近日,由Informa Tech主办的5G核心网峰会在伊斯坦布尔举行。ABI Research高级分析师 Don Alusha在峰会上发布了《云原生平台和管理趋势:标准和容器展望》白皮书。该白皮书
    的头像 发表于 11-17 19:40 309次阅读
    ABI发布电信<b class='flag-5'>云原生</b>平台及运维白皮书

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

    2023年11月14-15日,第八届5G核心网峰会在土耳其伊斯坦布尔成功举办。华为云核心网产品线副总裁马亮发表主题演讲,总结回顾了NFV十年产业发展趋势和成果,阐述了电信云原生从1.0到3.0的关键
    的头像 发表于 11-16 21:50 397次阅读

    一图读懂英特尔云原生开源技术

    作为KubeCon China 2023 大会的钻石赞助商,9月26日-28日,英特尔在现场会有一个大的技术展示厅,其中包含10个现场展示,涵盖云原生基础设施,安全,人工智能以及可持续计算等。 欢迎
    的头像 发表于 09-23 10:10 365次阅读
    一图读懂英特尔<b class='flag-5'>云原生</b>开源技术

    中国移动网络云原生演进技术白皮书

    云原生是近几年云计算领域炙手可热的话题。目前,无论互联网企业还是传统企业,都在拥抱云原生云原生是包含系列技术体系、系统设计理念、组织管理方法的全面系统变革,其核心要素包含基础设施云原生
    发表于 08-30 12:15 426次阅读
    中国移动网络<b class='flag-5'>云原生</b>演进技术白皮书

    华为携手中国移动荣获“2023年度云原生技术创新领航者-云原生技术创新案例”大奖

    近日,由工业和信息化部主办、中国信息通信研究院和中国邮电器材集团有限公司承办的“ICT中国·2023高层论坛-云原生产业发展论坛”在北京国家会议中心隆重召开。在本次论坛上,中国移动联合华为技术
    的头像 发表于 07-06 18:50 377次阅读

    Ampere的192核云原生CPU首度导入Chiplet设计

    Ampere Computing以自有IP打造的192核云原生CPU——AmpereOne系列处理器的技术细节陆续曝光。
    的头像 发表于 06-21 18:03 739次阅读
    Ampere的192核<b class='flag-5'>云原生</b>CPU首度导入Chiplet设计

    行业翘楚论道未来想象|2023开放原子全球开源峰会云原生分论坛圆满落幕

    6月13日,以“探索云原生技术发展与应用实践,赋能企业数字化转型”为主题的2023开放原子全球开源峰会云原生分论坛圆满落幕。此次分论坛邀请开发者、学术机构、企业代表等云原生产学研技术领袖齐聚一堂
    的头像 发表于 06-14 20:35 298次阅读
    行业翘楚论道未来想象|2023开放原子全球开源峰会<b class='flag-5'>云原生</b>分论坛圆满落幕

    华为云发布面向消费终端的企业云原生白皮书,开辟移动时代的云原生路径

    云原生路径何处寻?答案在华为云与华为终端云的牵手中
    的头像 发表于 06-06 17:38 663次阅读
    华为云发布面向消费终端的企业<b class='flag-5'>云原生</b>白皮书,开辟移动时代的<b class='flag-5'>云原生</b>路径

    探索云原生技术发展与应用实践,赋能企业数字化转型 | 2023开放原子全球开源峰会云原生分论坛即将启幕

    随着开源成为软件技术创新和协同发展的重要模式,企业对云原生的认知日益强化,越来越多的企业应用云原生技术与产品解决实际问题,云原生进入落地爆发的关键期。IDC报告显示,2023年企业云原生
    的头像 发表于 06-01 14:48 313次阅读
    探索<b class='flag-5'>云原生</b>技术发展与应用实践,赋能企业数字化转型 | 2023开放原子全球开源峰会<b class='flag-5'>云原生</b>分论坛即将启幕

    探索云原生技术发展与应用实践,赋能企业数字化转型 | 2023开放原子全球开源峰会云原生分论坛即将启幕

    随着开源成为软件技术创新和协同发展的重要模式,企业对云原生的认知日益强化,越来越多的企业应用云原生技术与产品解决实际问题,云原生进入落地爆发的关键期。IDC报告显示,2023年企业云原生
    的头像 发表于 05-30 01:40 364次阅读
    探索<b class='flag-5'>云原生</b>技术发展与应用实践,赋能企业数字化转型 | 2023开放原子全球开源峰会<b class='flag-5'>云原生</b>分论坛即将启幕

    中科驭数携手DaoCloud道客开拓DPU在云原生计算场景的应用

    近日,中科驭数与DaoCloud 道客正式达成战略合作。本次合作依托中科驭数DPU技术优势与DaoCloud 道客云原生技术面向智算、超算、金融交易、电信等高性能云原生应用场景和行业领域,共同
    的头像 发表于 04-20 09:31 873次阅读