當邊緣計算遇到雲原生,“雲邊一體化”會成爲下一個技術熱點嗎

自 2015 年以邊緣爲中心的計算被提出以來,邊緣計算已連續多年被 Gartner 評爲十大戰略科技發展趨勢之一,很多公司在邊緣計算方面投入巨資以獲取先發優勢。本文邀請到阿里雲高級技術專家、Kubernetes Member 黃玉奇來分享阿里雲邊緣計算落地的技術實踐和主要挑戰和思考,他也將在 QCon 全球軟件開發大會(北京站)2020 上做主題爲《“雲邊一體”架構支持邊緣計算多場景落地實踐》的演講,敬請關注。

InfoQ:您是什麼時候加入阿里雲的?您在主導阿里雲物聯網(IoT)、CDN 等邊緣計算領域相關產品/業務容器化轉型的過程中,收穫最多的是什麼?有比較難忘的故事可以分享嗎?

黃玉奇:我是 2017 年入職阿里的,在此之前大概有五年多的時間一直從事容器、容器調度相關領域的研發工作。2015 年成爲國內第一批接觸 Kubernetes 的 IT 從業人員,並一直持續投入到今天。在 Kubernetes 越來越穩定成熟、市場佔有率越來越高的大背景下,雲原生的最佳實踐、方法論、優良架構不斷地在新場景中落地。而拓展雲原生服務邊界和商業化落地也正是我工作的一大部分內容。

伴隨行業發展,邊緣計算正在成爲雲計算的新邊界,而規模和複雜度的日益提升對邊緣計算的效率、可靠性、資源利用率等一系列能力提出了新的訴求。2017 年底開始,阿里雲物聯網(IoT)和 CDN 服務作爲典型的邊緣計算業務面臨着產品規模爆發式增長、運維複雜度急劇攀升、運維效率低下的“三難”境地,引入雲原生併成功轉型成爲各業務團隊亟需解決的問題。

記得當時最開始找我們的是菜鳥的同學,他們希望能夠擁有一套基於 K8s
構建的倉儲 PaaS 系統,用來管理各城市、各區域倉儲的邊緣節點(異構、分散、多租),並進一步通過邊緣節點上部署的管控應用來管理倉儲的機械手臂、機器人等,而這也是“雲邊端”一體化協同的萌芽。衆所周知,原生 K8s 是設計成數據中心內部的調度系統(DCOS),對於滿足這種需要跨地域、分散節點管理、異構、跨公網交互、多租(倉儲外包運營)場景就有些喫力。因此我們做了很多定製開發,包括多租隔離,Worker 節點的自治能力、節點池、反向運維通道等等。大致的架構設計如下圖示:

image

在第一個客戶場景實施後不久,我們團隊接到越來越多諸如智慧樓宇、智慧倉儲、一體機形態的容器化、K8s 化的需求,而他們都來自同一個團隊——阿里雲 IoT。這也很快就促使我們做了“雲邊一體”的邊緣計算雲原生基礎設施的產品化思考。核心訴求包括:

  • 資源、應用管理訴求;
  • 容器化和微服務化;
  • 標準的 API 和工具鏈;
  • 安全,數據 / 信道加密和認證授權
  • ……

得益於 IoT 各種業務場景對產品能力的反向打磨,阿里雲容器服務 ACK@Edge 第一個線下版本——“Kubernetes Edge version” 在 2018 年 7 月份誕生,作爲雲上 IoT 邊緣託管服務底座,支持海量邊緣網關節點接入,深度融合 IoT 雲端市場、雲端 FaaS 、消息、運維等服務,並在當年春節前支持阿里雲邊緣託管服務(LinkEdge)部分客戶業務上線。

