1. 程式人生 > 其它 >阿里雲資深專家李國強:雲原生的一些趨勢和新方向

阿里雲資深專家李國強:雲原生的一些趨勢和新方向

簡介:雲原生不僅僅是技術,更重要的是雲原生技術需要和雲端計算進行結合,幫助使用者構建雲原生架構的應用。

2021 年 11 月 26 日,阿里雲使用者組(AUG)第 3 期活動在廣州順利舉行。具有豐富的容器、微服務等領域經驗的阿里云云原生資深專家李國強,向現場數十家廣州企業分享了雲原生的趨勢方向以及阿里云云原生的能力佈局。本文根據作者的演講整理而成。

大家下午好!非常歡迎大家來到下午的交流場,前面說了,今天主角是在座的每一位,我們做分享其實是希望起到拋磚引玉的作用,下面我會分享雲原生的一些趨勢和新方向,希望能引起大家的一些思考。

雲原生的定義

雲原生的社群定義

Pivotal 是第一個提出雲原生這個概念的,他當時給雲原生的定義就是這四塊:DevOps、CI/CD、微服務和 Container。

從技術來講,基本上是正確的,但真正把雲原生髮揚光大,其實是谷歌發起的 CNCF 基金會。今天 CNCF 下面已經有超過 1000 個專案了,我們來看這麼多專案到底想幫助使用者做什麼。

CNCF 對於雲原生的定義是幫助使用者構建可彈性的應用,提到一系列代表性技術:容器服務,網格,微服務,不可變基礎設施和宣告式 API,相信這些技術詞大家都聽過。

那到底這些技術能幹什麼呢?下面有一個很好的總結,就是幫助使用者構建容錯性好、易於管理、便於觀測,鬆耦合的系統,這幾個詞都很關鍵,使用者在構建應用或者構建系統的時候,基本都會以這個為目標。

特別是新型的網際網路應用,會面對各種各樣的技術挑戰和市場挑戰,比如大流量的衝擊、惡意攻擊、快速上線促銷活動等。在這些挑戰之下,客戶都會希望自己的軟體或者系統能做到高容錯性、易於管理、鬆耦合便於觀測等等。同時這些特性帶來的業務價值,就是幫助企業能夠頻繁地和可預測地進行重大並更。這些合在一起就是今天對於雲原生的定義。

因雲而生的雲原生

那到底是不是用這些技術就是雲原生呢?今年在雲棲大會的時候對雲原生重新進行了一個定義的延展,雲原生不僅僅是這些技術,更重要的是雲原生技術需要和雲端計算進行結合,幫助使用者構建雲原生架構的應用。

在上圖可以看到,左邊有一系列雲原生技術,和雲端計算相結合的時候,它會產生一系列雲原生的產品,包括我們之前講到的容器服務,K8s 作為 CNCF 的第一個專案,一定是我們今天雲原生整個體系的核心。還包括圍繞雲原生的中介軟體、資料庫、安全,今天都按照雲原生的模式去執行,裡面用到雲原生的技術,幫助使用者去構建符合雲原生定義的應用和系統。

今天來講,阿里雲上有大量的雲原生產品。其實企業在使用以及真正落地到一個場景的時候,要把這些產品形成一個一個的方案,比如說多活方案、AI平臺方案、彈性上雲、統一排程等等一系列的,在產品之上構建出來的這整個是我們對於雲原生從技術到產品到方案的體系。

雲原生的趨勢

雲原生開啟全雲開發時代

有幾個趨勢和大家分享,大家一定很好奇,今天雲原生在行業和企業裡面處於什麼階段?如果我今天開始使用雲原生,我會是那個吃螃蟹的人,還是今天已經有很多人在用了?

根據有些行業的分析報告,今天容器的使用已經非常廣泛了,到現在為止已經有68%的企業在生產環境使用容器了,當然不一定全是核心系統,但是已經有三分之二的企業在生產使用容器,所以容器已經非常成熟了。

80% 以上的使用者在使用或者計劃使用微服務,這也是非常大的趨勢,它的使用率比容器還要高,但並不是說所有的業務都需要容器、都需要用微服務,這是一個應用架構選擇,只是說這個技術越來越普及。另外是 Serverless 技術,有 25% 的開發者將使用 Serverless。後面我會簡單介紹 Serverless,它的成熟度也在不斷地提升。

