您当前的位置:首页 > 互联网百科 > 云计算

什么是云原生,跟云计算有什么关系?终于有人讲明白了

时间:2021-07-19 12:25:11  来源:  作者:华章科技

作者:阿里集团 阿里云智能事业群 云原生应用平台

来源:华章科技

什么是云原生,跟云计算有什么关系?终于有人讲明白了

 

云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限。直到2019年9月,“云原生”才突然一跃成为行业最热门的词汇。

不过,时至今日,业界对于云原生的定义并没有完全统一,在云原生不断演进的过程中,衍生出了包括Pivotal、CNCF(Cloud Native Computing Foundation,云原生计算基金会)、十二因子应用等多个版本的定义。

同时,还有不少人将云原生与容器或基于Kubernetes的微服务混为一谈。还有云原生技术、云原生产品、云原生架构、云原生理念等看起来意思相近的词汇。那么云原生到底是什么?云原生会对我们的应用开发产生什么样的影响呢?

云原生可分解为“云”(Cloud)和“原生”(Native)两个词。这里还隐藏了一个词——“计算”(Computing),因为云原生本质上是一种与云计算(Cloud Computing)相同的计算方式,因此通常我们在说云原生的时候,实际上是暗指云原生计算(Cloud Native Computing)。

基于这样的背景,下面我们将进一步探讨云原生的概念及其影响。

什么是云原生,跟云计算有什么关系?终于有人讲明白了

 

01 云原生的概念

既然说到了云原生(计算),那么哪些计算方式不是云原生(计算)呢?要回答这个问题,同时辨析云原生的概念,我们需要先回顾云计算的发展历史,以及与之密切相关的分布式计算的复杂性问题。

云计算的概念最先由戴尔公司于1996年提出。2006年,亚马逊公司率先推出了弹性计算云(Elastic Compute Cloud,EC2)服务,随后越来越多的企业开始逐步接受云计算这一概念,并将应用逐步迁移到云端,享受这一新型计算方式带来的技术红利。

2009年,阿里巴巴率先开始研制具有完全自主知识产权的云产品——飞天操作系统,由此揭开了中国云计算的序幕。

纵观软件架构的演化历史可以发现,任何新的底层软硬件技术出现后,上层应用软件都需要很长一段时间才能够真正“认识”到新的软硬件给上层应用软件带来的价值,并开发新的软件架构,以便充分利用新软硬件的能力。

最典型的例子就是x86 CPU和服务器在面世二十多年后,以CORBA、EJB、RPC、瘦客户端等为主的多层架构才逐步成为应用开发的主流架构。

类似的还有容器技术,它最早是由FreeBSD于2000年在Jails中提出的,但真正得到大规模应用是在2013年Docker兴起之后,而应用层的代表则是几年之后基于容器的微服务架构。

对于云计算这一新基础设施来说,也是如此。在2015年之前,对于大多数应用来说,云端只是一个用于计算的场所,开发人员所要做的就是将原来在私有数据中心或IDC中的应用,迁移到云端。在迁移的过程中,应用无须重新编写,只需要重新部署,因为云平台提供的计算、存储、网络等,完全兼容应用迁移之前的计算环境。

  • 在迁移模式中,应用通常会将原来的物理机部署模式改成虚拟机(规格更小)部署模式;
  • 存储则选用兼容的块存储或者文件存储;
  • 网络使用SLB(Server Load Balancer,服务器负载均衡)替换传统的负载均衡器,构建VPC(Virtual Private Cloud,虚拟私有云)或NAT(Network Address Translation,网络地址转换)网络环境;
  • 使用云数据库替换原来的MySQL或SQL Server,或者自行在云上搭建Oracle数据库。

迁移之后,应用的整体成本(Total Cost of Ownership,TCO)因为采用了“按量付费”的模式而大幅下降,同时,企业的IT支出从CapEx (Capital Expenditure,资本性支出)模式转变为OpEx(Operating Expense,管理支出)模式,整个IT支出变得更可控。

如果对迁移过程进行技术分析,就会发现大部分应用使用的技术或者产品都在进行“一对一”的替换,只有极少量应用会基于OSS(对象存储服务)、MaxCompute(大数据计算服务)等云服务进行部分重构。

