到底什么是云原生

2022-05-30 09:42:19 +08:00
 luffy

定义在这里

https://docs.microsoft.com/zh-cn/dotnet/architecture/cloud-native/definition

然而感觉还是很模糊。

哪位可以说说自己的理解?

6492 次点击
所在节点    程序员
44 条回复
elintwenty
2022-05-30 11:48:12 +08:00
elintwenty
2022-05-30 11:51:11 +08:00
简单来说就是天生在云,以容器、容器编排等云原生提到的基础性组件为默认组件,云原生应用天生接入这些功能,没了云就用不了
DragonCat
2022-05-30 11:59:15 +08:00
个人感觉 6 楼的道友的说法好,scalability ,stateless ,fault-tolerant
在这三个前提下,部署在 docker 、k8s 是应用层的一种表现形式
公有云、私有云是基础设施的一种表现形式
lhx2008
2022-05-30 12:44:14 +08:00
就是区别于传统的 vm 上面运行的程序的模式,scalability ,stateless ,fault-tolerant 总结的挺好,不过实战的时候往往都在开倒车
chenshun00
2022-05-30 13:05:04 +08:00
问这个问题的应该是程序员吧,云原生我的理解就是一个接口,有很多特性,例如服务发现,弹性伸缩等等,只要能够达到这些特性就可以称之为符合云原生的。 抽象与具体,具体与抽象。
imycc
2022-05-30 13:23:34 +08:00
我的理解是设计时充分考虑云上部署的需求,充分利用云计算的基础设施的应用,就算云原生。

之前打算把公司某一块业务做容器化改造,但业务有一套自研的调度跟负载均衡逻辑,每台机器上不同应用的部署数量也要遵循一定约束。开了好几次会,最后觉得改造的风险、人力及时间成本,远高于容器化的收益,就算了。
但容器化之后的好处我们也享受不到了。看着其他改造完的业务平时维护那么省心,还是有点不甘心的。
halfcrazy
2022-05-30 13:40:54 +08:00
自治
tramm
2022-05-30 13:44:13 +08:00
@saltbo 有道理啊
Buges
2022-05-30 14:47:04 +08:00
比如你在云厂商开虚拟机跑应用,本质上是在兼容你的应用运行环境。而云原生则是原生设计为运行在云厂商的环境中,如 serverless 。
Alliot
2022-05-30 15:33:47 +08:00
@sutra 云提供商是云,企业自己有能力也可以构建云的。。。所以其实不用考虑这个问题。
wzcloud
2022-05-30 20:31:18 +08:00
TM 的,我之前面试天翼云的时候一面的大聪明面试官问过我这个问题。。。
luffy
2022-05-30 20:40:36 +08:00
@wzcloud 实在抱歉,我没能有机会在你面试前就把这个贴子发出来,并且让你优先看到。

如果同样的问题再问你的话,知道怎么回答了嘛?
wzcloud
2022-05-30 20:50:32 +08:00
@luffy 没用的,你怎么知道面试官看的是这篇文章?要是看的和面试官看的八股文不一致,还是不对。
lance6716
2022-05-30 22:37:28 +08:00
写程序的时候,考虑的不是内存、磁盘……而是如何容器化、消息队列、对象存储……
lixintcwdsg
2022-05-30 23:44:39 +08:00
简单来说,就是软件从设计到生产(开发)都是为在云上运行而准备。
这会影响到方方面面。
比如调试是不是还需要本地调试,本地调试就意味着本地可以运行,本地如何云部署后保持一致,
所以本地运行是不是强制启动 docker 拉云厂商的一系列调试环境来启动
还是代码纯本地编辑,远程运行
这就涉及到一系列问题了
同时如果云上跑,那么很多伸缩等问题是不是云上解决了,那么开发语言的特性是不是要根据这种趋势做修改,比如增加云特性的语法糖(比如 FileIO 直接加入对象存储)。
darkengine
2022-05-31 09:19:36 +08:00
我的理解是,现在只有 cloud functions 算是云原生
xhinliang
2022-05-31 09:53:50 +08:00
@xinhaiw 你说的跟云原生有什么关系么?
xinhaiw
2022-05-31 10:02:10 +08:00
@xhinliang java boy 有什么高见
dazhangpan
2022-05-31 11:56:45 +08:00
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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/856133

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX