Serverless 應用引擎 SAE(Serverless App Engine)向上抽象了應用的概念,支援以程式碼封裝和鏡像方式部署應用並進行託管。在SAE上,您可以低門檻擁抱容器技術,無需管理和維護叢集與伺服器,專註於設計和構建應用程式,最大化利用資源完成應用的生命週期管理,以及監控、營運等服務。本文介紹SAE支援的應用類型、部署方式和託管功能。
應用部署方式
SAE支援部署的主流應用及部署方式,請參考下表。
應用舉例 | 部署方式 | 參考文檔 |
原生Spring Cloud | WAR、JAR、鏡像 | |
原生Dubbo | WAR、JAR、鏡像 | |
HSF | WAR、JAR、鏡像 | |
多語言應用 | 鏡像 | |
PHP應用 | 鏡像、ZIP | |
Python應用 | 鏡像、ZIP |
從服務架構角度而言,使用Spring Cloud、Dubbo和HSF架構開發的應用都可以部署在SAE中,但因部署方式不同,其應用的運行環境也不同。
Spring Cloud和Dubbo應用通過WAR包部署時,選擇apache-tomcat相關版本的運行環境。
Spring Cloud和Dubbo應用通過JAR包部署時,選擇標準Java應用運行環境。
HSF應用通過WAR或JAR包部署時,選擇EDAS-Container相關版本的運行環境。
從技術棧語言角度而言,SAE支援託管Java應用、PHP應用、Python應用以及多語言(例如Node.js和Go)應用。
從工具角度而言,除控制台部署和API部署外,SAE與很多CI/CD工具、外掛程式整合,CI/CD工具包括Jenkins、Terraform,外掛程式包括Maven、IntelliJ IDEA和Eclipse,可以實現代碼提交後自動部署。
如果您是第一次將應用部署到SAE,需要在SAE控制台建立應用,以便將業務程式碼推送到該應用中。
應用部署進階設定
應用的進階設定功能包括設定啟動命令、設定環境變數、設定Hosts綁定、設定健全狀態檢查、日誌收集服務和持久化儲存等,您可以在建立應用時設定,也可以在建立應用後(後續部署應用時)依據業務需求設定。如果您選擇在應用建立後設定,應用將會重啟生效該配置。為避免業務中斷等不可預知的錯誤,請在業務低峰期進行進階設定。
應用託管功能
將應用託管到SAE後,您可以對應用進行一鍵式白屏化的全生命週期管理,簡化營運。
使用情境 | 功能 |
資源管理 | 通過命名空間從邏輯上隔離應用,並使用配置項儲存應用所需的配置資訊。更多資訊,請參見管理命名空間。 |
應用部署 |
|
應用設定 | 應用部署到SAE後,您可以按需變更執行個體規格、切換安全性群組和vSwitch等。 |
應用訪問 | 應用部署到SAE後,其業務通常需要擷取公網資源或者跨VPC訪問,您可以通過綁定CLB、配置NAT Gateway+EIP或應用執行個體綁定EIP等方式實現。更多資訊,請參見應用訪問和流量管理。 |
應用營運 | SAE支援通過Webshell完成基本的營運需求,例如通過日誌上傳下載診斷應用。在執行個體無法啟動時,SAE支援通過一鍵調試功能定位問題。更多資訊,請參見應用營運。 |
一鍵啟停 | SAE支援在同一命名空間內,一鍵啟停開發、測試和預發等環境的應用。更多資訊,請參見對應用進行大量操作。 |
Auto Scaling | 應用擴縮是通過改變應用的執行個體數來增加或減少應用的計算容量。您可以在應用的執行個體負載過高時,以手動方式添加新應用執行個體,在應用閑置時減少應用執行個體,高效利用應用資源並降低成本。
|
日誌管理 | 在應用的營運過程中,您可以通過日誌定位並診斷問題。更多資訊,請參見日誌管理。 |
監控與警示 | SAE整合了應用即時監控服務ARMS,為部署在SAE中的應用提供關鍵計量的監控能力和警示能力。更多資訊,請參見應用監控和警示管理。 |
分布式組態管理 | SAE支援對應用配置進行集中管理,您可以將應用開發過程中產生的大量的參數和變數等資訊,提取到設定檔中並上傳至SAE。更多資訊,請參見組態管理。 |