天天看點

打破 Serverless 落地邊界,阿裡雲 SAE 釋出 5 大新特性從專用到通用,SAE 天然适合企業核心業務的大規模落地

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

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

打破 Serverless 落地邊界,阿裡雲 SAE 釋出 5 大新特性從專用到通用,SAE 天然适合企業核心業務的大規模落地

從專用到通用,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,鏡像加速等,提供端到端 15s 的極緻部署體驗。
  • 一站式 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 落地的邊界,讓 All on Serverless 成為可能,應用零門檻容器化,讓容器 + Serverless + PaaS 得以合三為一,使得技術先進性、資源使用率優化、不變的開發運維體驗可以融合在一起。