多云管理需求由來
前些年云平臺建設過程中,很多企業對云并沒有那么深的理解,抱著試一試的態度,所以在選型的時候就不是一次到位。另外不同的部門也可能選擇不同廠商的云平臺,經過一段時間的建設,企業內部往往會好幾朵云并存。這些云彼此之間廠商不同、架構不同、接口不同、界面不同等等,所以難以統一進行管理和維護,不得不考慮封裝一層來實現統一管理,這就是多云管理的需求。
很多人不斷地在鼓吹企業上云是“大勢所趨”,但他們只是鼓吹上云的好處,從來不提上云的壞處。而大部分客戶并不真正的理解云計算所帶來的優勢和不足,跟著別人隨大流,購買了公有云,建設了私有云等等,使企業IT架構日益復雜化。IT成本并沒有因此減少,而是在不斷攀升。
一種技術解決不了所有問題,上云并不是唯一選擇。決定上不上云之前一定要理解云計算所能解決的核心問題,一定要有自己的思考和選擇。云計算解決的是分布式網格計算問題,也就是算力問題。也就等同于利用CPU、內存、存儲、網絡等基礎設施資源實現分布式計算、網格計算能力,通過提供標準化的基礎設施資源計算服務(IaaS服務),支撐不同企業的大數據量計算和存儲等需求。在IaaS之上,有廠商構建了平臺服務能力(PaaS),為企業和個人提供應用的開發、部署、托管、運維等能力,這樣就不用直接去關心和運維基礎設施資源,只要有網絡就可以完成在線的應用開發、托管、運維運營,節省大量的人力成本等。而在IaaS和PaaS之上也可以部署開發好的應用,比如財務軟件、客戶管理軟件等,直接向用戶提供軟件服務(SaaS),實現開箱即用,一鍵注冊使用能力,這樣對小企業和個人客戶就更便利,完全不用自己搭建IT系統和平臺,直接按需使用,方便快捷。
正因為不同的廠商、不同的平臺、不同技術、不同的架構、不同的服務、不同的安全能力等等帶來了上云的不同選擇。有報告顯示企業平均會使用2.2個公有云和2.2個私有云。“多云”其實就是“上云”所帶來的額外成本。這些云彼此之間相互隔離,無法實現統一的資源管控,就需要多云管理平臺來實現統一管理。
既然多云已成現實,那么如何更好地實現多云管理,如何定義多云管理的邊界和功能范圍,是多云管理平臺產品化的關鍵。
多云管理的邊界和范圍
在2020年GartnerCMP魔力象限中,定義了CMP涉及的八項功能:調配和編排、服務請求、庫存和分類、監控和分析、成本管理和工作負載優化、云遷移備份和災難恢復、安全合規性和身份管理、打包及交付。其中核心的功能是成本管理和安全。從GartnerCMP功能定義來看,其實還是站在CMP廠商的視角來看待問題的,并沒有真正從用戶的視角來理解多云管理的需求,所以筆者認為其對多云管理的功能需求定位并不準確。
云計算解決的核心問題是算力問題,也就是基礎設施資源IaaS問題。所以云管的核心能力應該是管理不同云平臺的基礎設施資源,提供標準化的基礎設施資源服務IaaS。這樣就屏蔽了底層不同云平臺的差異,實現了異構云的統一基礎設施資源服務。
云管職責定位
筆者多次提到過,云管平臺是一個重要的工具,向下可以管理各種基礎設施資源,向上支撐容器云或容器化PaaS平臺,為容器化PaaS平臺提供資源,而容器云或容器化PaaS只使用資源不管理和維護資源,使容器云和容器化PaaS平臺專注于支撐業務應用管理,實現以應用管理為核心,這樣容器云、微服務治理、云管等平臺就可以有機整合在一起,成為一體。使云管承上管下。最終是要支撐業務應用在不同云平臺資源之間的調度。以基礎設施資源的彈性來更好的支撐業務應用的彈性。
2345截圖20211028093243.png
在實現云管平臺時,不是什么都加上去,一定要有所選擇,一定不要搞個大云管,什么都做。筆者認為比較好的定位是讓云管來管理不同的云基礎設施資源,至于中間件、中間件服務、應用、其他非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以實現以應用管理為中心的產品架構體系,那么其發展潛力將會是巨大的。