AI & Big Data 2024年11月29日
雲原生技術關鍵下一步
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文回顾了JavaScript和PHP发明人对网页开发未来趋势的预测,以及WebAssembly技术从诞生到如今成为云原生世界要角的历程。WebAssembly最初是为了提升JavaScript执行效率而诞生,后发展成为一种跨语言、跨平台的应用执行环境,可以显著提升网页应用速度,并被广泛应用于大型网页应用、AI推论等领域。WebAssembly的轻量、快速、安全和跨平台特性,使其成为云原生时代的重要技术,并被Gartner列为即将进入成熟期的关键技术之一,未来将在全球范围内带来变革性影响。

🤔 **WebAssembly起源于提升JavaScript执行效率的需求,最初通过Asm.js等技术实现。** 为了解决网页应用速度瓶颈,WebAssembly技术应运而生,它允许浏览器直接执行二进制格式的代码,从而大幅提升网页应用的运行速度。

🚀 **WebAssembly逐渐发展成为一种跨语言、跨平台的应用执行环境。** WebAssembly不再局限于JavaScript,任何语言都可以编译成WebAssembly代码,并可以在任何支持WebAssembly的平台上运行,例如浏览器、服务器和桌面设备。

💡 **WebAssembly在大型网页应用、AI推论等领域获得广泛应用。** Google地球、Google Sheets、Web版Photoshop等应用都使用了WebAssembly技术来提升性能。生成式AI领域也开始利用WebAssembly的轻量、高速特性,实现快速部署和推论。

☁️ **WebAssembly成为云原生世界的重要技术,并被Gartner列为即将进入成熟期的关键技术之一。** WebAssembly的轻量、快速、安全和跨平台特性,使其成为云原生时代的重要技术,未来将在全球范围内带来变革性影响。

🖥️ **WebAssembly在容器与云原生领域受到重视,被视为K8s未来十年的发展方向之一。** 国外企业已开始使用WebAssembly来简化部署和管理工作,未来WebAssembly将在容器与云原生领域发挥更大的作用。

2015年,剛好是JavaScript和PHP問世的20 周年,我們邀來這兩大語言的發明人,JavaScript之父Brendan Eich和PHP之父Rasmus Lerdorf,擔任Modern Web開發大會的主題講者。大家最好奇的問題是,這兩個語言下一個十年、二十年會怎麼發展?中午找來幾位開發社群成員,與兩大開發教父一起用餐,兩位大師除了大談爸爸經和開發圈秘辛之外,他倆不約而同地提到,效能,是網頁開發語言接下來最重要的課題。Rasmus Lerdorf演講中展示了當年最新發表的PHP 7(現在已經到8.4了),背後有哪些優化設計,可以讓大型網站服務的執行效能快一倍,也讓PHP更適合用來打造微服務架構的應用。Brendan Eich更絕,直接在演講中,在臺上玩起第一人稱射擊遊戲,全場觀眾大吃一驚,包括坐在前幾排的我。這款操作靈巧,畫面流暢的3D互動遊戲,竟然是跑在瀏覽器中的Web應用。秘訣就是這款應用用了支援Asm.js的遊戲引擎Unity與Unreal。透過編譯JavaScript子集合的作法,讓JavaScript執行效率幾乎跟Bytecode程式一樣。一個月後,JavaScript之父和四大瀏覽器平臺業者聯手,發起了W3C WebAssembly社群小組,想要重新發明JavaScript網頁應用,他以WebAssembly來命名這項新技術,顧名思義,就是Web的Assembly(組合語言)形式,要讓網頁應用也能擁有二進位Bytecode的執行格式。不過,WebAssembly的做法跟JavaScript子集合有本質上的不同,Brendan Eich指出,WebAssembly直接定義了一個新的網頁執行層,而非JavaScript子集合,讓瀏覽器能直接執行二進位檔案格式的WebAssembly檔案,來達桌面軟體般的速度。他更點出了一個趨勢,WebAssembly技術不限於JavaScript,而是任何語言都可以用的技術。兩年後,各大瀏覽器紛紛支援這項新的W3C標準,不少科技公司,都用WebAssembly來打造大型網頁應用,或是需要龐大運算的線上服務。Google就是其中一家。Google地球就是靠V8引擎的WebAssembly多執行緒支援,才在瀏覽器中實作出任意放大縮小的飛行視角操作。Google Sheets則是用Wasm封裝Java計算引擎,讓超大型試算表的計算速度提高了1.8倍。Adobe花了很多年,想要將設計圈最重要的軟體Photoshop搬上雲端,一直克服不了JavaScript的效能問題,後來找Google幫忙,改用Wasm技術,終於在2021年打造出Web版Photoshop測試版,去年正式推出。 2019年,Mozilla聯手雲端新創Fastly,將Wasm帶出瀏覽器以外的世界,發表了WASI(WebAssembly System Interface)專案,透過獨立執行的runtime程式和命令列工具,不需要瀏覽器,可以直接在桌機或伺服器端執行Wasm應用。這一步讓Wasm成了雲原生世界的要角。這個原本在瀏覽器中的安全沙盒技術,轉而可以在任何地方,提供一個輕量、快速、安全、跨平臺的應用程式執行環境。這兩年甚至開始具備跨語言能力,可以讓多個語言的Wasm檔案,只靠同一個runtime,在單一隻應用中互相互動,就像同款語言開發的元件一樣。生成式AI開發圈也看上Wasm的輕薄短小,高速冷啟動能力。現在若想用GPU來執行一隻AI推論程式,除了開發者自己的程式碼之外,還需要Nvidia的CUDA runtime、AI技術框架如PyTorch或TensorFlow函式庫,加起來的容器映像檔,最少也要4.8GB,若再加上所用的LLM模型檔案可能多達10GB,想要執行一隻容器化的AI推論應用,至少要15GB,冷啟動的時間往往得花上30秒,甚至好幾分鐘。常見做法是,提前啟動AI推論的服務來待命,這也限制了AI推論的部署和執行模式。但若改用Wasm技術來封裝AI推論應用,Wasm平臺新創Fermyon技術長Radu Matie指出,只需要數MB檔案大小,冷啟動可以大幅縮短到千分之幾秒,可以切割出短暫的GPU算力,來提供「剛好即時(Just in time)」的AI推論回應。甚至今年還出現了Wasm打包的AI推論框架LlamaEdge,包括了一套10億參數量的Llama 2模型,檔案大小只有30MB,可以提供GPU原生應用執行速度。Wasm可以成為GAI快速部署到不同環境、提供快速推論的關鍵基礎環境。也難怪,Gartner在2024年新興科技發展周期報告中,特別將WebAssembly和GenAI並列為唯二,跨出「期望過高的巔峰期」,即將進入技術成熟度曲線的「幻滅期」,意味著這兩項技術已經度過了炒作階段,接下來經過一段時間改善和優化,就會進入穩定發展的成熟期,最快2~5年,就會對全球帶來變革式的影響。11月剛在鹽湖城落幕的KubeCon北美大會,WebAssembly更成了這場容器與雲原生大會最熱門的技術話題,被視為K8s未來十年的三大發展方向之一,與eBPF、IT永續並列。國外也有企業開始採用這項技術,例如高盛集團有個每天數百萬次呼叫的開發者平臺,用不同種語言開發的API外掛,都全面改用Wasm來封裝,大幅簡化了部署和管理的工作。K8s、容器技術是許多臺灣企業數位轉型,推動IT現代化所用的主流、核心技術,但是,雲原生的下一波技術WebAssembly開始成熟,值得大家留意!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

WebAssembly JavaScript 云原生 浏览器 AI
相关文章