一個企業好幾朵雲,多雲管理平臺設計定位究竟該如何考慮?

twt企業IT社群發表於2022-02-16

一個企業好幾朵雲,多雲管理平臺設計定位究竟該如何考慮?

【作者】汪照輝,中國銀河證券架構師,專注於容器雲、微服務、DevOps、資料治理、數字化轉型等領域,對相關技術有獨特的理解和見解。擅長於軟體規劃和設計,提出的“平臺融合”的觀點越來越得到認同和事實證明。發表了眾多技術文章探討容器平臺建設、微服務技術、DevOps、數字化轉型、資料治理、中臺建設等內容,受到了廣泛關注和肯定。


不管是由於歷史遺留還是出於監管要求等原因,不少企業目前都建設了好幾朵雲,面臨著多雲管理的問題,如何高效地整合使用這些不同的雲資源,是一個非常值得探討的問題。國內很多企業都有云管產品,但很多都是眉毛鬍子一把抓,什麼都對接,什麼都管,依然是傳統單體系統建設的思路,龐大而複雜。對於雲管管理的邊界和範圍、如何實現多雲管理、雲管和應用管理之間的關係、雲管和容器雲平臺之間的關係、企業內多雲管理是否有必要實現計費等等問題,都是需要認真考慮的。考慮清楚了這些問題,也才能建設真正合適的多雲管理平臺,真正助力企業數字化轉型。


多雲管理需求由來

前些年雲平臺建設過程中,很多企業對雲並沒有那麼深的理解,抱著試一試的態度,所以在選型的時候就不是一次到位。另外不同的部門也可能選擇不同廠商的雲平臺,經過一段時間的建設,企業內部往往會好幾朵雲並存。這些雲彼此之間廠商不同、架構不同、介面不同、介面不同等等,所以難以統一進行管理和維護,不得不考慮封裝一層來實現統一管理,這就是多雲管理的需求。

很多人不斷地在鼓吹企業上雲是 “ 大勢所趨 ” ,但他們只是鼓吹上雲的好處,從來不提上雲的壞處。而大部分客戶並不真正的理解雲端計算所帶來的優勢和不足,跟著別人隨大流,購買了公有云,建設了私有云等等,使企業 IT 架構日益複雜化。IT 成本並沒有因此減少,而是在不斷攀升。

一種技術解決不了所有問題,上雲並不是唯一選擇。決定上不上雲之前一定要理解雲端計算所能解決的核心問題,一定要有自己的思考和選擇。雲端計算解決的是分散式網格計算問題,也就是算力問題。也就等同於利用 CPU 、記憶體、儲存、網路等基礎設施資源實現分散式計算、網格計算能力,透過提供標準化的基礎設施資源計算服務( IaaS 服務),支撐不同企業的大資料量計算和儲存等需求。在 IaaS 之上,有廠商構建了平臺服務能力( PaaS ),為企業和個人提供應用的開發、部署、託管、運維等能力,這樣就不用直接去關心和運維基礎設施資源,只要有網路就可以完成線上的應用開發、託管、運維運營,節省大量的人力成本等。而在 IaaS 和 PaaS 之上也可以部署開發好的應用,比如財務軟體、客戶管理軟體等,直接向使用者提供軟體服務( SaaS ),實現開箱即用,一鍵註冊使用能力,這樣對小企業和個人客戶就更便利,完全不用自己搭建 IT 系統和平臺,直接按需使用,方便快捷。

正因為不同的廠商、不同的平臺、不同技術、不同的架構、不同的服務、不同的安全能力等等帶來了上雲的不同選擇。有報告顯示企業平均會使用 2.2 個公有云和 2.2 個私有云。“ 多雲 ” 其實就是 “ 上雲 ” 所帶來的額外成本。這些雲彼此之間相互隔離,無法實現統一的資源管控,就需要多雲管理平臺來實現統一管理。

既然多雲已成現實,那麼如何更好地實現多雲管理,如何定義多雲管理的邊界和功能範圍,是多雲管理平臺產品化的關鍵。


