微服務容器化最短路徑,微服務 on Serverless 最佳實踐

前言

微服務作為一種更靈活、可靠、開放的架構,近年來得到迅速發展,和容器技術的結合可以輕鬆實現微服務化後的DevOps,越來越多的企業尋求微服務容器化落地之道來讓企業應用更好的上雲。然而因K8s本身的學習曲線、運維複雜度、適配微服務的服務註冊發現、版本管理、灰度策略,已有會話處理等,讓這些客戶望而卻步,愛而不得。

阿里雲Serverless應用引擎(SAE)就是在這個背景下誕生的,初衷是讓客戶不改任何程式碼,不改變應用部署方式,就可以享受到微服務+K8s+Serverless的完整體驗,開箱即用免運維。底層基於統一的K8s底座,幫使用者遮蔽IaaS和K8s叢集運維,WAR/JAR/PHP zip包無需容器化改造直接部署。在應用層,給使用者提供了全棧的能力,重點包括應用管理和微服務治理。在開發者工具/SaaS方面也做了良好的整合,可以說SAE覆蓋了應用上雲的完整場景。

微服務容器化最短路徑,微服務 on Serverless 最佳實踐

SAE深度整合MSE,微服務治理能力業界領先

SAE深度集成了微服務引擎(MSE),將阿里深耕十餘年曆經雙11考驗的微服務最佳實踐產品化。在開源Spring Cloud/Dubbo的基礎上,提供了更多免費的高階治理能力。如微服務金絲雀/灰度流量能力,能讓應用發新版時,基於header/cookie等各種緯度進行精準灰度,控制最小爆炸半徑;微服務的無損下線和無損上線能力,能在Provider升級過程中,透過SAE應用內掛載的agent主動重新整理服務列表和主動通知,Consumer不會出現呼叫報錯。服務啟動過程中,無論釋出/擴容都實現流量平滑和穩定。還有殺手鐧的全鏈路灰度能力,能實現從七層入口流量到後端一系列微服務的級聯流量灰度,極大的降低了客戶多套環境搭建成本,提升灰度效果。

微服務容器化最短路徑,微服務 on Serverless 最佳實踐

SAE突破Java冷啟動瓶頸,提速40%

Java冷啟動效率慢一直是困繞開發者多年的難題,載入的類較多,依賴包大,會嚴重拖慢效率。SAE除了映象加速、映象預熱效率最佳化手段外,也在極力打造極致的Java應用啟動效率:基於Alibaba Dragonwell 11 增強的AppCDS 啟動加速技術,將應用第一次啟動的過程生成快取儲存起來,後續直接透過快取啟動應用。同比標準的OpenJDK,在冷啟動耗時場景下提升40%,極大提升了應用啟動和彈性效率 。該項技術已大範圍應用於集團生產業務,也收到了多數企業使用者的頻頻點贊。

SAE業界首發混合彈性策略

SAE提供了業界最豐富的彈性指標,最靈活的彈性策略。不同的場景使用不同的彈性策略。除K8s標準提供的cpu/mem外,SAE新增支援應用監控指標如QPS、RT、TCP連線數等,基於業務來彈更精準。除定時彈性和監控指標自動彈性外,SAE新增支援混合彈性策略,解決了線上教育、互娛、文化傳媒等行業中定時彈性和監控彈性互斥,不能同時啟用的痛點問題,並且在手工干預擴容後,還能系統恢復自動彈效能力。

SAE提供面向大促的高可用解決方案

Serverless應用引擎(SAE)尤其適用於電商、新零售、互娛、線上教育、餐飲、出行、文化傳媒等時有突發流量的行業,能做到精準容量+極致彈性+限流降級。

微服務容器化最短路徑,微服務 on Serverless 最佳實踐

有人說微服務跑在 Serverless上是異想天開,也有人說Serverless與微服務是天作之合,相信隨著Serverless應用引擎(SAE)這款產品的不斷髮展,這類爭論會逐漸地消失,而SAE也會成為微服務容器化的最短路徑和微服務on Serverless的最佳實踐。

相關文章