今天我會把幾個重要的趨勢和大家做一些分享,也是拋個磚,大家可以去思考一下在這些領域有沒有和你們當前業務有結合的點。

分散式雲成為一種新的趨勢

第一,分散式雲已經成為一種新的趨勢,分散式雲已經連續兩年成為 Gartner 十大技術趨勢之一。今天越來越多的企業包括廠商在講分散式雲,背後到底是為什麼?

其實還是業務的變化帶來雲形態的變化,對技術提出了新的挑戰。今天各個雲廠商,比如以阿里為例,除了公共雲之外,還有本地雲、邊緣雲,包括幫助使用者在 IDC 內部構建私有云的形態,所以雲的形態越來越多了。

阿里雲提出“一雲多形態”的新概念,雲不僅僅是指公共雲,還包括了多種形態。那為什麼會出現一雲多形態?是因為今天越來越多的業務場景需要這樣的多形態。今天在邊緣側視訊技術越來越發達,直播業務、VR、AI 業務要求資料和算力在邊緣側出現,所以這就推動了邊緣雲的發展。

第二,隨著 IDC、公共雲的發展,很多企業可能會持有超過一種雲,這也是業務訴求,比如企業希望構建多活的高可用架構需要跨多個機房或雲,客戶線下 IDC 希望能夠充分聯合使用公共雲的能力,催生了一雲多形態出現。但是一雲多形態出現之後,也會帶來很大的複雜性,這些雲之間有一定的異構性,怎麼對雲上的業務可用性系統進行管理是企業的普遍訴求。

比如剛才講的場景,客戶怎麼能夠在 IDC 和公共雲之間構建一個主備關係或者建立雙活體系,假設以前我的業務主要在 IDC 裡面,但是 IDC 可能會出問題,我能不能在公共雲上建一個主備環境。還有一種情況,比如我原來 IDC 有一個業務,今天可能沒辦法全部搬到雲上,那我可否能彈到雲上?

這些都是今天在一雲多平臺之下結合業務可以考慮到的越來越多的場景。這塊也是我們今天討論的重點,後面會和大家詳細探討。

AI 負載雲原生化

另外一個非常重要的趨勢是 AI 負載雲原生化。為什麼 AI 的負載變得越來越原生化?這裡面有幾個很重要的原因。整個脈絡來講,先是大資料的出現,之後基於資料深度學習的技術出現,再往後就催生了 AI 負載與容器以及 K8s 生態體系的結合。

在大資料領域裡面,GPU 的使用非常廣泛,但傳統的排程系統比較弱,K8s 漸漸承擔越來越重要的 AI 負載的管理能力。新的計算引擎像 Spark、Flink 和 K8s 生態結合得非常好,越來越多的企業就天然的把 AI 型別負載跑到 K8s 的生態上面,而 K8s 的生態在它的促進之下,這塊技術發展也非常快。

我們看到一個趨勢,今天在阿里雲,很多客戶增長最快的業務是 AI 領域,一方面是業務本身的需要,資料積累之後需要做分析,另外技術的發展也是這個趨勢。

但同時 AI 雲原生化也有非常多的挑戰,比如說 GPU 如何做池化和共享、排程能力、資料訪問效率這些都是把 AI 放到 K8s 之後面臨的一些挑戰,相應的也會有很多解決方案,有些可能是開源,有些是阿里雲提供的,幫助使用者完成 AI 在原生化過程中碰到各種各樣的問題。

降本增效是所有企業的普遍訴求--FinOps

第三個話題是 FinOps,降本增效是所有企業的普遍訴求,就算這個企業在初創期,業務增長非常重要,但是對於 IT 部門或預算部門來講,降本增效依然非常重要。

上面畫了一個非常簡單的原理圖,如何降本增效或者理解 FinOps 理念,有三個很重要的環節:容量成本規劃、容量成本視覺化和容量成本優化。我相信在座很多企業在兩個環節做得會比較多,就是容量規劃和優化做得比較多,但是容量成本視覺化也是非常關鍵的。

