公司的技术栈是 micronaut grpc go-gateway k8s,这两天接了 prometheus 进来,组长说这就叫云原生,那到底什么叫云原生???
1
LokiSharp 2020-04-10 09:57:06 +08:00
这得问你们组长
|
2
SpencerCJH OP @LokiSharp :( 不太好意思问
|
3
yannxia 2020-04-10 10:01:16 +08:00 2
CNCF 那个社区给自己撸一个新概念,你说特点吧,我觉得 Docker 友好型。至于其他的倒没有什么特别的。
|
4
SpencerCJH OP @yannxia 好,我去读读他们的文章。
|
5
guyeu 2020-04-10 10:14:21 +08:00
prometheus 是云原生?啊有 K 定米
|
6
SpencerCJH OP |
7
lix7 2020-04-10 10:20:53 +08:00 4
我觉得 @yannxia 描述的就挺对的,个人理解云原生落地的体现出的最基础的特性就是面向 docker 、k8s 、SaaS 、DevOps 开发 SoA 架构(老东西但其实是一个玩意儿),简单来说就是业务无状态、基础设施服务化、CI / CD,屏蔽基础设施细节。比较详细的话是云原生的 12 因素吧,都满足应该就挺原生的? https://12factor.net/zh_cn/
搞不清楚是什么应该也不重要吧,云原生对于开发来说确实是个好事儿,省心。 |
8
SkyYu822 2020-04-10 10:21:52 +08:00 1
以 serverless 为架构的生态体系 举个例子用户使用相关容器云平台(比如以 k8s 为底层)你几乎不能直接去进行物理机或虚拟机的操作 你所关心的只是你的服务而不是服务器 而以此为基础所衍生的生态(监控体系,流量体系等等)就叫做云原生 个人理解
|
9
chendy 2020-04-10 10:22:38 +08:00
https://en.wikipedia.org/wiki/Cloud_native_computing
就一概念,其实并不所谓,你说你是云原生,你就是云原生了 |
12
joyme 2020-04-10 10:26:27 +08:00
云原生技术应该是指基础架构的方案,开发人员不用关心操作系统,网络,存储,集群伸缩这些事儿。容器技术正好最适合这个场景。下面是粘贴的:
云原生应用程序的这些特征是通过各种方式获取的。它通常取决于应用程序的运行位置以及企业流程和文化。以下是实 现云原生应用程序所需特性的常用方法: 微服务 健康报告 遥测数据 弹性 声明式的,而不是反应式的 |
13
SpencerCJH OP @SkyYu822 应该不是,看他发了个[深圳]的帖子,我们在上海[doge]
|
14
Reficul 2020-04-10 10:46:19 +08:00
因为传统运维有困难,按照老思路没法解决。 所以就框定了范围,按照这个套路写代码,满足这个规范就能被 CNCF 全家桶运维起来。
|
15
guyeu 2020-04-10 10:52:51 +08:00
@SpencerCJH #6 这意思是能在容器里跑就是云原生?
|
17
forrestshuang 2020-04-10 11:07:09 +08:00
用 go docker k8s 的都是云原生。。。
|
18
laike9m 2020-04-10 11:10:30 +08:00 via Android
真不是 googler 跳出去开的公司么🤣
|
19
baiyi 2020-04-10 11:11:16 +08:00 1
完全适合在云上使用的技术,就可以叫云原生技术,包括且不限于 容器技术、微服务、服务网格、声明式 API 等。
使用了这些技术的应用,就证明它也适合在云上运行,就可以叫云原声应用。 从 CNCF 上理解的概念 |
20
ujued 2020-04-10 11:22:50 +08:00 via iPhone 1
CNCF 对 CloudNative 的定义:
云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API 。 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。 云原生计算基金会( CNCF )致力于培育和维护一个厂商中立的开源生态系统,来推广云原生技术。我们通过将最前沿的模式民主化,让这些创新为大众所用。 你公司好像是在做云原生落地,就是不知道效果怎样。 |
21
monsterxx03 2020-04-10 11:23:44 +08:00
CNCF 里好多项目其实挺搓的,有点当年 openstack 那感觉.
不过我迁到 k8s 之后, 运维压力其实是比传统的 vm 要轻不少. 个人感觉和传统的区别最大还是 declarative vs imperative, 理论上是只要喊我要什么, 而不关心怎么实现的. 不过对我这种开发部署运维全部自己来的,还是要明白怎么实现的, 不然没法 debug. |
22
Reficul 2020-04-10 11:40:45 +08:00
|
23
SpencerCJH OP @ujued 我还是在校实习生,以前实习 Java 都是 CRUD,现在接触到了这些感觉很新鲜也很有挑战。虽然接入进来代码不用写多少,但是要读很多文档。不过你们说的东西里面很多就不归我管了,都扔给 devops 去了。
|
24
luzemin 2020-04-10 11:56:39 +08:00
基础设施无关型,应用 /服务可以随时创建、随时销毁、随时增加、随时减少
目前就是 [微服务+Docker+K8s] 友好 |
25
nicebird 2020-04-10 15:43:58 +08:00
云原生就是 k8s 不停的自动创建销毁那些云服务,不需要你去搞机器运维了。
|
26
exploreXin 2020-04-10 16:03:20 +08:00
云原生 ,https://www.cnblogs.com/IT-Evan/p/CloudNative.html, 看这一篇就够了,不知道你们组长对云原生具体如何理解,但是一个技术栈就说是云原生,有点欠缺考虑,可能你们组长只是简单跟你们说了一下自己的理解,没有详细阐述其中的内涵。
|
27
cozof 2020-04-10 18:38:08 +08:00 via iPhone
为云而生的基础服务
|
28
vindurriel 2020-04-10 18:38:25 +08:00 via iPhone
强依赖云服务 离开云就跑不起来的
|
29
RRRSSS 2020-04-10 20:07:36 +08:00
我理解其实是类似 k8s 的那一套容器编排系统,可以做到动态扩容、缩容。
开发者面对底层不管是 1000 台机器还是 1 台机器,都是一套操作,一套理念。 |
30
v2Geeker 2020-04-10 20:17:34 +08:00
我的理解是,云原生不依赖任何云(如阿里云、aws 等)的固有特性,依靠和围绕自身的基础设施(如 k8s 等)进行编程和开发(如常见的有服务发现能力、自动扩缩容能力等),这样就能做到完全融入基础环境,充分利用基础设施的能力。
|
31
hmxxmh 2020-04-10 22:37:41 +08:00
接入了 promethous,公司还有运维开发的坑吗
|
32
chihiro2014 2020-04-10 22:43:38 +08:00
其实是个名词,具体是啥不懂,但是可以知道的是这可以圈钱
|
33
cabing 2020-04-10 22:44:05 +08:00
简单的说就是面向云平台开发的应用。
|
34
WispZhan 2020-04-10 23:01:42 +08:00
prometheus 已经很成熟了
|
35
alexsunxl 2020-04-11 00:34:28 +08:00 2
可以简单的理解成字面意思
天生就是在云端上的应用, 就在云原生。而不是后面迁移改造上云的 |
36
woncode 2020-04-11 01:20:32 +08:00 via Android
@alexsunxl 这个理解角度好,从词语最初的含义来理解,毕竟那些人命名的时候也不是张嘴就来。
原生这个词开发领域就很常见,本意是天生就含有 /支持某种特性。 所以,云原生应该指天生就支持使用云服务的应用 |
37
ParadiseDS 2020-04-11 01:28:48 +08:00 via Android
赞同 35 楼,用英文你就好理解了,cloud native,这个 native,就和 native android app 里的 native 是一样的意思,对比大众点评 app 和大众点评小程序,你细品
|
38
jack3801283 2020-04-11 10:16:54 +08:00
首先,K8+容器,慢慢取代了传统的 IDC+机架式服务器。
以后,所有在这个基础上搭建的服务,就是云原生。 IT 领域的概念太多了,有严重的炒作嫌疑。 |
39
W1angMh 2020-04-11 15:51:32 +08:00
简单理解就是 为了让应用开发完可以直接上云部署
|
40
yangbonis 2020-04-11 15:55:43 +08:00 via iPhone
云原生就和美国本地人是一个意思,顺便可以发明像 POSIX 原生,linux 原生这种词。 与原生相对应的是 port 。
|
41
SFGarfield 2020-04-12 14:05:59 +08:00 1
微服务部署,需要准备网关接入,服务治理( rpc,监控),各种中间件接入( db,cache,mq )。
原来的方式,云服务只提供最基础的虚拟化和网络服务,中间件是有其他团队来提供,中间件和云服务的集成可能没有那么好,在解决类似服务的弹性扩容的时候,存在相关的问题。 云原生的核心思想,云服务不止提供基础的虚拟化和网络服务,同时将一系列微服务部署需要的功能进行集成。这样让服务的开发者不在感知一些中间件的接入。比如说你的单个应用内不需要在准备很多的 rpc 、cache 、mq 的 client 了。这些都下沉到基础服务里去。使用者的角度就是无脑写业务代码就完事了,不再在单体应用开发层面感知这些中间件,服务治理的接入了。而是挪到了配置后台层面。 |
42
SpencerCJH OP @SFGarfield 深有同感,组件都变成了配置,不体现在代码里而体现在 CI/CD,DevOps 的工作里了.
|
43
SpencerCJH OP @ParadiseDS 口口口了,懂了
|
44
ReallllQCloud 2020-04-22 16:14:11 +08:00
炒作最凶的「云原生」就是要你用容器+K8S,然后所有中间件、运维组件都要用 CNCF 推荐的
你们组长也没说错,但是其实这也不是啥主流,采用这个所谓「云原生」的大厂其实也不多,也就是 Google 和容器利益相关企业在拼命推,然后一群靠炒作吃饭的「专家」「大牛」靠这个恰烂钱 |
45
SpencerCJH OP @ReallllQCloud 哈哈哈
|
46
YaakovZiv 2020-07-30 10:04:17 +08:00
阿里对云原生的定义:
''' 很多人都会问“到底什么是云原生?” 实际上,云原生是一条最佳路径或者最佳实践。更详细的说,云原生为用户指定了一条低心智负担的、敏捷的、能够以可扩展、可复制的方式最大化地利用云的能力、发挥云的价值的最佳路径。 因此,云原生其实是一套指导进行软件架构设计的思想。按照这样的思想而设计出来的软件:首先,天然就“生在云上,长在云上”;其次,能够最大化地发挥云的能力,使得我们开发的软件和“云”能够天然地集成在一起,发挥出“云”的最大价值。 所以,云原生的最大价值和愿景,就是认为未来的软件,会从诞生起就生长在云上,并且遵循一种新的软件开发、发布和运维模式,从而使得软件能够最大化地发挥云的能力。说到了这里,大家可以思考一下为什么容器技术具有革命性? 其实,容器技术和集装箱技术的革命性非常类似,即:容器技术使得应用具有了一种“自包含”的定义方式。所以,这样的应用才能以敏捷的、以可扩展可复制的方式发布在云上,发挥出云的能力。这也就是容器技术对云发挥出的革命性影响所在,所以说,容器技术正是云原生技术的核心底盘。 ''' |