OSS能够帮助解决分布式状态的存储问题,而MaxCompute能够解决数据仓库的快速搭建和成本问题。但由于没有或者只进行了少量重构,因此应用的技术栈本身几乎没有发生变化,也就是说,软件的架构没有发生变化,只是软件运行的平台和运维的技术体系发生了变化,即只有平台层面的变化。

而软件在分布式场景下需要解决的问题,包括稳定性、组件或服务之间的数据同步、整体的高可用或容灾、CI/CD过程的自动化、资源利用率不高、端到端链路跟踪等,仍然需要应用自行解决。这些问题并不会因为应用迁移到了云平台就从根本上得到了解决。

当然,各云平台为了帮助应用解决上述分布式复杂性问题,不断推出各类云服务,但是由于应用架构本身并没有发生变化,因此这些云服务并不能帮助应用解决整体问题,只能从局部提升应用的效率。

面对大量的业务需求和场景迭代,很多云平台都提供非常专业的垂直领域服务,这些服务比企业基于开源自行搭建的系统具备更高的SLA(Service Level Agreement,服务等级协议)。

比如,在数据持久性方面,亚马逊AWS的数据持久性可以达到99.9…%(11个9),阿里云OSS的数据持久性甚至达到了99.9…%(12个9);在跨可用区的高可用方面,阿里云RocketMQ的高可用达到了99.95%,即使整个机房不可用也能继续对外提供消息服务。

  • 如果不是应用的所有存储访问代码都在S3或OSS上重构,那么“木桶效应”就会凸显,即整个系统的数据持久性将取决于能力最差的组件;
  • 如果应用不是将所有自持的开源组件都迁移到云平台上,那么当一个机房出现故障时,应用仍然会出现高可用性的问题;
  • 如果应用不是基于FaaS(Function as a Service,功能即服务)技术开发的,那么应用仍然需要自行解决单个组件不可用时的Fail Over(失效转移)以及故障恢复时的Fail Back(失效后自动恢复)等问题。

可见,应用迁移到云上并不代表从此以后就高枕无忧了,如果应用本身没有基于“新”的云服务进行重构,而是继续采用“老”的架构,那么即使业务运行没有问题,应用也不能充分利用“新”的云运行环境的能力。

因为这些架构是为了“老”的分布式运行环境而设计的,不是“云原生的”,所以需要对这些架构以及围绕这些架构建立的技术栈、工具链、交付体系进行升级,依托于云技术栈将其重新部署、部分重构甚至全部重写,才能将应用变成“云原生的”,从而保证能够充分利用云计算的能力。

为了让应用能够更好地使用云的PaaS平台能力开发SaaS(Software as a Service,软件即服务),Heroku于2011年提出了十二因子应用的概念。十二因子应用适用于任何编程语言,通常被认为是最早的云原生应用的技术特征,详情请参考:

http://12factor.net/zh_cn/

之后,Pivotal于2015年明确地提出了云原生的概念,指出云原生是一种可以充分利用云计算优势构建和运行应用的方式。

在经过CNCF的修改后,最新版云原生的定义为:

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统做出频繁和可预测的重大变更。

上面三个主流的定义,分别从顶层架构原则、计算模型和代表技术的角度,对云原生进行了描述。这些定义的共同点是它们都将云原生看作一种新的计算方式,让应用能够充分使用云的计算优势。

进一步分析这些定义所体现出的技术观点,我们可以达成这样一个共识:只有结合云原生所提供的云服务,改造应用的架构,才能够更好地使用云原生技术,更好地构建弹性、稳定、松耦合的分布式应用,并解决分布式复杂性问题。

此外,对架构的改造还意味着相关的开发模式、交付方式、运维方式等都要随之改变,比如,采用微服务架构重写应用,用声明式API和自动化工具升级运维方式,等等。简单来说,云原生使得整个软件的生产流水线都发生了巨大的变化,而具体的变化程度又取决于企业对云原生的使用情况。

实际上,云原生的范围还不止于此。要正确实施云原生这一新计算模式,还需要企业的IT决策者、架构师、开发人员与运维人员正确理解和应用云原生的理念,利用合适的云原生技术及产品。有太多的反例可以证明,仅靠单边的技术升级是很难让云原生升级产生价值的。

