擁抱開放,Serverless 時代的下一征程

Serverless 作爲雲計算的最佳實踐和未來演進趨勢,其全託管免運維的使用體驗和按量付費的成本優勢使得它在雲原生時代備受推崇。Serverless 的使用場景也由事件驅動,數據處理等部分特定場景轉向更爲廣泛通用化的 WEB,微服務,AI,進而在電商,互娛,出行,乃至傳統行業都有滲透。

在 Serverless 的普及與推廣過程中,開發運維人員雖然認同其降本提效的核心價值,但同時被諸如廠商鎖定,黑盒化,全屏蔽等一系列 Serverless 全包的特性所困擾;進而所引發的遷移成本高,問題排查難度大,根因定界分析困難等痛點亟需解決。

所謂開放,是指用戶可以擺脫心智負擔的,在不變更語言應用的前提下從任意平臺遷移至 Serverless,是指用戶可以即開即用的獲取 Serverless 應用的全生命週期核心數據,更是指用戶可以將其原有的架構與 Serverless 架構進行融合,實現雲上雲下雲間的互通與混部。

擁抱開放後 Serverless 將不會是需要改造以適配兼容的,可望而不可即的技術試驗品,也不是一座獨立出來的,與原有技術體系割裂的數據孤島,而是承載技術開發者們理想與現實的,能夠讓技術變得更加普惠、通用、共享的最短路徑之一。

阿里雲堅持在 Serverless 領域持續投入並在技術競爭力上維持領先地位, SAE(Serveless 應用引擎)作爲業界首款面向應用的 Serverless PaaS,能夠提供成本更優、效率更高的一站式應用託管方案。

SAE 在 2018 年內部孵化之初就秉持着零門檻,零改造的宗旨進行應用(任務)的 Serverless 改造和落地實踐,並且在產品的發展歷程中不斷積極尋求被集成,增進 DevOps 全流程體驗,三年內助力千餘家客戶實現應用的雲原生 Serverless 化。SAE 目前已有和即將推出的功能均圍繞着 “擁抱開放” 展開,下面我們一起看看 SAE 目前所提供的產品功能特性以及它背後的思考邏輯。

1.png

Serverless 部署架構的開放性

許多用戶的應用其實並不是從零便開始使用 Serverless,而是出於對 Serverless 理念的認同,基於架構升級演進的訴求,期望將原有的部署環境如物理機,雲主機,Kubernetes 進行遷移或者是混部於 Serverless 之中。那麼在此場景下,應用遷移改造的成本顯得尤爲重要,然而 Serverless 陡峭的學習曲線和廠商生態鎖定的刻板印象,令諸多開發者望而卻步。

正如先前所述,SAE 主打零門檻,零改造遷移,應用其實無需修改任何代碼邏輯,便可直接部署在 SAE 當中,而對於非容器類的應用,SAE 也提供內置的鏡像構建能****力,並藉助發佈單使得全 CICD 變得流程化、自動化、可視化。下面我們重點介紹一下跨平臺的使用場景。

SAE 與雲主機混部

SAE 支持與雲主機(ECS)實例進行混部,以便於在存量遷移的場景下實現快速彈性,發揮 SAE 的優勢,整個過程無需任何開發改造。

具體的方式爲:將存量 ECS 實例加入到 SAE 實例聲明使用的 SLB 後端虛擬服務器組中,SAE 應用在部署、擴縮容、停止、啓動、重啓、垂直擴縮容等場景中,會自動動態維護 SLB 後端的實例,統一對外提供服務。

2.png

SAE 與 Kubernetes 的流量互訪

SAE 支持與 Kubernetes(ACK) 進行流量互訪,藉助公網 SLB/Ingress ,或者相同 VPC 下私網 SLB 協同 PrivateZone 內網域名解析的能力,暴露應用服務地址;亦或在微服務場景下采用同一註冊中心,均可實現在不變更原有架構的基礎上,進行 SAE 實例與 Kubernetes pod 的通信與交互。

3.png

Serverless 指標數據的開放性

Prometheus 是一套開源的監控報警系統。主要特點包括多維數據模型、靈活查詢語句 PromQL 以及數據可視化展示等,其已經成爲了雲原生監控體系的事實標準。