印象最深的應該是 2019 年元宵節那次,某商場智慧樓宇管控業務全部上線,通過容器化和 K8s 的調度能力,傳統 IoT 業務擁有了強大的日誌、監控、自動擴縮容等運維能力,並且運維能力在雲中心匯聚。元宵節當天晚餐高峯期,業務方通過雲端管控方便的擴容了車庫收費系統,應對車流量壓力。下圖是很早期的一個架構和當時在客戶現場拍攝的照片:

image

image

在這個過程中,雲原生讓 IoT 託管如虎添翼,持續落地智慧樓宇、智慧工廠、智慧倉儲項目,雲邊端分層結構也日益顯現。

2019 年是一個關鍵時間節點,業界對邊緣計算的定義和邊界越來越清晰(Gartner 和 IDC 都給了明確定義),對場景的劃分也是更加明確。大邊緣、小邊緣成爲邊緣計算的兩個標誌場景。大邊緣的典型代表就是 CDN。與此同時,CDN 的雲原生轉型和雲原生的大邊緣探索不期而遇了,容器服務團隊和阿里雲 CDN 團隊一拍即合。阿里雲有着國內最大體量的 CDN 業務,並正在從以內容分發服務爲主轉變爲邊緣計算,很快就確定了以 ACK@Edge 爲依託構建雲原生 EdgePaaS 的架構演進計劃。

image

InfoQ:阿里雲是什麼時候決定要落地邊緣容器的?做這個決定的背景是什麼?“雲邊一體”架構解決的核心問題是什麼?

黃玉奇:隨着互聯網智能終端設備數量的急劇增加和數據、業務下沉的訴求增多,邊緣計算規模和業務複雜度已經發生了翻天覆地的變化,邊緣智能、邊緣實時計算、邊緣分析等新型業務不斷湧現。傳統雲計算中心集中存儲、計算的模式已經無法滿足邊緣設備對於時效、容量、算力的需求,如何打造邊緣基礎設施成了一個新課題。阿里雲容器服務在最開始面對這個課題時,就一直在思考雲原生基礎設施在邊緣計算落地的可能性。從雲到端,如果能將雲計算的能力下沉到邊緣側、設備側,並通過中心進行統一交付、運維、管控;通過粘合雲計算核心能力和邊緣算力,構築在邊緣基礎設施之上的雲計算平臺,是不是就能夠解決邊緣計算面臨的挑戰?回答這個問題之前,我們先梳理一下邊緣計算可能面臨的一些挑戰:

  • 雲邊端協同:缺少統一的交付、運維、管控標準;
  • 安全:邊緣服務和邊緣數據的安全風險控制難度較高;
  • 網絡:邊緣網絡的可靠性和帶寬限制;
  • 異構資源:對不同硬件架構、硬件規格、通信協議的支持,以及基於異構資源、網絡、規模等差異化提供標準統一的服務能力的挑戰。

衆所周知,以 Kubernetes 爲基礎的雲原生技術,核心價值之一是通過統一的標準,實現在任何基礎設施上提供和雲上一致的功能和體驗:那麼藉助雲原生技術,實現雲-邊-端一體化的應用分發,解決在海量邊、端設備上統一完成大規模應用交付、運維、管控的訴求是不是就有可能;同時在安全方面,雲原生技術可以提供容器等更加安全的工作負載運行環境,以及流量控制、網絡策略等能力,能夠有效提升邊緣服務和邊緣數據的安全性;而依託雲原生領域強大的社區和廠商支持,雲原生技術對異構資源的適用性逐步提升,在物聯網領域,雲原生技術已經能夠很好的支持多種 CPU 架構(x86-64/arm/arm64)和通信協議,並實現較低的資源佔用。

“雲邊端一體化協同”作爲一個標準化構想,將雲原生能力向邊緣端複製,需要分爲三個層次:

  • 第一個層次是能夠在雲端提供標準化的接口、管控能力,或者是標準的雲服務和雲資源的接入能力,其中我們能夠看到 Kubernetes 的身影;
  • 第二個層次是能夠高效的管理處在整個邊緣端的衆多資源,其中包括邊緣端應用的運維效率問題;
  • 第三層次是典型的 IoT 場景中的端設備。