云原生相关概念之间的关系如图1-1所示。

什么是云原生,跟云计算有什么关系?终于有人讲明白了

▲图1-1 云原生相关概念之间的关系

在图1-1中,现代化应用在不少场合与云原生应用的概念是等同的,因为它们的很多特征都是相似的,比如,都采用了容器技术打包和交付,都具备很强的弹性能力等。这两个概念的细微差别在于:现代化应用可以与云相关,也可以与云不相关;而云原生应用通常都与云相关。

所以云原生(或者说云原生计算)应当包括云原生技术、云原生产品、云原生架构以及构建现代化应用的开发理念,如DevOps,具体说明如下。

  1. 云原生产品和云原生技术需要基于公有云、私有云或混合云的云基础设施(IaaS)。
  2. 云原生架构和云原生开发理念是基于云原生技术和产品构建或实现的。注意,对于不是基于云原生技术或者产品的架构和理念,如基于传统物理服务器发布、构建的DevOps,是不会被划分到云原生范畴的。
  3. 现代化应用和云原生应用是基于云原生的架构和开发理念构建或实现的。

02 云原生是云计算的趋势

如今,云计算已经成为企业数字化转型的新的基础设施,同时也是国家“新基建”的核心环节,是物联网人工智能的赋能平台。从市场发展趋势看,云计算将是未来IT的主流。

根据Gartner的数据,未来云计算市场规模仍将保持20%以上的增长速度,到2025年,预计将有80%(2020年仅为10%)的企业会关掉自己的传统数据中心,转向云平台。

2019年,我国云市场总规模达到了1334亿元,同比增长38%,其中,公有云市场规模达到689亿元,私有云市场规模达到645亿元。在2020年年初,我国各行业对远程办公、远程教育等的需求持续增长,预计到2022年,我国云市场总规模将突破3000亿元。

此外,根据工业和信息化部提出的企业上云工作目标,2020年云计算将在各个行业广泛普及,全国上云企业将新增100万家。

从技术发展趋势看,更多企业将会广泛应用云原生技术。在国家政策和企业需求的双重驱动下,更多企业会选择上云,中国云计算的强势增长是必然趋势,这也注定了更多企业将会关注、应用、采纳能够充分利用云计算能力的云原生技术和产品。

据Gartner预测,到2023年,全球70%的企业都将在生产中运行三个或更多的容器化应用。

据中国信息通信研究院(简称信通院)统计,2019年43.9%的被访企业表示已使用容器技术部署业务应用,另外计划使用容器技术部署业务应用的企业占比为40.8%;28.9%的企业已使用微服务架构进行应用系统的开发,还有46.8%的企业计划使用微服务架构。

从软件开发角度看,云原生技术为企业带来了更快进行业务创新的价值。越来越多的企业逐渐意识到了云服务的专业性和高SLA,这些企业在数字化转型的过程中将IaaS和PaaS的通用技术复杂性委托给了云平台,从而能够更好地专注于自身业务逻辑的创新。

利用云原生技术重塑企业的软件生产流水线,可以加大业务组件的复用程度,将软件交付周期从周、天降低到小时甚至分钟级别,从而提升业务的市场嗅觉灵敏度,增强市场反应能力。

从应用技术栈角度看,越来越多的企业发现传统的应用已经无法满足数字化业务的需要,所以会对应用进行彻底升级,会更多地采用云原生技术和云原生架构作为构建现代化应用的核心框架,从而帮助企业打造具备弹性、韧性、可观测性、API驱动、多语言支持、高度自动化、可持续交付等特性的现代化应用软件。

什么是云原生,跟云计算有什么关系?终于有人讲明白了

 

03 云原生是云计算的再升级

从云原生的定位可以看到,云原生包含大量新的PaaS层技术和新的开发理念,是释放云计算价值的最短路径,也推动着云计算的再升级。

整个云原生技术栈都是基于开源、开放的技术标准。CNCF也在致力于云原生技术的标准化,为云原生技术和产品的用户提供使用云服务的标准界面,同时避免了厂商锁定。

