入职一年做的数据开发,hive spark 这些,系统比较成熟,挑战不大,领导也不看好我,遂准备转岗。
公司里数据开发坑比较少,大概率得换了。主要是考虑 java 后台开发,但是一个朋友给我推了个云原生岗位,感觉听起来挺牛的,但我也不太懂。
v 站的朋友们帮忙分析下云原生有前途不?细分岗位有哪些?
1
ica10888 2021-08-25 14:05:01 +08:00
kubernetes 相关,感觉和大数据差不多,只是一个方向而已。
|
2
alexkkaa 2021-08-25 14:07:00 +08:00 via Android
能说人话吗 这个词不知道是谁发明的 估计是传销头目抓耳挠腮忽悠外行的
|
3
securityCoding 2021-08-25 14:12:08 +08:00
|
4
cloudbeyond 2021-08-25 14:20:21 +08:00
|
6
xiadong1994 2021-08-25 14:32:58 +08:00 via iPhone
云原生就是在设计之初就只考虑部署在云计算平台上,并对此做针对性设计。
|
7
XTTX 2021-08-25 14:40:10 +08:00
给你个例子你就大概懂了,gitpod 是 clound native app 。它是个 IDE, 打开是网页,可以直接从 github repo 里打开项目,编译完了可以直接存进去,它还会给你分配要给独立的容器,你可以跑你的程序。你在 gitpod 里 npm run start, 跳出来的不是 localhost:xxxx 而是一个外网网址。 这就是 cloud native 。
|
8
FreeEx 2021-08-25 15:20:04 +08:00
主要有三个方面的定义吧
1. 应用容器化 2. 面向微服务架构 3. 应用支持容器的编排调度 |
9
wangxin13g 2021-08-25 18:55:49 +08:00 1
容器相当于分布式环境下的进程
k8s 相当于分布式环境下的系统 云原生组件相当于分布式环境下的 top iptables |
10
dazhangpan 2021-08-25 19:21:49 +08:00 1
|
11
baiyang256101 2021-08-25 19:22:14 +08:00 via Android
难道是项目从零开始到上线全程云开发部署?👾
|
12
echo1937 2021-08-25 20:34:27 +08:00
https://jimmysong.io/kubernetes-handbook/cloud-native/cloud-native-definition.html
这个链接有初步的阐述,目前来说“云原生”是布道师嘴里最长听到的词, 各种语言、各种框架、各个厂家都在定义和推广自己的“云原生”理念。 |
13
tanhui2333 2021-08-25 20:43:02 +08:00
简单的说下我的理解
云:服务端 原生:服务发现、治理、日志、等不依赖某个具体语言框架的实现,由服务端来组织。由任意语言用最合适粒度来实现某个具体业务 |
14
caoyouming 2021-08-25 21:02:24 +08:00
云原生吧,就是你的应用设计之初就生长在云上,充分利用云的优势,能非常方便的进行应用弹性伸缩等。
然后方向包括:微服务、devops 、持续交付( CICD )、容器化。 然后这个几个点又包含了很多很多分开的点,总之就是原生为云而设计,在云上以最佳姿态运行,充分利用和发挥云平台上的弹性和分布式的优势! |
15
chenshun00 2021-08-25 21:07:44 +08:00
云原声,是一个概念,兄弟们,是一个概念,它描述的是一系列要求,例如服务发现,弹性扩容,自动伸缩等等,是一个描述的缩影,并不是某一项技术的特指。换句话说,可以理解为云原声是一个规范,描述了达到了某些条件的情况下就可以说是云原生,只是现在 k8s 实现了这个"规范",是目前云原生的实现的一个最佳实践,所以大家用这个进行了特指,并不是说 k8s 就代表了云原生,它只是云原生的一个子集。例如 Servlet 只是一个规范,Tomcat 实现了 Servlet 规范这两者这件的关系。
|
16
young1lin 2021-08-25 21:36:27 +08:00 2
云原生,CloudNative,Josh Long 有一本书《 Cloud Native Java 》,我去年看完了,我不建议你看。我把一些重点信息给你说下。其实总结就是,你的应用就是 “长” 在云服务器上的应用,随着云服务器出生而生。
十二要素程序的核心思想 + 使用**声明**的方式来搭建自动化环境,最大限度地减少新加入项目的开发人员的时间和成本。 + 与底层操作系统之间建立清晰的约定,在执行环境之间提供**最大的可移植性**。 + 适合**部署**在现代的**云平台上**,无须提供服务器和系统管理工具。 + **最大程度减少**开发环境与生产环境之间的**区别**,通过**持续部署**获得最大的灵活性。 + 可以在不对工具、架构或开发实践带来重大变动的前提下,进行**水平扩展**。 十二要素程序的实践 | 代码库 | 一份版本控制下的基准代码库,多份部署 | | ----------------- | :------------------------------------------- | | 依赖 | 显示声明和隔离依赖关系 | | 配置 | 在环境中存储配置 | | 后端服务 | 把后端服务当作附加资源 | | 构建、发布、运行 | 严格分离构建和运行阶段 | | 进程 | 将应用程序作为一个或多个无状态进程执行 | | 端口绑定 | 通过端口绑定暴露服务 | | 并发 | 通过进程模型进行扩展 | | 易处理 | 通过快速启动和正常关机来最大限度地提高健壮性 | | 开发 /生产环境一致 | 尽可能保持开发、预发布和生产环境的配置一致 | | 日志 | 将日志视为事件流 | | 管理进程 | 将管理任务作为一次性进程运行 | 构建、发布、运行 **构建阶段** 构建阶段将应用程序的源代码编译或打包到一个程序包中。创建的包被称为一次构建物。 **发布阶段** 发布阶段需要将某次构建与其配置相结合。随后,创建出的发布文件应该可以在某个执行环境中运行。无论是使用版本号还是时间戳,每个版本应该有一个唯一的标识符。每个发布文件都应该被添加到一个目录中,可以通过发布管理工具回滚到之前的发布版本。 **运行阶段** 运行阶段(通常称为运行时)是指在可执行环境中运行一个指定的应用版本。 |
17
young1lin 2021-08-25 21:39:50 +08:00
对了,Cloud Foundry 应该是比较早做的云原生的一家公司,其一的创始人著有《微服务架构设计模式》,其实 Cloud Foundry 很多是 Pivotal 团队的,也就是开发 Spring Boot 的团队。
|
18
FAQ999 2021-08-25 21:49:12 +08:00 1
|
19
chaleaoch 2021-08-25 21:49:30 +08:00
@chenshun00 你说的不对 servlet 是一个规范没错. 云原生有规范吗? 有可落地的协议吗? 没有吧?
|
20
wellwell OP @baiyang256101 我司做的事情应该和阿里云类似,大概是提供基建吧。
|
22
chenshun00 2021-08-26 08:54:23 +08:00
@chaleaoch 我重点在于阐述云原生是一个概念,并不是某一项特定的技术,只是拥有某些性质,虽然没有说是规范,但性质和规范差别其实不大,虽然举例有不恰当之处,但是我觉得也可以说明这个关系了。符合云原生描述的性质 /规范,就可以说应用是云原生的,并不一定说云原生必须得用 k8s
|
23
yalin 2021-08-26 08:59:05 +08:00
CNCF 被 Google 大佬强力充值
|
25
bthulu 2021-08-26 17:09:40 +08:00
就是开发测试部署全部在浏览器里完成, 不再需要本地电脑的支持.
|
26
israinbow 2021-08-26 20:47:58 +08:00
搞云计算也是云原生, 搞集群架构也是云原生, Azure 迁移也是云原生. 面向云服务器的东西你都可以叫云原生, 你看你朋友给你推的岗位用什么技术栈就明白了. 一点好的就是工程周期长, 从设计到实现期间换人麻烦. 前途不好说, 应该比 java 开发有意思, 出了事故还能写事故报告玩, 跟写小说一样🤡.
|
27
wellwell OP @israinbow 谢谢老哥,总算有个正经回答的了。是要去华为云,岗位方向是可以选的(兑不兑现不好说)。不知道您列的这些方向里面,您认为哪个比较有意思,比较有前途呢?
|