天天看點

遷移 Express 到函數計算背景資訊步驟一:準備環境步驟二:遷移應用總結

遷移 Express 到函數計算背景資訊步驟一:準備環境步驟二:遷移應用總結

首先介紹下在本文出現的幾個比較重要的概念:

函數計算(Function Compute): 函數計算是一個事件驅動的服務,通過函數計算,使用者無需管理伺服器等運作情況,隻需編寫代碼并上傳。函數計算準備計算資源,并以彈性伸縮的方式運作使用者代碼,而使用者隻需根據實際代碼運作所消耗的資源進行付費。函數計算更多資訊 參考

Fun: Fun 是一個用于支援 Serverless 應用部署的工具,能幫助您便捷地管理函數計算、API 網關、日志服務等資源。它通過一個資源配置檔案(template.yml),協助您進行開發、建構、部署操作。Fun 的更多文檔

備注: 本文介紹的技巧需要 Fun 版本大于等于 3.6.3。

遷移 Express 到函數計算背景資訊步驟一:準備環境步驟二:遷移應用總結

背景資訊

Express

是一個基于 Node.js 平台的極簡、靈活的 Web 應用開發架構,它提供一系列強大的特征,幫助你建立各種 Web 和移動裝置應用。

步驟一:準備環境

本文介紹的方法,不需要安裝 Docker,僅僅安裝 Fun 即可,最簡單的方式就是直接下載下傳可執行的二進制檔案。

  1. 安裝 Fun 到本機。詳情請參見 安裝文檔
  2. 執行

    fun --version

    檢查安裝是否成功。

步驟二:遷移應用

  1. 執行以下指令建立一個 Express 項目,詳情請參見 Express application generator ,或者您可以按照官方描述的步驟建立簡單的 Hello world example ,若有 Express 項目則跳過該步驟。
    npx express-generator           
  2. 執行以下指令進入剛建立的示例項目中或您的項目中。
    cd <project-name>           
  3. 執行以下指令依賴安裝。
    npm install           
  4. 執行以下指令運作項目。
    • MacOS、Linux 平台運作項目:
      DEBUG=myapp:* npm start           
    • windows 平台運作項目:
      set DEBUG=myapp:* & npm start           
  5. 執行指令

    fun deploy -y

    将項目部署至函數計算。

    Fun 會自動進入部署流程。

    $fun deploy -y
      current folder is not a fun project.
      Generating /Users/txd123/Desktop/Express/bootstrap...
      Generating template.yml...
      Generate Fun project successfully!
      ========= Fun will use 'fun deploy' to deploy your application to Function Compute! =========
      using region: cn-qingdao
      using accountId: ***********3743
      using accessKeyId: ***********Ptgk
      using timeout: 60
    
      Collecting your services information, in order to caculate devlopment changes...
    
      Resources Changes(Beta version! Only FC resources changes will be displayed):
      ...  ...  ...  ...
                   trigger httpTrigger deploy success
           function Express deploy success
      service Express deploy success
    
      Detect 'DomainName:Auto' of custom domain 'Domain'
      Request a new temporary domain ...
      The assigned temporary domain is 15795585-XXX.test.functioncompute.com,expired at 2020-04-12 10:46:25, limited by 1000 per day.
      Waiting for custom domain Domain to be deployed...
      custom domain Domain deploy success           

    部署完成後,您可以根據部署成功的日志看到,函數計算為您生成了臨時域名 ,您通過這個臨時域名直接通路剛剛部署的應用。

    注意:臨時域名僅僅用作示範以及開發,具有時效性,如需用作生産,請綁定已經在阿裡雲備案的域名,詳情請參見

    綁定自定義域名

總結

本文介紹如何将 Express 應用部署到函數計算。與傳統的部署方法相比,您可将傳統的 Express 應用一鍵部署至遠端直接用于生産。跳過購買機器等步驟的同時,還擁有了彈性伸縮、按量付費和免運維等特性。

阿裡巴巴雲原生 關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的技術圈。”

繼續閱讀