image

InfoQ:阿里雲的邊緣計算落地主要分爲哪幾個階段?在實際落地的過程中,遇到的主要問題是什麼?

黃玉奇:在阿里雲邊緣計算技術形態也可以按照傳統的邏輯劃分爲IaaS、PaaS和SaaS:

  • IaaS:ENS服務。主要是在邊緣測提供資源虛擬化,類似雲上 ECS 服務,只不過底層的物理資源是在阿里雲的 CDN 機房。用戶可以按需購買 CDN 虛擬化資源,並且擁有比較強大的邊緣資源彈性能力;
  • PaaS:傳統虛機方式的運維成本往往居高不下,比如機器的地域分佈、網絡差異等會帶來不小的運維成本,難以進行快速的業務切換調度。這樣一來就需要有個邊緣場景的 PaaS 服務,來幫助用戶管理和調度邊緣的資源,容器和 K8s 是一個不錯的架構選擇。當前主要就是容器服務的 ACK@Edge 邊緣容器,以及和 ENS 的深度融合爲用戶提供邊緣 PaaS 服務。
  • SaaS:服務種類就比較多,包括邊緣智能(AI)、邊緣應用市場、邊緣中間件(消息、緩存等)、邊緣軟硬一體機(數據智能一體機、通用一體機等)。而這些服務都可以通過邊緣容器應用市場獲取。

而隨着業務形態的百花齊放,目前遇到的最大挑戰就是底層基礎設施和運維模式的不統一,以及現有交付方式不統一帶來的巨大人力投入,和運維效率對業務創新的掣肘。比如阿里雲生態體系中,有大量的軟硬一體機形態的產品,中心、邊緣協同的運維模式目前正在基於邊緣容器體系做一次大的升級和統一。

InfoQ:5G 將開啓一個全連接的新時代,海量接入需求下,對邊緣計算的大規模運維、業務創新效率等提出了更高的要求。邊緣容器是如何支撐阿里雲CDN業務全面容器化轉型的?

黃玉奇:CDN 是內容分發網絡,目前屬於雲服務的一個基本件。當一個網站配置了 CDN 以後,在終端用戶訪問這個網站的時候,系統可以調度到離用戶最近的邊緣節點。現在 CDN 除了傳統的圖片視頻加速以外,已經衍生出視頻處理、AI 處理以及邊緣計算的業務體系。

CDN 的重要性不僅僅在於 CDN 的業務本身,更重要的是 CDN 的基礎設施屬性,它天生具備分佈式邊緣計算平臺特點。CDN 節點是全球分佈的,隨着 5G 的正式商用,目前來看,CDN 的規模最大、算力最強,將成爲佈局邊緣計算最佳的位置。邊緣計算跟雲計算相比也面臨着諸多挑戰,以 CDN 爲例,邊緣節點分佈廣,單節點規模小(1~100機器),大部分節點沒有駐場人員,所以維修週期長(1~2周)。同時節點網絡複雜並且不可控,網絡割接、運營商封禁是常有的事情,省與省、國與國(海外)之間都有着非常複雜的網絡鏈路。

面對這些問題,對調度/容災能力、運維能力就會有比較高的要求。CDN 本身的業務形態就是天然容災和可調度的:一個節點掛了,流量就可以切換到其他節點上。CDN 節點架構也相對比較簡單,經典三層架構:四層負載均衡(LVS)+七層負載均衡(Nginx 或者 HaProxy)+緩存服務(Squid),所以 CDN 運維也是比較簡單的,機器上主要是緩存數據,機器掛了整體影響不大,不需要做數據遷移。

但是 CDN 要轉型到通用邊緣計算平臺,調度/容災能力和運維能力就會變成規模化的一個主要瓶頸,怎麼做調度、怎麼做容災、怎麼做運維,這些問題在邊緣場景更加突出。因此容器的輕量級和 Devops 屬性,加上 K8s 的調度,目前看來非常適合邊緣計算。