进一步看基于云原生技术和云原生架构重构或重写的应用,比如,基于服务网格或无服务器技术(Serverless)的应用,它们天然具备水平扩展的能力,可随时应对互联网时代高速增长的业务规模,同时还内置了高可用能力,所以应用无须关注分布式环境下的高可用方案。

  • 对于云平台而言,云原生技术也催生了诸如阿里云新一代神龙、AWS Nitro系统之类的架构升级,使得新的计算基础设施能够为应用提供更高的性能、弹性和计算密度;
  • 云存储能够帮助企业实现存储计算分离,避免分布式环境下多副本存储,同时还具备自定义密钥加密落盘的高级安全特性;
  • 基于硬件offload(卸载,通过硬件提供加速功能)的网络在overlay(一种在现有网络架构上叠加的虚拟化技术)的场景下为应用提供千万级PPS(Packet Per Second,数据包/秒,宽带速率)的SDN(Software Defined Network,软件定义网络)能力。

所以,云原生不仅是对使用云的应用架构的再升级,也是对云平台的技术和云服务的再升级。从构建现代化应用的角度,我们可以发现,云原生对应用的重构体现在应用开发的整个生命周期中。

关于作者:阿里云智能 基础产品事业部 云原生应用平台:致力于为企业打造数字创新的最短路径。历经15年的探索,阿里云是国内最早实践云原生的云服务商,拥有最丰富的云原生产品家族和Z全面的开源贡献,打造云原生裸金属服务器、云原生数据库、数据仓库、数据湖、容器、微服务、DevOps、Serverless等超过100款创新产品;构建完整的云原生技术与服务生态,覆盖新零售、政务、医疗、交通、教育等各个领域,推动企业快速实现数字化创新与业务增长。