多雲管理的邊界和範圍

在 2020 年 Gartner CMP 魔力象限中,定義了 CMP 涉及的八項功能:調配和編排、服務請求、庫存和分類、監控和分析、成本管理和工作負載最佳化、雲遷移備份和災難恢復、安全合規性和身份管理、打包及交付。其中核心的功能是成本管理和安全。從 Gartner CMP 功能定義來看,其實還是站在 CMP 廠商的視角來看待問題的,並沒有真正從使用者的視角來理解多雲管理的需求,所以筆者認為其對多雲管理的功能需求定位並不準確。

雲端計算解決的核心問題是算力問題,也就是基礎設施資源 IaaS 問題。所以雲管的核心能力應該是管理不同雲平臺的基礎設施資源,提供標準化的基礎設施資源服務 IaaS 。這樣就遮蔽了底層不同雲平臺的差異,實現了異構雲的統一基礎設施資源服務。

  • 雲管職責定位

筆者多次提到過,雲管平臺是一個重要的工具,向下可以管理各種基礎設施資源,向上支撐容器雲或容器化 PaaS 平臺,為容器化 PaaS 平臺提供資源,而容器雲或容器化 PaaS 只使用資源不管理和維護資源,使容器雲和容器化 PaaS 平臺專注於支撐業務應用管理,實現以應用管理為核心,這樣容器雲、微服務治理、雲管等平臺就可以有機整合在一起,成為一體。使雲管承上管下。最終是要支撐業務應用在不同雲平臺資源之間的排程。以基礎設施資源的彈性來更好的支撐業務應用的彈性。

一個企業好幾朵雲,多雲管理平臺設計定位究竟該如何考慮?

在實現雲管平臺時,不是什麼都加上去,一定要有所選擇,一定不要搞個大雲管,什麼都做。筆者認為比較好的定位是讓雲管來管理不同的雲基礎設施資源,至於中介軟體、中介軟體服務、應用、其他非 IaaS 雲平臺,一定不要放在雲管上去做。雲管平臺並不是所有的 “ 雲 ” 都要管起來。雲管平臺兩項基本的能力:

1. 納管公有云和私有云 IaaS ,遮蔽異構雲平臺底層資源細節。

2. 為企業提供統一標準化基礎設施資源服務 IaaS 能力。

其他的如監控、計費、備份、分析、負載最佳化等功能都是基於這兩項基本能力的擴充套件。

  • 雲管是否管容器?

雲管平臺讓很多人混亂的一個問題是是否管理容器和容器雲。首先要認識到,提供 “容器服務” 和提供 “容器雲平臺服務” 是不一樣的。這是兩個層次的問題。容器服務可以簡單看作是 IaaS 層服務,而容器雲平臺服務則可以看作是 PaaS 層服務。理論上,雲管平臺可以提供容器服務,但筆者非常不建議直接使用容器,而應該透過容器雲平臺或者 PaaS 平臺封裝容器服務。容器雲(或 PaaS )平臺應該使用雲管的資源,其在雲管之上,所以雲管不應該去納管容器雲平臺,更不應納管容器化 PaaS 平臺。

容器、容器雲、容器化 PaaS 是不同的概念。筆者之所以要區分這些概念,就是要明確標準,否則你說你的,我說我的,雞同鴨講,是做不好事情的。很多人喜歡拿概念炒作,一個詞有很多意思,或者一個意思用很多詞來表示,很亂,不知道在說什麼。做技術要像數學一樣,要嚴謹,概念要清晰明確。雲管的職責定位也是要明確,才能做好雲管產品,才能更好地支撐企業業務發展和創新。

