Serverless 應用引擎 SAE(Serverless App Engine)向上抽象了應用的概念,支持以代碼包和鏡像方式部署應用并進行托管。在SAE上,您可以低門檻擁抱容器技術,無需管理和維護集群與服務器,專注于設計和構建應用程序,最大化利用資源完成應用的生命周期管理,以及監控、運維等服務。本文介紹SAE支持的應用類型、部署方式和托管功能。
應用部署方式
當應用部署到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控制臺創建應用,以便將業務代碼推送到該應用中。
應用部署高級設置
應用的高級設置功能包括啟動命令、環境變量、Host綁定、健康檢查、日志收集和持久存儲等,您可以在創建應用時設置,也可以在創建應用后(后續部署應用時)依據業務需求設置。如果您選擇在應用創建后設置,應用將會重啟生效該配置。為避免業務中斷等不可預知的錯誤,請在業務低峰期進行高級設置。
高級設置 | 參考文檔 |
鏡像加速 | 說明 只有應用部署方式為鏡像時才能設置鏡像加速。 |
啟動命令設置 | |
Java Tomcat設置 | 說明 只有應用部署方式為WAR包部署時才能設置Tomcat。 |
環境變量設置 | |
服務注冊發現 | |
Hosts綁定設置 | |
應用健康檢查設置 | |
應用出/入公網訪問設置 | |
應用生命周期管理設置 | |
日志收集服務 | |
持久化存儲 | |
配置管理 | |
微服務無損上下線 | 說明 當您選擇WAR包部署或JAR包部署時,如果應用運行環境選擇EDAS-Container-XXX,不支持配置微服務無損上下線。 |
高級設置 | 參考文檔 |
鏡像加速 | 說明 只有應用部署方式為鏡像時才能設置鏡像加速。 |
PHP應用監控設置 |
|
php.ini配置文件修改 | |
啟動命令設置 | |
環境變量設置 | |
服務注冊發現 | |
Hosts綁定設置 | |
應用健康檢查設置 | |
應用出/入公網訪問設置 | |
應用生命周期管理設置 | |
日志收集服務 | |
持久化存儲 | |
配置管理 |
高級設置 | 參考文檔 |
鏡像加速 | 說明 只有應用部署方式為鏡像時才能設置鏡像加速。 |
啟動命令設置 | |
環境變量設置 | |
應用監控 | |
服務注冊發現 | |
Hosts綁定設置 | |
應用健康檢查設置 | |
應用生命周期管理設置 | |
應用出/入公網訪問設置 | |
日志收集服務 | |
持久化存儲 | |
配置管理 |
高級設置 | 參考文檔 |
鏡像加速 | |
啟動命令設置 | |
環境變量設置 | |
應用監控 | |
服務注冊發現 | |
Hosts綁定設置 | |
應用健康檢查設置 | |
應用生命周期管理設置 | |
應用出/入公網訪問設置 | |
日志收集服務 | |
持久化存儲 | |
配置管理 |
應用托管功能
將應用托管到SAE后,您可以對應用進行一鍵式白屏化的全生命周期管理,簡化運維。
使用場景 | 功能 |
資源管理 | 通過命名空間從邏輯上隔離應用,并使用配置項存儲應用所需的配置信息。更多信息,請參見命名空間管理。 |
應用部署 |
|
應用設置 | 應用部署到SAE后,您可以按需修改應用運行所需的實例規格、切換安全組和vSwitch等。更多信息,請參見應用設置。 |
應用訪問 | 應用部署到SAE后,其業務通常需要獲取公網資源或者跨VPC訪問,您可以通過綁定CLB、配置NAT網關+EIP或應用實例綁定EIP等方式實現。更多信息,請參見應用訪問。 |
應用運維 | SAE支持通過Webshell完成基本的運維需求,例如通過日志上傳下載診斷應用。在實例無法啟動時,SAE支持通過一鍵調試功能定位問題。更多信息,請參見應用運維。 |
一鍵啟停 | SAE支持在同一命名空間內,一鍵啟停開發、測試和預發等環境的應用。更多信息,請參見一鍵啟停。 |
彈性伸縮 | 應用擴縮是通過改變應用的實例數來增加或減少應用的計算容量。您可以在應用的實例負載過高時,以手動方式添加新應用實例,在應用閑置時減少應用實例,高效利用應用資源并降低成本。 |
日志管理 | 在應用的運維過程中,您可以通過日志定位并診斷問題。更多信息,請參見日志管理。 |
監控與報警 | SAE集成了應用實時監控服務ARMS,為部署在SAE中的應用提供關鍵指標的監控能力和報警能力。更多信息,請參見監控和應用監控報警。 |
分布式配置管理 | SAE支持對應用配置進行集中管理,您可以將應用開發過程中產生的大量的參數和變量等信息,提取到配置文件中并上傳至SAE。更多信息,請參見配置管理概述。 |
事件訂閱 | 事件中心可以記錄實例的狀態變更,統一管理SAE生成的事件數據,提供存儲、查詢和告警等功能。更多信息,請參見事件訂閱。 |