基于IaaS 公有云私有云深度比較
最近做了個內(nèi)部分享,談了些我自己對于公有云私有云的一些看法,以及一些評估此類解決方案的建議。截取其中的主要內(nèi)容和大家分享一下。

這里只聊IaaS。因為相對現(xiàn)在這個模式還是用的最多的,也比較容易比較。至于市場趨勢和前景會是公有云為主還是私有云為主,我沒資格多多評論,也不想去聊各自方案的價格。只是想說說針對不同需求,方案設(shè)計的一些特色和側(cè)重。

對于公有云用戶和私有云用戶,有個本質(zhì)上的區(qū)別。公有云用戶基本是從無到有:原先沒有服務(wù)器沒有完整的后臺IT架構(gòu),現(xiàn)在由于業(yè)務(wù)需求希望快速低成本的建設(shè)一個IT系統(tǒng);而私有云用戶其實是從有到?。簭脑韧晟频嫶蟛混`活的IT系統(tǒng),轉(zhuǎn)向一個效率更高,擴容升級更靈活對業(yè)務(wù)影響更小的系統(tǒng)架構(gòu)。
因此,大家的需求也不一樣。只說初期的需求,公有云用戶的需求就是快速上線,經(jīng)濟實惠。而私有云用戶更多的是要求平滑過渡,保留現(xiàn)有體驗,不影響現(xiàn)有業(yè)務(wù)。上圖基本總結(jié)了兩類用戶的不同訴求。

所以作為云方案的設(shè)計者,軟件供應(yīng)商,在應(yīng)對不同需求時候,云解決方案也會有不同的側(cè)重。
比如方案的針對客戶群是私有云,那么一開始設(shè)計時就會更多的關(guān)注于完善企業(yè)需求的高可用和業(yè)務(wù)連續(xù)性,數(shù)據(jù)可靠性一類的功能。會提供諸如多重備份,兼容多種存儲網(wǎng)絡(luò)協(xié)議及設(shè)備,保證虛機高可用的多種組件等等。
如果是針對公有云用戶的軟件方案,那么在一開始設(shè)計時候就會更偏重提供很好的虛機性能,更高的IOPS,存儲容量,能承載最多用戶或是虛機數(shù)等等偏重性能方面的東西,然后再隨著用戶不斷增加的需求再逐步完善更多高級的功能。
總之,任何一類方案,都不是一次性購買之后都盡善盡美的,都是會根據(jù)業(yè)務(wù)的發(fā)展不斷完善進步。但作為系統(tǒng)上線初期,公有云軟件會先關(guān)注整個系統(tǒng)的性能,滿足海量用戶的吞吐量,然后再根據(jù)不同級別客戶的需求定制化各種高可用數(shù)據(jù)備份功能;而私有云方案,由于一開始企業(yè)內(nèi)部的虛機用戶都不可能達到公有云的級別,但任何一個用戶對于虛機使用的可靠性安全性要求都很高,又擔心遷移帶來的影像,所以在一開始就會力求完善各方面的功能,使用戶能夠無縫安全的切換到私有云,放心的使用私有云,然后隨著使用的深入,再逐步提升私有云性能方面的東西。
性能和功能的對比
性能和功能,任何一項對于任何一種云都很重要。但不論公有云,私有云都不可能兩者都做到100分,都會各有側(cè)重。一個成功的IaaS云一定是根據(jù)它所針對的用戶群需求,把兩者的平衡做到最好。

下面我想提一個還不是很成熟的評估云系統(tǒng)的建議。就是用資源利用率來評估。這個資源包括存儲,計算以及網(wǎng)絡(luò),具體的描述定義見上圖。當然這個描述定義只是我個人的一些想法,還很粗糙不完善。宗旨就是想以類似數(shù)據(jù)中心PUE的方式來對于IaaS系統(tǒng)做一個評估。既然云計算能夠?qū)崿F(xiàn)對于資源最合理最有效的利用,那么也應(yīng)該有個相對可以量化的東西來對其對于各類資源的利用做一個考量。希望大家集思廣益,來看看應(yīng)該如何定義這個資源利用率標準會更合理更有代表性。

CUE,SUE,NUE這三個指標都是越低越接近1越好,但不可能同時都變低的。其實目前各類方案,歸根結(jié)底要么是以CPU換硬盤換路由器,要么是以硬盤以路由器換CPU。就看你自己的成本考量和對于針對用戶需求的評估。一旦基本評估有了,那么三者的不同權(quán)重在云建設(shè)者或者運營者的心里其實就有了。那么RUE也就基本確定,可以作為一個考核各家方案的相對參考了。當然,RUE隨著云規(guī)模的不同也會變化。比如一個100臺物理機的私有云云,當其規(guī)模變成了200臺,那么RUE肯定是會變大的。當然具體變大多少就取決各個方案的scale能力了。

現(xiàn)在我們來看看一般現(xiàn)在的云建設(shè)者,或者說云運營商會怎么來評估,考量一個云方案。上圖是我和一些運營商,方案采購者溝通了解到的他們的需求。簡單來說,私有云建設(shè)者考慮的主要還是安全:包括遷移后系統(tǒng)的高可用性能否得到提升,老系統(tǒng)遷移到云上面會不會影響業(yè)務(wù)等等。
實際應(yīng)用方案對比
而對于公有云運營商,會更多的關(guān)注該方案能不能最大程度利用到他們硬件的性能,能不能保證最終用戶的體驗等等。舉個硬盤出故障后數(shù)據(jù)恢復(fù)的例子吧。硬盤出錯在任何一個系統(tǒng)中式難以避免的,所以任何一個方案都會考慮到硬盤數(shù)據(jù)恢復(fù)的策略。而在公有云系統(tǒng)中和私有云系統(tǒng)中,這個策略是完全不同的。
在公有云中,要采取最終用戶最感覺不到,恢復(fù)時間最快最省錢的策略。而恢復(fù)完后副本是不是都一致,磁盤空間是不是多浪費之類,則可以放到第二優(yōu)先級。私有云則恰恰相反,方案上是必須首先要保證數(shù)據(jù)的一致性及其副本的完整性的。至于用戶在數(shù)據(jù)恢復(fù)期間體驗下降甚至不可用,則可以通過發(fā)郵件通知等形式提前預(yù)警,是可以被接受的。當然,這些都是在有限的預(yù)算前提之下。預(yù)算越多,當然方案可以考慮的越周全。

上圖列舉比較了兩個云軟件方案。這里為了避免一些不必要的麻煩,就隱去了方案供應(yīng)商的名字。可以告訴大家的,這兩個方案都是來自國內(nèi)的軟件公司,都有各自成功的部署案例。這里列出只是他們各自基本方案包里面的功能,沒有包含他們各自定制化服務(wù)的能力。紅字部分是他們各自相對較有特色的部分,綠字部分是他們云方案的一些共有特色。
總體而言,方案A會更適合公有云的部署而方案B會更受私有云建設(shè)者的歡迎。其實很顯然方案B在系統(tǒng)高可用,以及對于兼容舊有環(huán)境,功能方面花了更多的精力。而方案A則更關(guān)注如何幫助用戶快速部署,上線應(yīng)用?! 〉徽撃姆N方案,對于存儲系統(tǒng)的解決方案都不是很完善。其實業(yè)界對于這塊都還在探索之中。比較幸運的是,現(xiàn)在不論公有云,私有云,對于存儲的規(guī)模,性能還都沒有到要求很高的階段。特別私有云,現(xiàn)在大部分私有云物理機也就在10臺到20臺。在這個規(guī)模之內(nèi),任何一種現(xiàn)有存儲方案都是可以應(yīng)付自如的。但一旦規(guī)模到了接近100臺物理機,那么基于SAN的方案無論是性能還是成本都會是很大的問題。scale-out的架構(gòu)應(yīng)該會是方向,但怎樣保證文件系統(tǒng)傳統(tǒng)目錄結(jié)構(gòu)的兼容性會是另一個比較大的問題。對象存儲是另一條路。但其架構(gòu)諸如Swift本身擴容的局限性,和性能上的不足使其離真正近線使用還有一段距離。如果成本可行,物理機加PCI-E flash設(shè)備運行高性能需求虛機,再通過對象存儲做副本存放和備份或許是個不錯的解決方法,但一些類似vMotion之類功能的體驗也不可避免會有所下降。

再從我前面提到過的RUE這一指標來看看這兩個方案。很明顯方案A在CUE和NUE這方面比較有效率,也就是說CPU的資源被更多的用到了虛擬機的虛擬CPU那邊,網(wǎng)絡(luò)資源也更多的被用到了虛擬機的網(wǎng)絡(luò)IO層面。但是作為換取這些優(yōu)勢,特別CUE的優(yōu)勢,SUE存儲資源其實是被浪費了不少。這個和現(xiàn)在互聯(lián)網(wǎng)用的較多的多副本策略有關(guān)系。方案B在存儲資源的利用上做得比較好,這點和其在存儲方案上更多依賴于成熟商業(yè)存儲方案有關(guān)。但為了支撐更多的額外高可用功能,數(shù)據(jù)以及系統(tǒng)安全特性,網(wǎng)絡(luò),CPU資源就會被浪費得更多。也就是說,實施方案B會使用戶硬件配置里面的CPU檔次比方案B配的更高。至于這個代價成本孰優(yōu)孰劣。因為各家軟硬件報價成本都因人因項目而異,這里就不展開分析了。
總之,簡單推論,公有云系統(tǒng)里面,對于CPU和網(wǎng)絡(luò)資源的利用率會更高些,而對于存儲資源可能會相應(yīng)浪費的多些。在私有云系統(tǒng)里面,可能會采用更高檔次的CPU或是網(wǎng)絡(luò)設(shè)備,以其來換取別的資源利用率的降低。