Tags:云原生   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前面谈过很多关于数字化转型,云原生,微服务方面的文章。虽然自己一直做大集团的SOA集成平台咨询规划和建设项目,但是当前传统企业数字化转型,国产化和自主可控,云原生,微服务是不...【详细内容】
2021-12-06  Tags: 云原生  点击:(23)  评论:(0)  加入收藏
作者:阿里集团 阿里云智能事业群 云原生应用平台来源:华章科技 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限...【详细内容】
2021-07-19  Tags: 云原生  点击:(182)  评论:(0)  加入收藏
Redis 简介Redis 是大家日常工作中使用较多的典型 KV 存储,常年位居 DB-Engines Key-Value 存储第一。Redis 是基于内存的存储,提供了丰富的数据结构,支持字符串类型、哈希/列...【详细内容】
2021-04-20  Tags: 云原生  点击:(135)  评论:(0)  加入收藏
随着云计算的日益普及,企业上云已经成为必然的趋势。作为全球最权威性的IT研究咨询公司,Gartner曾做出一个预测:在2020年前,50%的企业会将业务工作流放到本地需要作为异常事件进...【详细内容】
2021-03-09  Tags: 云原生  点击:(127)  评论:(0)  加入收藏
目前世界上大部分公司都使用Git来控制软件开发的版本,那么我们用Git到底该建多少个分支呢?2010年Vincent Driessen在《A successful Git branching model》一文中提出了一个Gi...【详细内容】
2021-03-04  Tags: 云原生  点击:(275)  评论:(0)  加入收藏
字节跳动基础架构团队基于火山引擎机器学习平台 Clever 及其丰富的行业落地经验,推出开源项目 Klever,以工程化的方式降低智能技术落地门槛,助力企业快速打造智能业务。作者: 陈...【详细内容】
2021-02-19  Tags: 云原生  点击:(170)  评论:(0)  加入收藏
文作者为 PingCAP 联合创始人兼 CTO 黄东旭,将分享分布式数据库的发展趋势以及云原生数据库设计的新思路。 在讲新的思路之前,先为过去没有关注过数据库技术的朋友们做一个简...【详细内容】
2021-01-12  Tags: 云原生  点击:(154)  评论:(0)  加入收藏
何为云原生随着云计算的应用普及,最近几年,云原生技术(Cloud Native)的概念很火。Pivotal公司的Matt Stine于2013年首次提出云原生的概念;云原生的具体含义在过去的几年中也在不...【详细内容】
2021-01-11  Tags: 云原生  点击:(107)  评论:(0)  加入收藏
Tekton CICD Demo这是一个演示 Tekton CICD 的 demo。下面我们将从搭建本地 k8s 集群开始,同步镜像至国内并部署 Tekton,一步一步实现一个 CICD 流水线。实现更新代码自动触发...【详细内容】
2020-11-13  Tags: 云原生  点击:(133)  评论:(0)  加入收藏
云原生时代的华为,不但打造了迅猛发展的云服务业务,也为自己的云服务打造了新“引擎”。• 作者:硬核老王 •(本文字数:3927,阅读时长大约:6 分钟) 云原生时代的容器引擎的...【详细内容】
2020-11-05  Tags: 云原生  点击:(120)  评论:(0)  加入收藏
▌简易百科推荐
作者:阿里集团 阿里云智能事业群 云原生应用平台来源:华章科技 云原生(Cloud Native)的概念,最早是由Pivotal于2015年提出的,但是即使到了2019年上半年,国内对其的关注依然相对有限...【详细内容】
2021-07-19  华章科技    Tags:云原生   点击:(182)  评论:(0)  加入收藏
一、案例概述为了方便对公司办公计算机桌面系统的管理,公司需要搭建一套桌面虚拟化平台。公司运维工程师决定使用Cirtix桌面 虚拟化解决方案。 Citrix XenServer服务器虚拟化...【详细内容】
2021-07-13  虚拟化爱好者    Tags:企业云   点击:(608)  评论:(0)  加入收藏
近日有粉丝问阿里云和华为云的部署区别是啥,其实阿祥没有搭建过阿里云,具体用啥工具部署,部署的步骤和具体方法并不知道(ps:后续如果能找到类似资料,阿祥会给大家分享),所以我这次先...【详细内容】
2021-07-13  信息系统集成Vlog    Tags:阿里云   点击:(136)  评论:(0)  加入收藏
人类社会可以划分为三个阶段:第一次浪潮为农业阶段,从约1万年前开始;第二阶段为工业阶段,从17世纪末开始;第三阶段为信息化阶段,从20世纪50年代后期开始。 --托夫勒,《第三次浪潮...【详细内容】
2021-06-02  云技术    Tags:云计算   点击:(95)  评论:(0)  加入收藏
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二...【详细内容】
2021-05-14    全国产经平台  Tags:云计算开发   点击:(128)  评论:(0)  加入收藏
在当今互联网行业乃至一些大厂,大部分公司都采用敏捷项目管理模式来管理项目,在敏捷十二条宣言中有一条是这样说:“我们的最高目标是,通过尽早和持续地交付有价值的软件来满足...【详细内容】
2021-04-30    云计算AND容器技术  Tags:Jenkins   点击:(165)  评论:(0)  加入收藏
云服务所谓的云服务,云服务可以将企业所需的软硬件、资料都放到网络上,在任何时间、地点,使用不同的IT设备互相连接,实现数据存取、运算等目的。 云服务是一种按需服务1.云服务(C...【详细内容】
2021-04-28  德姐姐科普  今日头条  Tags:云服务   点击:(155)  评论:(0)  加入收藏
云计算是一种基于互联网的计算新方式,使得个人和企业用户以按需即取、易扩展的方式的获取计算和服务。本文介绍了云计算的基本概念、发展历程及发展现状,总结了云计算的关键技...【详细内容】
2021-04-28  云计算那点事    Tags:云计算   点击:(109)  评论:(0)  加入收藏
图片来源@视觉中国文 | 波波夫上世纪六十年代,科学家John McCarthy在斯坦福大学提出了“从任意地点通过网络访问计算机程序”的设想时,台下听众的反应,可能和今天在推特上看马...【详细内容】
2021-04-16    钛媒体APP  Tags:云计算   点击:(102)  评论:(0)  加入收藏
由于边缘计算能让用户在靠近物或数据源头的一侧处理工作负载,极大地提升了在云端的处理效率,因此备受用户青睐。  根据MarketsandMarkets数据分析显示:到2022年,边缘计算市场...【详细内容】
2021-04-07    IT168企业级  Tags:边缘计算   点击:(139)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条