架构|什么是云原生,跟云计算有什么关系?终于有人讲明白了
导读:云原生到底是什么?
作者:阿里集团 阿里云智能事业群 云原生应用平台
来源:大数据DT(ID:hzdashuju)
云原生(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支出变得更可控。
- ios16|未受到电商冲击,理发店为啥还是纷纷倒闭?过来人说出真相
- 架构设计|6G发展再迎里程碑 网络架构设计获突破
- 有人觉得中暑就是热出来的,吃一些退烧药就好了,这种做法 蚂蚁庄园今日答案6月28日
- 浮甘瓜于清泉,沉朱李于寒水”描述的是什么场面 蚂蚁庄园今日答案6月28日
- 为验证人类和黑猩猩,是否会产生新的后代,科学家找来5位姑娘!
- 喜马拉雅山出现的“雪人”是何生物?目击者:智商高、攻击性强
- 为什么科学家表示人类“灭绝”的可能性极低?这些理由你赞同吗?
- 显卡|这就是RTX 4090 Ti显卡?又厚又重,超过三槽要1200W电源
- 为什么科学家知道太阳的原理,却无法制造出人造太阳
- 土耳其发现四肢爬行人群,这是咋回事?科学家警告:人类要留心了
