3
發(fā)布日期:2024-09-16 06:17 瀏覽次數(shù):
12 月 19 日,騰訊在 2020 Techo Park 開發(fā)者大會(huì)上集中發(fā)布了三大開源項(xiàng)目。其中, 云開發(fā)CloudBase Framework 作為騰訊開源的國(guó)內(nèi)首個(gè)基于 Serverless 架構(gòu)的云原生一體化部署工具,引起了眾多開發(fā)者的關(guān)注。
Serverless 是由云基礎(chǔ)設(shè)施服務(wù)提供商 Iron.io 副總裁 Ken 在 2012 年提出的概念,為云中運(yùn)行的應(yīng)用程序描述了一種全新的系統(tǒng)體系架構(gòu)。此后,眾多云服務(wù)廠商將 Serverless 概念逐步落地,陸續(xù)推出了基于 Serverless 的 FaaS(函數(shù)即服務(wù))產(chǎn)品。經(jīng)過 8 年的發(fā)展,Gartner 報(bào)告顯示 2020 年全球已有 20% 的企業(yè)采用 Serverless技術(shù)部署業(yè)務(wù)。Serverless 架構(gòu)已被業(yè)內(nèi)認(rèn)為是引領(lǐng)云原生下一個(gè)十年的發(fā)展潮流。
傳統(tǒng)的業(yè)務(wù)如網(wǎng)站、后端服務(wù)等,通過現(xiàn)代化的 Serverless 技術(shù)能夠讓開發(fā)者無須關(guān)心服務(wù)器搭建和管理,只需編寫業(yè)務(wù)代碼和調(diào)用云平臺(tái)原生提供的云能力,就可以快速搭建完整的業(yè)務(wù)應(yīng)用,降低開發(fā)成本,提升開發(fā)效率,同時(shí)在服務(wù)器和系統(tǒng)管理方面節(jié)省資源。
國(guó)內(nèi)的 Serverless 生態(tài)建設(shè)起步較晚,隨著微信和騰訊云共同開發(fā)的小程序云開發(fā)的推出,帶來了超過100萬開發(fā)者使用,大力普及了對(duì)Serverless的認(rèn)識(shí)。然而市面上相關(guān)的工具鏈并不完善,這導(dǎo)致用戶在遷移至 Serverless 架構(gòu)的過程中面臨開發(fā)和部署難度大、成本高等問題。
據(jù)介紹,云開發(fā)CloudBase Framework 是一款由騰訊開源的云原生一體化部署工具,支持前后端應(yīng)用一鍵部署,能夠幫助開發(fā)者快速將應(yīng)用無縫部署在 Serverless 架構(gòu)的云開發(fā)(FaaS + CaaS + BaaS)平臺(tái)上,享受免運(yùn)維、高性能、高可靠性、可彈性擴(kuò)縮容的的應(yīng)用體驗(yàn)。目前該項(xiàng)目已支持一鍵部署網(wǎng)站、Next SSR、Node、Dart、Deno 等應(yīng)用。
云開發(fā)CloudBase Framework 的主要特性是其首創(chuàng)的前后端一體化一鍵部署功能。傳統(tǒng)業(yè)務(wù)如網(wǎng)站、服務(wù)端等在遷移至云平臺(tái)的過程中存在不小的改造成本,同時(shí)一個(gè)完整業(yè)務(wù)應(yīng)用的前后端往往因?yàn)檎Z言技術(shù)棧不同,在應(yīng)用交付方式上也存在諸多限制。
而云開發(fā) CloudBase Framework 支持 web/小程序/移動(dòng)端/服務(wù)端的一體化部署,可一鍵托管的技術(shù)棧涵蓋幾乎整個(gè)大前端領(lǐng)域,包括前端框架 Vue、React,SSR 框架 Nuxt,基于 Node 的 Express、Koa ,基于 Deno 的應(yīng)用等;借助底層 Serverless 云應(yīng)用的能力,還可以部署基于 PHP、Java、Go 等語言技術(shù)棧的后端應(yīng)用。值得一提的是,CloudBase Framework 還配合 Flutter 實(shí)現(xiàn)了 Dart 語言的云端一體化,這也是國(guó)內(nèi)云廠商對(duì) Dart 語言和生態(tài)的一大補(bǔ)充。
在降低用戶使用門檻方面,云開發(fā)CloudBase Framework 實(shí)現(xiàn)了自動(dòng)檢測(cè)的功能,即針對(duì)常見前端框架,用戶無需自己編寫配置,使用該工具可以實(shí)現(xiàn)自動(dòng)識(shí)別項(xiàng)目的構(gòu)建和發(fā)布默認(rèn)配置。使用過程中,開發(fā)者不需要學(xué)習(xí)復(fù)雜的服務(wù)器配置和更改代碼,只需要輸入業(yè)務(wù)參數(shù)即可實(shí)現(xiàn)項(xiàng)目部署。
在持續(xù)集成/持續(xù)部署方面,云開發(fā)CloudBase Framework 還可搭配 CI/CD 工具實(shí)現(xiàn)持續(xù)部署,例如只需要幾行代碼就可以實(shí)現(xiàn) Github 自動(dòng)推送部署應(yīng)用前后端,同時(shí)開發(fā)者也可以在 CI/CD 過程中增加手動(dòng)確認(rèn)步驟來 Review 發(fā)布過程。
值得一提的是,項(xiàng)目團(tuán)隊(duì)還圍繞云開發(fā)CloudBase Framework 構(gòu)建了一套完善的開發(fā)者生態(tài),提供了應(yīng)用中心和插件體系。
應(yīng)用中心擁有各類熱門應(yīng)用,以及大量的生產(chǎn)級(jí)項(xiàng)目模板,案例模板,開發(fā)者可以自由選擇,并將項(xiàng)目一鍵部署到云開發(fā)。另一方面,開發(fā)者也可以自己開發(fā)并提交應(yīng)用和模板到應(yīng)用中心,只要為應(yīng)用編寫描述文件,支持使用云開發(fā) CloudBase Framework 部署,通過審核后就可以上架應(yīng)用中心,供其他用戶使用。
云開發(fā)CloudBase Framework 的插件體系則是完全開放的。目前生態(tài)內(nèi)已經(jīng)有十幾種不同的插件,自下而上分別實(shí)現(xiàn)了包括云資源插件、語言開發(fā)插件、應(yīng)用框架插件,以及第三方應(yīng)用插件。開發(fā)者可以按照插件規(guī)范自由組合,通過使用插件和復(fù)用插件來實(shí)現(xiàn)不同功能的插件。例如 Node 插件復(fù)用了云函數(shù)插件和云托管插件;低代碼開發(fā)插件復(fù)用了小程序插件、靜態(tài)網(wǎng)站插件、云函數(shù)插件、鑒權(quán)插件、數(shù)據(jù)庫(kù)插件等。
據(jù)悉,云開發(fā)CloudBase Framework 云原生一體化部署工具已經(jīng)在騰訊內(nèi)外超過 1000 個(gè)應(yīng)用中落地,包括企業(yè)微信、騰訊直播、騰訊健康碼、云開發(fā)平臺(tái)、心悅俱樂部等用戶規(guī)模龐大的主流業(yè)務(wù),實(shí)用性與穩(wěn)定性得到了充分的驗(yàn)證。
云開發(fā)CloudBase Framework 團(tuán)隊(duì)表示,現(xiàn)在項(xiàng)目已經(jīng)實(shí)現(xiàn)了一體化的部署工具,下一步的規(guī)劃是繼續(xù)完善插件體系、運(yùn)行時(shí)庫(kù),完善生態(tài),實(shí)現(xiàn)更加高效的開發(fā)部署工作流。同時(shí),團(tuán)隊(duì)也歡迎廣大開源技術(shù)愛好者參與進(jìn)來,貢獻(xiàn)代碼、文檔或是測(cè)試 Demo,共同完善國(guó)內(nèi)的云原生技術(shù)生態(tài),共建美好開源社區(qū)。4166am金沙