歡迎您光臨本站 註冊首頁

Midway Serverless 釋出 v1.1,支援傳統應用一步上雲

←手機掃碼閱讀     admin @ 2020-07-27 , reply:0

Midway Serverless v1.0 釋出之後,有不少同學來試用,提建議,感謝大家。

Github: https://github.com/midwayjs/midway, 開源為了前端和 Node.js 的發展,請到 Github 點 Star!

Midway Serverless 在函式開發的部分提供了 一層特殊的防腐層,能讓同樣的程式碼,在不同的平臺執行,即所謂的執行時適配。而如今,這層介面卡不僅僅開發給函式,也開放給傳統數以萬計的應用,讓它們能夠快速的遷移到現有的雲平臺,享受彈性容器的紅利。

具體的防腐層設計,我們將在後面的文章詳述,現在來看看這個功能如何使用。

使用舉例

我們拿傳統的 EggJS 應用舉例。

整個傳統應用遷移的部分和 Midway Serverless 的函式部分使用的基本模式相同,在專案根目錄新增一個 f.yml 檔案,即可使用 f deploy 釋出。


 service: my-egg-demo  ## 應用釋出到雲平臺的名字
 
 provider:
   name: aliyun        ## 釋出的雲平臺,aliyun,tencent 等
 
 deployType: egg       ## 部署的應用型別
 

整個過程相對比較簡單,底層使用的執行時適配和函式是一致的,也達到了一套程式碼適配多平臺的目的。

和平臺的遷移方案的區別

Midway Serverless 從 v1.1 版本開始提供了一套應用遷移到  Serverless 容器的方案,而各個平臺也已經有自己的方案,比如阿里雲的 customRuntime 接入方案,以及騰訊雲的各種 Component 元件。 這其中的區別有幾個:

  • 1、Midway Serverless 提供的平臺遷移方案和函式部分相同,是跨平臺的,即方案不受限於阿里雲或者其他雲平臺,程式碼和應用時期一致,不需要(或者很少)做修改

  • 2、複用函式的執行時適配能力,可以和函式享受同樣穩定的能力,這套適配能力由 Midway Serverless 本身提供,程式碼開源,也方便排查和定位問題,或者增強能力

  • 3、Midway Serverless 這套能力比較通用,私有化部署或者 適配其他應用框架非常容易

Midway Serverless 執行時提供了通用的生命週期,社群的大部分平臺我們都會做一層防腐適配,同時這套執行時方案也適合於不同公司的私有化平臺,給內部應用使用提供了便利。

上週 7.25 我們在上海阿里雲 Serverless 雲開發 Workshop 上做了這層執行時防腐層的分享,後續也將提供文字版,歡迎關注。

一些能力限制

Midway Serverless 提供了簡單的方案,能夠將現有的應用遷移到各家雲平臺,但是本身還是有一些限制和注意事項,我們列舉如下。

  • 1、平臺閘道器的限制,比如阿里雲和騰訊雲閘道器,超時時間,POST 大小、檔案上傳等,和函式是一樣的,即函式不能做的事情,在這套應用部署方案中依舊不能做

  • 2、應用的包部署不宜過大,如果比較大,可以使用雲平臺的對應方案來解決,比如阿里雲的 NAS,或是騰訊雲/AWS 的 Layer

  • 3、應用在函式容器中的帶狀態的部分,由應用本身處理,這套方案不負責解決這個問題

  • 4、應用在函式容器中部署模型為 單程序,穩定性由彈性容器本身來解決

  • 5、應用中有 long runing 或者定時任務的部分,在無流量情況下不會觸發,請使用其他方案代替。

  • 6、應用中 socket 等非 HTTP 協議,不會生效

最後

函式體系釋出之後,我們將依舊迴歸的到應用本身,去思考如何讓函式和應用結合到一起,讓應用和函式在不同場景下能夠發揮各自最大的作用。


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/117496/midway-serverless-1-1-released
Midway Serverless 釋出 v1.1,支援傳統應用一步上雲已經有157次圍觀

http://coctec.com/news/all/show-post-245424.html