SAE 提供了開箱即用的可觀測能力,同時全面對接併兼容 Prometheus 生態,開放核心指標數據,以滿足用戶們在監控領域靈活配置、可定製、可擴展的訴求。

基礎監控數據

SAE 對應用所運行實例的 CPU、負載、內存、網絡和磁盤進行數據採集與分析,並能夠以動態圖的方式展示,方便用戶實時、且直觀地瞭解到應用運行設備的狀態。採集的數據會預製在 Prometheus 中,並配置集成可視化大盤。用戶可以通過 Grafana 進行自定義大盤的配置。

4.png

應用監控數據

針對於 Java、Php 語言的應用,SAE 可以通過 agent 技術對其接口 RED 等數據進行埋點採集。同時,其數據也已預製在 Prometheus 中,並集成可視化大盤,用戶可以通過 Grafana 進行自定義大盤的配置。

5.png

6.png

對於其他的多語言應用,SAE 將採用 EBPF 技術,進行無入侵的七層監控數據的獲取,並提供全流程無感的使用體驗。多語言監控數據同樣會預製在 Prometheus 中,用戶可以通過 Grafana 進行自定義大盤的配置。

自定義監控數據

SAE 應用可以根據其自定義業務,手動埋點暴露自定義指標數據,並藉助 VPC 內服務發現能力,接入Prometheus,保證在實例不斷變化的環境下,整個採集鏈路的可用性。

7.png

Serverless 通用運維的開放性

隨着產品不斷髮展演進,我們深刻的意識到 Serverless 並不意味着像願望般美好的將服務器完全黑盒化,用戶完全信賴產品的內部操作,同時不斷教育用戶要採用符合 Serverless 的心智和行爲方式進行開發運維,這樣既與用戶已有的知識體系和傳統運維習慣相沖突,又不利於各類問題的及時排查與根因定界。

而用戶真正需要的是享有知情權的同時,藉助全方位運維能力的提升來更加高效,自動的實現運維操作,降低運維複雜度,提升運維幸福感。SAE 結合用戶常見訴求和使用痛點推出了多項解決方案和最佳實踐來不斷優化和提升 Serverless 運維能力。

Webshell 與工具一鍵安裝

登錄實例進行信息收集和問題排查,在傳統運維中是必不可少的一環。在 Linux 環境下已經有諸多成熟的問題診斷工具去供用戶使用,SAE 深知不應該全然被動地將整個應用以及環境交付於第三方供應商,真正瞭解企業場景和業務邏輯的是用戶需要掌控力。

SAE 在暴露應用實例的基礎上,提供了 Webshell 功能,用戶可以像訪問本地主機一樣訪問 Serverless 實例進行運維操作。同時爲了更加高效地進行問題排查,SAE 提供了工具一鍵安裝的功能,解決了自定義鏡像中命令閹割的情況,並適配各種操作系統,可以在私網環境下下載並更新工具。

文件雙向傳輸

如何高效運維,一直是 SAE 專注的重點。用戶在日常開發部署測試的過程中,經常提到,期望將本地文件或者配置上傳至雲端應用用於臨時調試,或者將雲上應用的日誌,配置,Java dump,core dump下載至本機。

作爲運維領域的剛需,SAE 推出 Serverless 場景下文件雙向傳輸功能,在無軟件依賴,應用無入侵的前提下實現上傳下載的功能。

跳板機與端雲聯調

在開發聯調測試的過程中,受限於對應用本身環境的依賴,考慮到啓動部署速度和效率,開發者往往不願意重新在本地啓動雲上應用,模擬雲端執行環境進行本地調試。

這其實也是 Serverless 場景下面臨的一大難題,SAE 藉助內置跳板機,實現本地服務與雲端 SAE 應用間的互調,同時支持 Java/php remote debug 和實例的遠程訪問,真正的將本地和雲端環境融爲一體。

8.png

總結

擁抱開放,Serverless 時代的下一征程,這既是 SAE 在雲原生浪潮下的願景,也是 SAE 持續專注並將繼續堅持的方向。未來 SAE 將致力於以用戶最小的改造和認知成本來提供產品更爲強大的技術支持和體驗,將在部署架構,指標數據,通用運維乃至各個方面以擁抱開放的理念持續打磨深造,推進 Serverless 時代的發展進程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章