打破 Serverless 落地邊界,阿里雲 SAE 釋出 5 大新特性

阿里雲開發者發表於2021-11-03

作者:黛忻&望宸

微服務場景,開源自建真的最快最省最穩的?
複雜性真的會成為 Kubernetes 的“致命傷”嗎?
企業應用容器化,一定得過 Kubernetes 這座“獨木橋”嗎?
Serverless 應用場景單一,多用在邏輯簡單的非核心場景:小程式、ETL、定時備份等。Java 微服務真的遙遙無期了?

2021雲棲大會現場,阿里巴巴研究員、阿里雲智慧雲原生應用平臺總經理丁宇(叔同)重磅釋出了 Serverless 應用引擎 SAE 的產品全新定位和 5大產品新特性,給出了以上問題的答案。

1.png

從專用到通用,SAE 天然適合企業核心業務的大規模落地

區別於 FaaS 形態的 Serverless,SAE 以“應用為中心”,提供了面向應用的 UI 和 API,不改變應用程式設計模型和部署方式,保持了客戶在傳統伺服器上一致的開發部署體驗,還能方便的進行本地開發除錯/監控,極大地降低了客戶使用 Serverless 的門檻,能做到零改造平滑遷移企業線上應用。

也正因為此,SAE 幫助 Serverless 從專用到通用, 打破了 Serverless 的落地實施邊界,使得 Serverless 不再是前端全棧、小程式的專寵,後臺微服務、SaaS服務、物聯網應用等一樣也可以構建在 Serverless 之上,天然適合企業核心業務的大規模落地。

從複雜到簡單,SAE 天然適合企業零門檻容器化

區別開源自建微服務,SAE 提供了開箱即用的歷經雙11考驗的全套微服務治理能力,客戶無需考慮框架選型、更無需考慮資料隔離、分散式事務、熔斷設計、限流降級等,也無需擔心社群維護力度有限二次定製開發的問題。能做到 Spring Cloud/Dubbo 零改造無縫遷移。開源之上,我們還增強了無損上下線、服務鑑權、全鏈路灰度等高階特性。

SAE 還幫使用者遮蔽了K8s 技術細節,實現企業應用零門檻容器化,無感擁抱 K8s。提供自動構建映象的能力,除映象外,提供 WAR/JAR/PHP zip包等多種方式,降低客戶製作 Docker 映象門檻。遮蔽 K8s 複雜的網路和儲存外掛適配,幫每個應用的例項分配一個在VPC內互聯互通的 IP,持久化資料到儲存系統。遮蔽 K8s 的運維升級,再也不用擔心 K8s 版本升級帶來的穩定性風險。遮蔽 K8s 對接監控元件和彈性 controller,提供白屏化的端到端可觀測能力和靈活多樣的彈性策略配置。使用者繼續沿用原有打包部署方式,直接 享受 K8s 的技術紅利。

5大新特性,凸顯 Severless 新優勢,延展 Serverless 新邊界

  • 彈效能力2.0:業界首發混合彈性策略,支援定時和指標策略混用。在開源 K8s 能力上,豐富 TCP 連線數,SLB QPS/RT 等業務指標觸發彈性,支援設定擴縮容步長、冷卻時間等高階彈性設定。
  • Java冷啟動提速40%:基於Alibaba Dragonwell 11 增強的 AppCDS 啟動加速技術,將應用第一次啟動的過程生成快取儲存起來,後續直接通過快取啟動應用。同比標準的 OpenJDK,冷啟動耗時提速40% 。
  • 極致部署效率15s:基於底層全鏈路升級,安全沙箱容器2.0,映象加速等,提供端到端15秒的極致部署體驗。
  • 一站式PHP應用託管:支援 PHP zip包直接部署SAE,並提供 PHP 執行時環境選擇和應用監控能力,提供一站式 PHP 應用託管體驗。
  • 更豐富的開發者工具鏈:除 Cloudtoolkit、CLI、VSCode等開發者工具外,新增支援 Terraform 和Serverless Devs,基於資源編排能力,一鍵部署 SAE 應用以及依賴的雲資源,讓環境搭建更簡單。

4大最佳實踐,成就 All on Serverless 的典範

低門檻微服務架構轉型

比開源自建微服務更快更省更穩。隨著業務的快速增長,很多企業都面臨單體向微服務架構轉型的難題;或者自建的微服務不能滿足企業穩定性和多樣化的需求。通過 SAE 開箱即用的全套微服務能力,降低了客戶學習研發成本,並且有歷經雙11考驗的穩定性背書,能讓這些企業快速完成微服務架構轉型,支撐新業務快速上線。這也是 SAE 使用最廣泛的場景,可以說 SAE 是微服務領域最佳的 Serverless 實踐。

一鍵啟停開發測試環境

中大型企業多套環境,往往開發測試、預發環境都不是7*24小時使用,長期保有應用例項,閒置浪費很高,有些企業 CPU 利用率都快接近0,降本訴求明顯。通過 SAE 的一鍵啟停能力,已讓這些企業靈活按需釋放資源,光開發測試環境就能節省2/3的機器成本,非常可觀。接下來我們還會通過 K8s 編排能力,編排應用和資源的依賴,一鍵初始化一套環境和克隆複製環境。

全鏈路灰度

比開源 K8s ingress 提供的灰度能力更強。SAE 結合 PaaS 層客戶的場景特性,不僅實現了K8s ingress的七層流量灰度,也能實現從前端流量到多個級聯微服務的介面、方法級別的全鏈路灰度。比原有方案,部署運維更方便。以往,客戶需要部署2個名稱空間的多個應用,使用2套完整的環境來實現正式和灰度的釋出,硬體成本大、部署運維麻煩。基於SAE,客戶只需要部署一套環境,通過配置一些灰度規則將指定的特殊流量訪問到特殊的例項上,一層層級聯下去,既控制了爆炸半徑,方便的同時又節省了硬體成本。

將 SAE 作為彈性資源池,優化資源利用率

大部分客戶會全量使用 SAE,也有少量客戶會將同一個業務的常態保有部分放在 ECS 上,將SAE 作為彈性資源池,兩者混合部署。只需要保證同一個應用的 ECS 例項和 SAE 例項,都掛載到同一個 SLB 的後端,並設定好權重比例。微服務應用還需註冊到同一個註冊中心。另外,複用客戶自建釋出系統,保證每次發版時,SAE 例項和 ECS 例項版本一致。複用客戶自建的監控系統,將 SAE 的監控資料通過 OpenAPI 傳送給監控系統,和 ECS 的監控資料規整。當流量高峰到來之時,彈性模組會把彈性的例項都彈到 SAE 系統,極大地提升彈性擴容效率,降低了成本。這套混部的方案同樣適用於從 ECS 模式遷移到 SAE時,作為中間過渡方案使用,進一步提升遷移過程中的穩定性。

SAE 的5大新特性、4大最佳實踐,打破了 Serverless 落地的邊界,讓應用容器化更快捷,讓 K8s 落地更簡單,讓容器 + Serverless + PaaS 得以合三為一,使得技術先進性、資源利用率優化、不變的開發運維體驗可以融合在一起。

相關文章