基於上面的考慮,雲管的邊界最好定義在 IaaS 層資源管理,納管不同的 IaaS 雲平臺、不同的儲存、網路資源,甚至不同的物理機、虛擬機器,為企業提供所需的各種基礎設施資源服務,實現基礎設施資源的彈性伸縮。雲管的功能範圍是基於多雲納管和統一的 IaaS 服務兩項基本能力之上的擴充套件。但云管不會去納管容器雲、中介軟體等。企業 IT 架構需要實現清晰的功能分層定義,使雲管專注於基礎設施資源的管理和供給。


多雲管理設計實現

明確了雲管的職責和功能範圍,在實現雲管平臺時,就相對容易很多。很多人認為雲管是定製化專案,顯然就是沒有完全理解雲管的定位。筆者認為雲管是可以做成一個很好的標準化產品,從而實現敏捷部署和擴充套件。在產品化的時候,需要站在甲方的需求立場上來看待問題。真正滿足甲方需求了,甲方才能滿意,才能願意花錢來購買產品。很多廠商都很聰明,有自己的小九九,但筆者卻認為其聰明有餘而智慧不足,格局不夠,所以國內的 IT 企業很難做大。企業 IT 架構的發展趨勢一定是實現系統的融合,而不是一個個單體,才能真正的實現敏捷部署和擴充套件,支撐企業數字化、智慧化轉型。因此,未來各種平臺之間一定要能做到無縫整合,這就要求各平臺、工具不能大而全,要有所取捨,明確定位。那些不開放的產品最終會搬起石頭砸自己的腳,被甲方拋棄。定製化未來將會是一條死路,合適的產品定位才是正確選擇。

首先,多雲管理是資源納管平臺,實現基礎設施資源統一管理和排程。雲管對於小企業可能是沒必要的,面對的客戶應該是大中企業,大中企業才可能會建設或購買使用多種不同的雲平臺,從而實現容災、備份等需求。這就要求能夠方便地將應用或資料從一個雲平臺排程到另一個雲平臺,而云管需要具備這樣的能力。比如說,在騰訊雲執行的應用需要在華為雲上也部署,從而實現備份和容災等需求,而對客戶來說,在雲管平臺上騰訊雲和華為雲只是兩種不同的資源型別而已,可以自由的排程應用到騰訊雲或者華為雲上,這就遮蔽了頂層異構雲細節,可以實現秒級的資源排程。

其次,雲管提供場景化標準資源交付,提升資源交付效率。不同企業有不同的業務場景需求,比如說中介軟體叢集部署場景、資料庫叢集部署場景、應用高可用部署場景、應用彈性伸縮場景、跨雲部署場景等;不同業務應用對資源的需求也是不一樣的,比如說 GPU 機器學習深度學習場景、高 CPU 計算場景、高記憶體快取場景、大資料儲存場景等等。這如同不同的人高矮胖瘦不一樣,所需的衣服長短大小就不同一樣。透過預先定義提供不同場景的資源服務,有針對性地快速支撐企業不同的業務需求,從而提升資源的匹配性和利用效率,也減少資源準備時間,提升資源交付效率。

第三,基於多雲的應用部署不能放在多雲管理平臺建設。多雲平臺承上管下,定位在 IaaS 資源管理和資源服務,它理論上還是 IaaS 層。應用的部署和管理放在 PaaS 平臺上,位於 PaaS 層,因此跨雲的應用部署和管理不要放在多雲管理平臺來實現。雲端計算的三種服務(三層服務)給我們一個很好的啟示,企業在 IT 建設中架構要分層,無論雲端計算的三層服務,或者前、中、後臺架構,其實都是要進行分層,從而實現複用,避免重複建設,節省成本,提升效率。

第四,中介軟體、資料庫等可以看作是一種應用,因此其可以在 PaaS 層來管理(筆者建議中介軟體和資料庫等的容器部署場景僅用於企業測試環境,不建議用於生產環境)。雲管始終定位於異構資源的管理和統一資源服務的供給。其他的可以交給上層的 PaaS 來負責。公有云、行業雲上的中介軟體和資料庫等的管理相對要容易些,因為不用考慮基礎設施資源的管理,至於使用這些應用的計費,也可以放在 PaaS 平臺來管理。

