V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wellwell
V2EX  ›  程序员

云原生到底是做啥的,有前途吗?

  •  
  •   wellwell · 148 天前 · 4133 次点击
    这是一个创建于 148 天前的主题,其中的信息可能已经有所发展或是发生改变。

    入职一年做的数据开发,hive spark 这些,系统比较成熟,挑战不大,领导也不看好我,遂准备转岗。

    公司里数据开发坑比较少,大概率得换了。主要是考虑 java 后台开发,但是一个朋友给我推了个云原生岗位,感觉听起来挺牛的,但我也不太懂。

    v 站的朋友们帮忙分析下云原生有前途不?细分岗位有哪些?

    第 1 条附言  ·  147 天前
    谢谢大家,看了几个描述,感觉差不多理解了。

    可能是要做云原生的基建吧,我司是家云服务提供商,有前途不,和 java 后台比起来。
    29 条回复    2021-08-29 08:33:47 +08:00
    ica10888
        1
    ica10888  
       148 天前
    kubernetes 相关,感觉和大数据差不多,只是一个方向而已。
    alexkkaa
        2
    alexkkaa  
       148 天前 via Android
    能说人话吗 这个词不知道是谁发明的 估计是传销头目抓耳挠腮忽悠外行的
    wellwell
        5
    wellwell  
    OP
       148 天前 via iPhone
    @alexkkaa 我也被搞晕了 查了一下没查明白。感觉是一个很大的方向
    xiadong1994
        6
    xiadong1994  
       148 天前 via iPhone
    云原生就是在设计之初就只考虑部署在云计算平台上,并对此做针对性设计。
    XTTX
        7
    XTTX  
       148 天前
    给你个例子你就大概懂了,gitpod 是 clound native app 。它是个 IDE, 打开是网页,可以直接从 github repo 里打开项目,编译完了可以直接存进去,它还会给你分配要给独立的容器,你可以跑你的程序。你在 gitpod 里 npm run start, 跳出来的不是 localhost:xxxx 而是一个外网网址。 这就是 cloud native 。
    FreeEx
        8
    FreeEx  
       148 天前
    主要有三个方面的定义吧
    1. 应用容器化
    2. 面向微服务架构
    3. 应用支持容器的编排调度
    wangxin13g
        9
    wangxin13g  
       147 天前   ❤️ 1
    容器相当于分布式环境下的进程
    k8s 相当于分布式环境下的系统
    云原生组件相当于分布式环境下的 top iptables
    baiyang256101
        11
    baiyang256101  
       147 天前 via Android
    难道是项目从零开始到上线全程云开发部署?👾
    echo1937
        12
    echo1937  
       147 天前
    https://jimmysong.io/kubernetes-handbook/cloud-native/cloud-native-definition.html

    这个链接有初步的阐述,目前来说“云原生”是布道师嘴里最长听到的词,

    各种语言、各种框架、各个厂家都在定义和推广自己的“云原生”理念。
    tanhui2333
        13
    tanhui2333  
       147 天前
    简单的说下我的理解
    云:服务端
    原生:服务发现、治理、日志、等不依赖某个具体语言框架的实现,由服务端来组织。由任意语言用最合适粒度来实现某个具体业务
    caoyouming
        14
    caoyouming  
       147 天前
    云原生吧,就是你的应用设计之初就生长在云上,充分利用云的优势,能非常方便的进行应用弹性伸缩等。
    然后方向包括:微服务、devops 、持续交付( CICD )、容器化。
    然后这个几个点又包含了很多很多分开的点,总之就是原生为云而设计,在云上以最佳姿态运行,充分利用和发挥云平台上的弹性和分布式的优势!
    chenshun00
        15
    chenshun00  
       147 天前
    云原声,是一个概念,兄弟们,是一个概念,它描述的是一系列要求,例如服务发现,弹性扩容,自动伸缩等等,是一个描述的缩影,并不是某一项技术的特指。换句话说,可以理解为云原声是一个规范,描述了达到了某些条件的情况下就可以说是云原生,只是现在 k8s 实现了这个"规范",是目前云原生的实现的一个最佳实践,所以大家用这个进行了特指,并不是说 k8s 就代表了云原生,它只是云原生的一个子集。例如 Servlet 只是一个规范,Tomcat 实现了 Servlet 规范这两者这件的关系。
    young1lin
        16
    young1lin  
       147 天前   ❤️ 2
    云原生,CloudNative,Josh Long 有一本书《 Cloud Native Java 》,我去年看完了,我不建议你看。我把一些重点信息给你说下。其实总结就是,你的应用就是 “长” 在云服务器上的应用,随着云服务器出生而生。


    十二要素程序的核心思想

    + 使用**声明**的方式来搭建自动化环境,最大限度地减少新加入项目的开发人员的时间和成本。
    + 与底层操作系统之间建立清晰的约定,在执行环境之间提供**最大的可移植性**。
    + 适合**部署**在现代的**云平台上**,无须提供服务器和系统管理工具。
    + **最大程度减少**开发环境与生产环境之间的**区别**,通过**持续部署**获得最大的灵活性。
    + 可以在不对工具、架构或开发实践带来重大变动的前提下,进行**水平扩展**。

    十二要素程序的实践

    | 代码库 | 一份版本控制下的基准代码库,多份部署 |
    | ----------------- | :------------------------------------------- |
    | 依赖 | 显示声明和隔离依赖关系 |
    | 配置 | 在环境中存储配置 |
    | 后端服务 | 把后端服务当作附加资源 |
    | 构建、发布、运行 | 严格分离构建和运行阶段 |
    | 进程 | 将应用程序作为一个或多个无状态进程执行 |
    | 端口绑定 | 通过端口绑定暴露服务 |
    | 并发 | 通过进程模型进行扩展 |
    | 易处理 | 通过快速启动和正常关机来最大限度地提高健壮性 |
    | 开发 /生产环境一致 | 尽可能保持开发、预发布和生产环境的配置一致 |
    | 日志 | 将日志视为事件流 |
    | 管理进程 | 将管理任务作为一次性进程运行 |

    构建、发布、运行

    **构建阶段**

    构建阶段将应用程序的源代码编译或打包到一个程序包中。创建的包被称为一次构建物。

    **发布阶段**

    发布阶段需要将某次构建与其配置相结合。随后,创建出的发布文件应该可以在某个执行环境中运行。无论是使用版本号还是时间戳,每个版本应该有一个唯一的标识符。每个发布文件都应该被添加到一个目录中,可以通过发布管理工具回滚到之前的发布版本。

    **运行阶段**

    运行阶段(通常称为运行时)是指在可执行环境中运行一个指定的应用版本。
    young1lin
        17
    young1lin  
       147 天前
    对了,Cloud Foundry 应该是比较早做的云原生的一家公司,其一的创始人著有《微服务架构设计模式》,其实 Cloud Foundry 很多是 Pivotal 团队的,也就是开发 Spring Boot 的团队。
    FAQ999
        18
    FAQ999  
       147 天前   ❤️ 1
    chaleaoch
        19
    chaleaoch  
       147 天前
    @chenshun00 你说的不对 servlet 是一个规范没错. 云原生有规范吗? 有可落地的协议吗? 没有吧?
    wellwell
        20
    wellwell  
    OP
       147 天前
    @baiyang256101 我司做的事情应该和阿里云类似,大概是提供基建吧。
    holulu
        21
    holulu  
       147 天前
    @chaleaoch 都还在频繁演化的事物,肯定都没有规范。看哪个大厂最先垄断之后,它就是事实上的规范了。
    chenshun00
        22
    chenshun00  
       147 天前
    @chaleaoch 我重点在于阐述云原生是一个概念,并不是某一项特定的技术,只是拥有某些性质,虽然没有说是规范,但性质和规范差别其实不大,虽然举例有不恰当之处,但是我觉得也可以说明这个关系了。符合云原生描述的性质 /规范,就可以说应用是云原生的,并不一定说云原生必须得用 k8s
    yalin
        23
    yalin  
       147 天前
    CNCF 被 Google 大佬强力充值
    chaleaoch
        24
    chaleaoch  
       147 天前
    @holulu 微服务这么多年了有规范吗?
    bthulu
        25
    bthulu  
       147 天前
    就是开发测试部署全部在浏览器里完成, 不再需要本地电脑的支持.
    israinbow
        26
    israinbow  
       146 天前
    搞云计算也是云原生, 搞集群架构也是云原生, Azure 迁移也是云原生. 面向云服务器的东西你都可以叫云原生, 你看你朋友给你推的岗位用什么技术栈就明白了. 一点好的就是工程周期长, 从设计到实现期间换人麻烦. 前途不好说, 应该比 java 开发有意思, 出了事故还能写事故报告玩, 跟写小说一样🤡.
    wellwell
        27
    wellwell  
    OP
       146 天前
    @israinbow 谢谢老哥,总算有个正经回答的了。是要去华为云,岗位方向是可以选的(兑不兑现不好说)。不知道您列的这些方向里面,您认为哪个比较有意思,比较有前途呢?
    israinbow
        28
    israinbow  
       146 天前
    @wellwell #27 这个我不好妄言啊, 没有在大公司干过云服务方面的经历, 只有给创业的干过基础服务架构, 只能勉强推荐这个方向了. 我工作性质属于是从买机柜开始的造服务器那种, 涉及东西蛮多的, 要学很多很有意思的技术, 还能遇到奇形怪状的问题, 比如某次 hadoop 跳版本滚动升级失败, 几个软件版本不一致导致守护进程无限挂起之类的事故...🙄

    最后据说大公司的职位分的更细, 用到的技术会更专一更有深度吧, 可能会和想象中的不太一样, 但总之架构干好了肯定人上人了. 希望对你有帮助.
    holulu
        29
    holulu  
       144 天前
    @chaleaoch 哪个厂垄断了微服务了,它就是规范了。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3032 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:39 · PVG 18:39 · LAX 02:39 · JFK 05:39
    ♥ Do have faith in what you're doing.