云原生的“狂飙”,程序员该如何应对?

9月26日~9月28日,云原生计算基金会(CNCF)的顶级会议在上海召开,这次会议不同以往,实现了三会合一:KubeCon+云原生大会+开源峰会

盛会聚集了很多使用云原生技术和开源技术的技术人员,既有各种各样,涵盖各个领域的讲座,又有各种精彩的展示和可以亲自动手的实践,非常热闹,干货很多。

6e0c488ef8bf7be10c07c00562502577.jpeg

做后端开发的肯定知道k8s,k8s就是CNCF基金会下最知名的项目,CNCF是个非盈利的组织,成立于2015年,它是Linux基金会旗下最大的开源子基金会,也是最受关注,发展最快的基金会。 

每次想到CNCF,我脑海中的第一印象就是这个图:

2b64fa56214a0240bda9b5aaa850aa8c.png

173个开源项目!覆盖了云原生的方方面面,项目太多,都有点儿密集恐惧症了!

我从来没有见过一个基金会,下面能有这么多的项目!

一方面说明CNCF确实组织得很好,另一方面也说明得到了全世界各大公司的支持,其中也包括很多中国企业的贡献。

cfafd4abafc33cd45a513a563bcd8969.png

在这次会议上,Linux基金会的CTO,负责CNCF的Chris Aniszczyk分享了云原生的发展历程。

在云计算的早期,主要是像Sun、VMWare这些公司在做,实现的是一些封闭的特性,亚马逊的IaaS,HEROKU的PaaS,OpenStack出现以后,云计算开始出现了多样性。

而Docker和K8S的出现,直接催生了CNCF。

5ec0b5ea3bae3c6906f2ef9c684f07f1.png

ea148e093894aabcb52a61e9f06810c1.png

随后WebAssembly、Knative、FireCracker、K3S、OpenTelemetry、eBPF、WASI如雨后春笋出现,极大地丰富了云原生的阵营。

4f061f61c120c18c995125319ad13432.png

在所有的项目中,Kubernetes可能是最知名的,在我们印象中,Kubernetes一直是运行在服务器端,运行在数据中心里的,实际上,k8s也在走着和Linux类似的道路,从服务器端走向嵌入式,走向物联网的边缘计算

比如华为捐献给CNCF的开源项目KubeEdge,就是全球首个基于 Kubernetes 扩展的,提供云边协同能力的开放式边缘计算平台,它实现了云边协同、边缘节点离线自治、设备管理等重要功能,并且特别轻量化。

b19db2ba89f9439b4ce2553cf0bcad76.png

特别值得一提的是,在CNCF的项目中,中国程序员的代码贡献在过去的五六年间大幅增长,国内的优秀公司和程序员已经融入到业界领先的开源技术中,相信中国的开发人员在未来能成为中坚力量,甚至领导者。

d29c7bdb081cb9556b6cf9e5fc32685b.png

还有这几年火热的WebAssembly ,最早主要运行在浏览器中,用于那些对性能要求很高的Web应用,如今也逐渐脱离了浏览器的桎梏。

SlashData向云原生计算基金会提交的《2023 WebAssembly 现状报告》显示,WebAssembly在数据可视化(35%)、物联网(32%)、人工智能(30%)、后端服务(27%)以及边缘计算(25%)等领域开始大放异彩:

448731f59b0650e34569e832ffcb7c34.png

可见,一个优秀的技术总是“无孔不入”的,强烈建议小伙伴们关注一下。

除了云原生之外,OpenJS基金会执行董事Ranny Haiby带来的分享也非常精彩。

OpenJS基金会是由Node.js基金会和JS基金会合并而来,下面有41个对Web应用非常重要的项目,比如我们熟知的Node.js、jQuery、Electron、ESLint等。

61f33bad1dab847f036efc9d09fa8a56.png

说实话,JavaScript已经非常流行了,它统治了Web端,全世界19亿个网站中,98%都在用JavaScript。它通过Node.js进入了服务器端,通过Electron又占据了桌面应用。

Jeff Atwood说:任何可以用 JavaScript 来写的应用,最终都将用 JavaScript 来写。

但是我们要进入AI时代,云计算时代,元宇宙时代,JavaScript还能像现在这样这样站在时代潮头吗? 

e904b4f717529b11519788ddf09fbfda.png

答案是肯定的,Ranny提到,JavaScript可以用在AI中,比如TensorFlow.js就是一个开源的基于硬件加速的JavaScript库,用于训练和部署机器学习模型。

44505523fbba31b73b50f86fed2a0086.png

而Node.js可以借助容器化轻松地把应用部署在云端,在元宇宙中,JavaScript也经常被用于增加虚拟对象的交互性。

JavaScript在新时代大有可为,但是JavaScript也有一个非常烦人的问题:现在NPM有320万个JavaScript包,数量非常惊人,不过这些NPM包之间存在着烦人的传递依赖关系。

1b481ad03716dd229e25d37006189b94.png

统计显示,平均每个JavaScript有高达683个传递依赖,远远高于Java、Python、PHP等其他编程语言。

39be4d547121b60fd61f81d39743c41e.png

而75%的漏洞恰恰发生在这些传递依赖中,发生在其中的恶意攻击每年的增长率高达742%,这是一个非常惊人的数字。

93be4c5f6fc3857b26396385b5da13e1.png

所以,安全将会是OpenJS的一个重要关注点,OpenJS专门成立了安全委员会和工作组,帮助大家升级老旧基础设施,建立模型来追踪安全性。

在行业内,OpenJS基金会也会和其他伙伴如W3C、OpenSSF、OWASP一起共同努力,提升安全性。

大会还有一个重要的主题是Linux基金会下属的网络(LF Networking)和边缘计算(LF Edge)。

LF Networking是全球最大的开源网络项目聚集地,致力于提供一个端到端的开源软件集成解决方案,LF Edge则为统一边缘计算铺平道路。LF Networking 和 LF Edge下的项目都增长非常迅速,并且吸纳和资助了像Nephio、CAMARA这样的新项目。

2023年是采用5G、边缘计算和物联网部署的元年,所有这些技术都离不开开放解决方案、开放协作和开放社区,开源软件现已成为包括政府和企业在内的各行各业的基础。

一场会议下来,学习到很多东西,也感触很多,云原生是未来的技术趋势,开源软件则是其中的关键,在这些领域已经看到了很多中国的参与者,但是还是希望在Linux基金会,CNCF基金会,OpenJS基金会听到更多的来自中国的声音,看到中国公司和个人更多的贡献,成为骨干的力量,甚至领导者,让我们大家一起努力吧!

猜你喜欢

转载自blog.csdn.net/coderising/article/details/133397287