定义在这里
https://docs.microsoft.com/zh-cn/dotnet/architecture/cloud-native/definition
然而感觉还是很模糊。
哪位可以说说自己的理解?
1
cheneydog 2022-05-30 09:45:17 +08:00 5
就是最开始就是以云计算为标准而设计的,不是把原来的东西搬到云上。
|
2
murmur 2022-05-30 09:47:19 +08:00 2
我的理解是以前跑 java php 叫云,现在跑 go docker 叫云原生,但是直觉告诉我这就是概念玩屁吃
我都整台租用了服务器,不管是虚拟的还是真实的,跑啥不是我自己的事,非得整俩概念 |
3
fregie 2022-05-30 09:52:06 +08:00
云 原生,天生就是跑在云上的应用,各项特性都是专门适用于云上环境的应用。
前些年老是说道上云这个概念,说明应用本身不是为了云而设计的,非云原生,需要做些改动或借助特定基础设施才能适应云环境。 |
4
saltbo 2022-05-30 09:54:12 +08:00 1
简单来说就是能够屏蔽云厂商的架构,云原生架构能够无缝的在不同云厂商之间进行迁移。换句话说,云原生的目的是社区出的一套标准,所有云厂商都应该按这套标准玩。否则社区就不跟你玩了。
任何公司都不想把自己跟某一个云厂商进行强绑定,所以大家都认可这个标准。所以倒逼了云厂商都来使用这套标准 |
5
wangpugod2003 2022-05-30 09:55:18 +08:00
云原生就是跑在云上的运用,例如 kubernetes 云,云原生应用就是针对 kubernetes 这种(操作系统)开发的应用。
|
6
xinhaiw 2022-05-30 09:56:46 +08:00 3
scalability ,stateless ,fault-tolerant
|
7
mikywei 2022-05-30 09:59:27 +08:00
非云原生:以前老一套的依赖环境和应用(比如在大家虚拟机或物理机上运行的 docker )
云原生:专门针对云设计的依赖环境和应用,不考虑兼容传统的环境(就比如云厂商根据 docker 出的云原生版本改编而来的容器应用,只能在本云厂商上使用,还自带 web 管理控制台) |
8
DragonMo 2022-05-30 10:05:41 +08:00
云原生就是所有云的功能(服务发现治理,负载均衡,链路追踪,容灾熔断,日志收集之类的),都在程序之外实现,程序屏蔽掉对这些的可见。
|
9
justicelove 2022-05-30 10:18:44 +08:00
相比于原来部署在固定服务器上,云原生在任意环境可快速部署应用,并且整个部署环境,部署的应用都是可观测,可以管理的。
|
10
cubecube 2022-05-30 10:22:20 +08:00
简单说,就是为云上专门设计的组件工具,搭建起来的服务
比如 serverless 服务就是最好的的云原生的例子,在别的场景根本没有 |
11
securityCoding 2022-05-30 10:22:42 +08:00
不用纠结这个问题,某种程度上来说 k8s=云原生 也不是不行。
|
12
betainCao 2022-05-30 10:23:01 +08:00
云原生,cloud native ,cloud 表示应用程序位于云中,而不是传统的数据中心; native 表示应用程序从设计之初就考虑云的环境,原生为云而设计。最终要的一个点,就是能在云上以最佳姿态运行,充分运用云平台的弹性和分布式优势!!!
|
13
sutra 2022-05-30 10:25:37 +08:00 1
是不是可以反过来理解,就是离开了云,跑不起来?
|
14
vhui 2022-05-30 10:25:39 +08:00 via iPhone 1
有一种说法
云原生是 DevOps + 微服务 + 持续交付 + 容器化 |
15
lookStupiToForce 2022-05-30 10:35:18 +08:00
简单粗暴点
k8s 给你屏蔽了大部分针对单个容器的管理,让容器一体化,云原生给你进一步屏蔽 k8s 的大部分集群管理,让你以为你在用一个单机应用。本来也应该这样,服务器运维、集群运维跟应用的使用、拓展、开发、维护就该分开 |
16
murmur 2022-05-30 10:45:48 +08:00
@lookStupiToForce 那原生这个词翻译太丑了,比鲁棒性还丑,native 都是相对于虚拟机应用来说,叫 k8s 应用或者容器应用不更好
|
17
c8c 2022-05-30 10:55:11 +08:00
学到了。这个翻译确实让我弄不清。
|
18
lookStupiToForce 2022-05-30 11:02:24 +08:00
@murmur 看到你前面说的“概念玩屁吃”,我其实蛮有同感😂
奈何互联网圈子最爱玩新概念,国人如此,老外尤甚。还记得当初入一个外企的一个边缘 it 部门,就在这个部门内,针对同一个主要工作内容,用了不下 4 个不同的单独的单词来指代,其中俩还是压根见都没见过的“船新的”组合词,还特么分散在不同的文档里,让不管谁见了都一抹黑。求爷爷告奶奶问遍了整个部门,落实了这 4 个是一个玩意儿,部门里的人才从这次开始拎清了。部门外更是群魔乱舞,啥啥项目都顶着一个你压根想不到关系的名词作为行头,生怕别人注目不到它。 后来对此不苛求了,他们能把名词统一已是大幸。 一个公司内都这样,无怪乎拉投资的时候各种新名词频出吹得天花乱坠,不怕一个人没文化不会用基础的语文和已有的名词作表达,就怕一堆人包括投资人也没文化喜欢这花里胡哨的东西。 总之都是没文化🤣 |
19
libook 2022-05-30 11:07:13 +08:00
云原生基金会有官方的定义:
https://github.com/cncf/toc/blob/main/DEFINITION.md#%E4%B8%AD%E6%96%87%E7%89%88%E6%9C%AC 是一整套针对云计算场景的解决方案,具备一系列特点。 |
20
fantastM 2022-05-30 11:21:48 +08:00 1
|
21
elintwenty 2022-05-30 11:48:12 +08:00
关注 CNCF 会告诉你答案
https://github.com/cncf/toc/blob/main/DEFINITION.md |
22
elintwenty 2022-05-30 11:51:11 +08:00
简单来说就是天生在云,以容器、容器编排等云原生提到的基础性组件为默认组件,云原生应用天生接入这些功能,没了云就用不了
|
23
DragonCat 2022-05-30 11:59:15 +08:00 1
个人感觉 6 楼的道友的说法好,scalability ,stateless ,fault-tolerant
在这三个前提下,部署在 docker 、k8s 是应用层的一种表现形式 公有云、私有云是基础设施的一种表现形式 |
24
lhx2008 2022-05-30 12:44:14 +08:00 via Android
就是区别于传统的 vm 上面运行的程序的模式,scalability ,stateless ,fault-tolerant 总结的挺好,不过实战的时候往往都在开倒车
|
25
chenshun00 2022-05-30 13:05:04 +08:00
问这个问题的应该是程序员吧,云原生我的理解就是一个接口,有很多特性,例如服务发现,弹性伸缩等等,只要能够达到这些特性就可以称之为符合云原生的。 抽象与具体,具体与抽象。
|
26
imycc 2022-05-30 13:23:34 +08:00
我的理解是设计时充分考虑云上部署的需求,充分利用云计算的基础设施的应用,就算云原生。
之前打算把公司某一块业务做容器化改造,但业务有一套自研的调度跟负载均衡逻辑,每台机器上不同应用的部署数量也要遵循一定约束。开了好几次会,最后觉得改造的风险、人力及时间成本,远高于容器化的收益,就算了。 但容器化之后的好处我们也享受不到了。看着其他改造完的业务平时维护那么省心,还是有点不甘心的。 |
27
halfcrazy 2022-05-30 13:40:54 +08:00
自治
|
29
Buges 2022-05-30 14:47:04 +08:00 via Android
比如你在云厂商开虚拟机跑应用,本质上是在兼容你的应用运行环境。而云原生则是原生设计为运行在云厂商的环境中,如 serverless 。
|
31
wzcloud 2022-05-30 20:31:18 +08:00
TM 的,我之前面试天翼云的时候一面的大聪明面试官问过我这个问题。。。
|
32
luffy OP |
34
lance6716 2022-05-30 22:37:28 +08:00 via Android
写程序的时候,考虑的不是内存、磁盘……而是如何容器化、消息队列、对象存储……
|
35
lixintcwdsg 2022-05-30 23:44:39 +08:00
简单来说,就是软件从设计到生产(开发)都是为在云上运行而准备。
这会影响到方方面面。 比如调试是不是还需要本地调试,本地调试就意味着本地可以运行,本地如何云部署后保持一致, 所以本地运行是不是强制启动 docker 拉云厂商的一系列调试环境来启动 还是代码纯本地编辑,远程运行 这就涉及到一系列问题了 同时如果云上跑,那么很多伸缩等问题是不是云上解决了,那么开发语言的特性是不是要根据这种趋势做修改,比如增加云特性的语法糖(比如 FileIO 直接加入对象存储)。 |
36
darkengine 2022-05-31 09:19:36 +08:00
我的理解是,现在只有 cloud functions 算是云原生
|
39
dazhangpan 2022-05-31 11:56:45 +08:00
|
40
DoraMouse 2022-05-31 12:07:29 +08:00
云原生( Cloud Native )可以拆分成「云」和「原生」去看。
「云」相对的就是本地,传统应用都跑在本地服务器上,而云则表示跑在云服务器上。 「原生」则可以简单的理解成出生地的意思,放在云环境中所表达的意思就是:在把应用跑到云服务器上时,应该充分的利用云自身的特点,比如弹性和分布式优势。 如果只是简单的把原来本地跑的业务放到云上,高举“上云”大旗,那只能叫做“拆迁户”,不能叫做云原生;当“上云”的风潮过去后,开始出现了直接就部署在云上的业务,这些业务完全按照“云”的特点去设计,这种是“云”的原住民,可以叫做云原生。 来源: https://wiki.teamssix.com/CloudNative/#_0x02-%E4%BA%91%E5%8E%9F%E7%94%9F%E5%AE%89%E5%85%A8 |
41
sky857412 2022-05-31 12:12:59 +08:00
云原生,我认为是业务系统只需要关注业务,负载均衡,弹性伸缩,服务发现,这些都是由云组件去做。之前没有云的时代,都是自己去实现这些功能,上云后,云厂商会提供这些基础功能。了解 serverless 怎么玩的,云大概就是这样的
|
43
tairan2006 2022-05-31 17:21:45 +08:00
在现在这个时间节点,云原生 == k8s 原生
|