這裡包含了如何通過可觀測性的工具非常準確地看到系統的使用率,包括是否有容量優化的冗餘。還有一個非常重要的方向,在公共雲上,雲資源的利用率和費用是否直接以圖形化的方式展示出來,這個其實是今天大家在做 FinOps 領域的一個新方向,成本視覺化。能讓你看到每個部門叢集的利用率,以及和賬單的關聯關係。

這個檢視從財務人員和管理者角度來講都是非常需要的。每個團隊從費用角度和使用率角度來看到底是什麼情況,再結合費用的趨勢分析,對於 IT 和財務提出有效的成本優化策略非常有幫助。

容量成本優化,在雲原生領域有非常多的技術,比如彈性的能力,之前有一個說法,雲最重要的一個特點就是彈性,各種各樣的彈性,比如彈性伸縮、節點彈性、精細化排程等,這些大家都可以去探討和思考如何去優化你的成本,前提是你有視覺化的能力去看到這些成本。這也是我們今年很多企業交流非常熱的話題,就是如何去完成成本的視覺化和優化。

雲原生核心技術術

容器化+微服務=好搭檔

現在使用的使用者已經非常多了。但是很多企業今天在用微服務的時候會碰到很多問題,容器+微服務是非常好的實踐。微服務提供了很多價值,但是它也帶來了複雜性,包括鏈路的複雜性、運維的複雜性、出了問題之後如何快速定位等等一系列的複雜性。

容器從設計之初就是為了跑線上微服務業務而設計的,所以它裡面不管是 Service 的定義,還是高可用能力、排程能力、彈效能力其實都和微服務是一個非常好的搭檔。最初 K8s 興起的時候,第一波業務型別就是微服務,微服務體系圍繞 K8s 平臺,它需要一系列的配套能力。

微服務不是免費的午餐,你用了它,得到業務收益之外,也要為它做很多額外的事情,比如服務、註冊、發現和配置中心高可用、服務治理能力,如何保障線下流量的可控,還有閘道器層的設計、日誌監控等,這一系列的東西都是當企業決定把它的微服務跑在容器上時需要去考慮的問題,其實今天在阿里雲是有一個完整體系的。大家可以思考一下,今天你在容器上跑微服務的時候哪些是已經考慮並且做到的,哪些是需要加強的。

All on Serverless

最後一個和大家分享的趨勢是 Serverless。使用 Serverless 的企業數增速還是非常快的,今天很多人把 Serverless 等同於函式技術,其實這不完全對,今天的 Serverless 其實是一種架構理念,不是代表一個產品。

如果我們細化來看,Serverless 有多種形態,它有面對函式的 Serverless,就大家最常見的,我寫一段函式程式碼就可以跑了。還有一個是面向應用的,有非常多的企業不能接受全新的程式設計模型,希望已有的應用也能以 Serverless 的形態執行起來,享受 Serverless 帶來的技術紅利。

今天除了面向函式的 Serverless,還有面嚮應用、有面向 K8s 編排、面向容器例項的 Serverless,越來越多的企業會選擇不同的 Serverless 型別去做業務,這塊大家可以去思考一下,是不是有些業務可以考慮用 Serverless 去做,帶來的好處是彈性成本節約、開發和運維關注點分離,讓開發人員只關注開發,底下所有的東西都是一種無伺服器的架構幫使用者解決掉。

雲原生產品家族

最後這張圖包含了阿里云云原生產品家族,今天這個場聚焦的是其中幾塊,一個是容器服務,是整個雲原生的底座。還有一塊是雲原生的應用架構,涵蓋了微服務架構,基於訊息的異構呼叫、事件驅動架構、Serverless 架構等。最後還有一塊是雲原生應用的運維,當你的應用架構和系統架構變成雲原生之後,它的可觀測性、高可用也需要一些對應的能力,包括我們的壓測能力,高可用能力等。

最全面的雲原生開源貢獻

阿里在開源這塊的貢獻也是非常豐富的,相信在座大部分人都用過我們的開源產品,像 Nacos、Spring cloud alibaba、Seata、Sentinel 等等都是大家瞭解的,這些所有的開源都是來自於我們雲原生部門。

以上就是我介紹的所有內容,希望能對大家有所幫助,歡迎大家在評論區留言探討!

原文連結

本文為阿里雲原創內容,未經允許不得轉載。