ACK@Edge 邊緣容器能夠給 CDN 提供容器資源的彈性能力,以及 K8s 標準化能力。支撐異構資源的接入,包括 CDN 的物理機和 ENS 的虛擬機,並參與混合調度。CDN 和 ENS 的節點是全球分佈的,策略上主要根據業務類型和區域,在阿里雲的中心機房創建邊緣容器的 Master 服務,然後就近接入邊緣節點。目前的規劃是一個邊緣容器集羣接入 20~30 個邊緣機房,全網會部署 100 多個 ACK 集羣,然後在邊緣容器之上,構建 CDN PaaS,PaaS 的一個主要能力就是多 K8s 集羣聯邦,同時把容器調度跟 CDN 的流量調度打通。

image

InfoQ:阿里雲在邊緣計算方向上還有哪些探索工作?它未來的發展應該是什麼樣的?

黃玉奇:隨着雲原生在邊緣計算的持續落地,預計將會很快消除邊緣雲和中心雲的架構差異,雲邊一體的架構體系會將邊緣計算堅定在“雲計算新邊界”的理念之上。未來的 IT 架構必將朝着“雲邊端一體化協同“的方向發展,而其中的核心就是邊緣雲原生。邊緣計算新業務的開展也將和傳統的中心雲保持同步:Serverless、安全沙箱技術、函數計算等新的業務形態都將在邊緣計算落地。

未來邊緣雲計算必將是基於雲計算技術的核心和邊緣計算的能力,構築在邊緣基礎設施之上的雲計算平臺。形成邊緣位置的計算、網絡、存儲、安全等能力全面的彈性雲平臺,並與中心雲和物聯網、終端形成“雲邊端三體協同” 的端到端的技術架構,通過將網絡轉發、存儲、 計算,智能化數據分析等工作放在邊緣處理,降低響應時延、減輕雲端壓力、降低帶寬成本,並提供全網調度、算力分發等雲服務邊緣計算必將在三個方向發力:

  • AI、IoT 與邊緣計算的融合, 雲延伸
  • IT去中心化,設施自治,邊緣託管
  • 5G與邊緣計算引爆新增長

InfoQ:阿里雲在邊緣容器領域是否有開源方案?開源的動機是什麼,開源的長期規劃是什麼樣的?

黃玉奇:北京時間5月29日,在阿里雲容器服務 ACK@Edge(邊緣集羣託管服務) 上線一週年之際,阿里巴巴正式宣佈將其核心能力開源,並向社區貢獻完整的邊緣計算雲原生項目OpenYurt。

作爲阿里雲容器服務 ACK@Edge 的開源版本,OpenYurt 將採用全開源社區開發模式,每季度發佈新版本更新,包含社區上游安全/關鍵 bug 修復和新特性、新能力,並逐步將產品完整能力開源,預計到2021年一季度正式發佈 OpenYurt 1.0 版本。大致的 RoadMap 如下:

image

嘉賓介紹

黃玉奇,阿里雲高級技術專家,Kubernetes Member,擁有豐富的容器、容器調度相關業務領域經驗,致力於持續探索雲原生新落地場景。曾主導邊緣容器支撐阿里雲物聯網(IoT)、CDN 一體機等邊緣計算領域相關產品/業務容器化轉型,目前整體負責阿里雲 K8s 邊緣託管產品。

活動推薦:
QCon北京2020的分享中,黃玉奇老師將結合阿里雲內部多種邊緣業務形態(IoT、ENS、CDN、邊緣智能),介紹雲原生技術棧在邊緣計算場景落地細節,並揭祕雲端託管、邊緣算力快速接入、K8s 零侵入增強的技術內幕。全面解剖這條將雲能力從中心往邊緣觸達的新途徑,點擊瞭解詳情

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