第五,多雲成本管理。雲管作為一個獨立的產品,需要考慮多雲資源使用的計費,從而根據需要排程到合適的雲平臺,實現成本最最佳化。這也是智慧運維的一部分關鍵能力。不過如果雲管跟 PaaS 有機整合在一起的話,計費和成本管理可以上移放在 PaaS 平臺,由 PaaS 平臺根據計費規則、成本規則以及資源可靠性、有效性指標等來進行智慧排程,實現最優的資源排程和成本平衡。


多雲場景資源排程一般原則

為了最佳化成本,多雲場景下資源排程可以遵循以下一般原則:

1. 私有云資源優先排程使用。在私有云資源不足時才排程到行業雲(或公有云)。為了節約成本,首先要使用私有云資源。企業私有云資源往往是有限的,在某些情況下需要排程到行業雲、公有云上,比如某些臨時性的重大促銷活動等,就可以在 PaaS 層透過雲管服務排程部分應用例項到公有云上。

2. 按行業雲(或公有云)的計費成本進行排序,優先排程到資費低的行業雲(或公有云)上。資費管理是雲管平臺的一項重要能力。不過透過資費管理可以更好地進行成本管理和最佳化。每家公有云的費用可能是不同的,不同時期資費也可能會發生變化,如何利用資費規則來節約成本是雲管平臺很重要的一個方面。

3. 根據業務或資料安全等級,對公有云安全能力進行評價,作為一個資源排程引數度量值進行計算。使用公有云很重要很關鍵的是要保證資料安全,特別對於大企業來說,資料的價值往往遠遠大於使用公有云所節約的那點費用,因此,資料安全能力是評價公有云的一個重要指標。

4. 根據公有云可靠效能力和資源有效性等指標進行評價,作為排程引數度量值進行計算。國內有公有云廠商曾經也出現過重大的故障,導致客戶資料丟失等難以挽回的損失。對於某些客戶來說可能是災難性的。因此從容災和高可用角度,也需要多雲部署來規避風險。根據公有云所提供的資源的有效性(可利用率、效能等)和可靠性(故障頻率、重大故障影響等)來進行度量,選擇合適的公有云。


多雲支撐場景

採用多雲的優勢在於不依賴於一家雲廠商,透過競爭從而獲得更好的服務。多雲可以滿足以下場景需求:

1. 應用多雲部署實現高可用、容災備份。多雲其實相當於傳統多個資料中心,滿足於很多企業 “ 兩地三中心 ” 的容災備份需求。

2. 資源彈性伸縮從而支援應用的彈性伸縮,實現應用自動擴充套件。私有云很大的問題是受限於算力資源,往往難以做到按需彈性伸縮。可以藉助行業雲和公有云實現某些場景的資源無限性,按需使用,用完釋放。

3. 多雲協助最佳化企業資源配置,專注於企業核心業務的高效基礎設施資源建設,避免千頭萬緒的設計需求,使企業能最佳化私有云基礎設施資源配置,更好地支撐關鍵的業務和場景。

4. 多雲也助力企業最佳化資源成本。不同場景對基礎設施資源的需求有不同,通用型資源往往會帶來浪費。使用不同的雲平臺根據費用規則可以最大化地最佳化資源使用成本,獲得最優的資源配置。

一個企業好幾朵雲,多雲管理平臺設計定位究竟該如何考慮?
多雲管理平臺在企業 IT 架構中是一個承上管下的關鍵元件,是企業數字化、智慧化運維運營的基礎支撐平臺。多雲管理平臺的設計定位會直接影響到企業 IT 架構的設計。雲管 + 容器雲平臺 + 微服務治理 +DevOps 是比較完整的產品體系。如果能基於雲管來支撐容器雲 PaaS 以實現以應用管理為中心的產品架構體系,那麼其發展潛力將會是巨大的。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994525/viewspace-2855874/,如需轉載,請註明出處,否則將追究法律責任。

相關文章