一、企業(yè)應(yīng)用架構(gòu)的未來演進(jìn)趨勢
今天,承載在物理服務(wù)器上的、以關(guān)系數(shù)據(jù)庫為核心的、事務(wù)型的傳統(tǒng)架構(gòu)應(yīng)用占據(jù)了企業(yè)應(yīng)用的大半江山。但同時(shí),我們也看到了由數(shù)據(jù)驅(qū)動的分布式架構(gòu)應(yīng)用、CloudNative應(yīng)用走上了企業(yè)應(yīng)用的舞臺。在未來,可以預(yù)見,隨著移動互聯(lián)網(wǎng)的普及、大數(shù)據(jù)技術(shù)的不斷成熟、網(wǎng)絡(luò)帶寬的不斷提升,基于分布式架構(gòu)的應(yīng)用會逐步擠壓傳統(tǒng)應(yīng)用的空間。根據(jù)權(quán)威分析機(jī)構(gòu)的最新報(bào)告,在2020年,幾乎所有的應(yīng)用都會承載在云端,傳統(tǒng)架構(gòu)與分布式架構(gòu)的比例也會發(fā)生逆轉(zhuǎn)。
根據(jù)架構(gòu)核心關(guān)注點(diǎn)的不同,我們可以把企業(yè)業(yè)務(wù)云化的演進(jìn)劃分為三個(gè)階段:
Cloud1.0:以數(shù)據(jù)庫為核心的傳統(tǒng)業(yè)務(wù)應(yīng)用云化。此階段的應(yīng)用以數(shù)據(jù)庫為核心,垂直整合,架構(gòu)緊耦合,典型場景BOM域、VAS域等應(yīng)用系統(tǒng)云化(資源池化)。基本都是存量應(yīng)用的云化搬遷過程,核心關(guān)注點(diǎn)在于業(yè)務(wù)平滑上云,資源最優(yōu)利用。
Cloud2.0:分布式、服務(wù)化的新應(yīng)用云化。此階段的應(yīng)用以數(shù)據(jù)為核心,去中心化水平分層,大規(guī)模,架構(gòu)松耦合。這個(gè)階段既有存量應(yīng)用的改造上云,也有直接基于云化、服務(wù)化開發(fā)的新業(yè)務(wù)上云,典型場景開發(fā)測試環(huán)境云化。新應(yīng)用云化的過程,核心關(guān)注點(diǎn)在于業(yè)務(wù)開發(fā)(改造)服務(wù)化,業(yè)務(wù)使用服務(wù)化。
Cloud3.0:微服務(wù)化、CloudNative應(yīng)用云化。此階段的應(yīng)用以云原生、微服務(wù)化為核心,在去中心化水平分層,大規(guī)模的基礎(chǔ)上,進(jìn)一步解耦,輕量化,可組裝,急速上線,架構(gòu)松耦合。這個(gè)階段的應(yīng)用直接基于微服務(wù)的架構(gòu)來開發(fā)。CloudNative應(yīng)用,核心關(guān)注點(diǎn)在于業(yè)務(wù)極速上線,快速試錯,對應(yīng)的業(yè)務(wù)組織、維護(hù)組織相應(yīng)變革。
二、云平臺基礎(chǔ)設(shè)施——支撐企業(yè)應(yīng)用架構(gòu)漸進(jìn)式演進(jìn)的基石
企業(yè)云轉(zhuǎn)型不是一蹴而就的,而是一個(gè)逐步演進(jìn)的過程,目前從演進(jìn)階段上來說,雖然部分互聯(lián)網(wǎng)企業(yè)已經(jīng)開始了Cloud3.0的探索,但絕大多數(shù)企業(yè)都處于從Cloud1.0到Cloud2.0演進(jìn)的過程中,在這個(gè)轉(zhuǎn)型的過程中,如何選擇一個(gè)既符合業(yè)務(wù)演進(jìn)要求,又穩(wěn)定可靠的企業(yè)級云平臺,是CIO們最為關(guān)注的事情。
下面我們云平臺基礎(chǔ)設(shè)施的演進(jìn)來進(jìn)行一次深入的探討。
Cloud1.0:
如上圖,Cloud1.0階段,主要承載傳統(tǒng)業(yè)務(wù)的云化搬遷,聚焦于資源池化,在這個(gè)階段虛擬化架構(gòu)是我們的不二選擇。
那么面對繁多的虛擬化廠商,紛繁的技術(shù)流派,如何取舍?在回答這個(gè)問題之前,我們再回顧一下,Cloud1.0階段業(yè)務(wù)云化的核心訴求為“業(yè)務(wù)平滑上云,資源最優(yōu)利用”。
資源利用最優(yōu),大家很容易理解,這里不再贅述。
對于“業(yè)務(wù)平滑上云”,這里面包含了三層含義,其一,應(yīng)用不改,從物理環(huán)境平滑搬遷到云化環(huán)境;其二,維護(hù)組織不變,從維護(hù)物理環(huán)境到維護(hù)虛擬化環(huán)境,組織結(jié)構(gòu)基本不變;其三,業(yè)務(wù)體驗(yàn)一致,企業(yè)傳統(tǒng)關(guān)鍵應(yīng)用云化,需要保持業(yè)務(wù)體驗(yàn)的一致性、安全性和連續(xù)性。
通過上面的分析,我們不難得出,Cloud1.0階段,對于虛擬化平臺的選型要素有二:一是開放,能夠支持多樣的企業(yè)應(yīng)用,能夠支持承載這些企業(yè)應(yīng)用的GuestOS(包括一些老舊系統(tǒng)),能夠支持主流廠商的硬件設(shè)備;二是企業(yè)級可靠性,企業(yè)級可靠性是傳統(tǒng)關(guān)鍵應(yīng)用云化的必然要求。
我們這里選取了主流的虛擬化平臺VMware、XEN、KVM為代表來進(jìn)行一些對比分析。
首先,從發(fā)展歷程來看,虛擬化技術(shù)起源上世紀(jì)60年代,IBM因大型機(jī)硬件昂貴,為提升資源利用率提出,虛擬化技術(shù)真正走向成熟是隨著x86發(fā)展起來,商用軟件領(lǐng)域選擇VMware是業(yè)界的領(lǐng)頭羊,我們重點(diǎn)分析開源領(lǐng)域,XEN和KVM是主要的兩個(gè)技術(shù)流派,XEN虛擬化技術(shù)發(fā)展早,成熟商用時(shí)間更早,但本質(zhì)上仍屬于同代的技術(shù)。
其次,從業(yè)界虛擬化技術(shù)應(yīng)用領(lǐng)域分布來看,XEN具備大規(guī)模商用案例,KVM商用案例少成熟度尚待檢驗(yàn)。
?從企業(yè)私有云市場來看,XEN家族( Hyper-V、Xen-Server、Oracle Xen)使用量僅次于VMware,占30%+。KVM商用案例較少。
? 從公有云服務(wù)市場來看,主流運(yùn)營商均使用Xen家族平臺,包括AWS、Rackspace、SoftLayer、阿里、Oracle。
? 由于在虛擬化領(lǐng)域的起步較早,XEN對Guest OS有更好的兼容性,特別是RHEL3, SuSE SLES 9等早期的操作系統(tǒng),KVM無法支持。
再次,從兩種虛擬化的技術(shù)生態(tài)對比看,我們可以看出這兩種開源技術(shù)軟件棧技術(shù)生態(tài)基本相似,只是技術(shù)架構(gòu)存在差異,是兩種擁有各自特點(diǎn)的虛擬化技術(shù),不存在誰在開源生態(tài)或技術(shù)上更先進(jìn)的問題。
最后,從平臺架構(gòu)的角度,XEN、KVM架構(gòu)各有所長。
?XEN平臺架構(gòu)側(cè)重安全性:為保證安全性,各Domain之間對共享區(qū)域的訪問和映射必須通過Hypervisor授權(quán)
?KVM平臺架構(gòu)側(cè)重性能:VM之間以及與Host Kernel之間對共享區(qū)域的訪問和映射無需Hypervisor進(jìn)行授權(quán),故整個(gè)訪問路徑較短;使用Linux baremetal內(nèi)核,損耗更小。
以上僅僅是理論分析,在實(shí)際的應(yīng)用中,基于XEN和KVM架構(gòu)的商用發(fā)行廠商表現(xiàn)如何,更多取決于發(fā)行廠商的技術(shù)能力和工程經(jīng)驗(yàn)積累(如對性能有嚴(yán)苛要求的SAP HANA,全球獲得認(rèn)證的三家廠商(云服務(wù)商)AWS、VMware、華為中,AWS、華為均采用XEN平臺,至今還未有任何基于KVM的發(fā)行廠商通過認(rèn)證)。
綜上,不難看出,在Cloud1.0階段,閉源的VMware或基于開源XEN的發(fā)行版是最佳選擇。
cloud2.0:
步入Cloud2.0時(shí)代,伴隨的分布式應(yīng)用、大數(shù)據(jù)應(yīng)用的來臨,數(shù)據(jù)庫服務(wù)需要裸金屬來發(fā)揮最佳的性能及維保問題,傳統(tǒng)業(yè)務(wù)已經(jīng)被云化(資源池化),新的業(yè)務(wù)的開發(fā)、部署需要資源服務(wù)API,需要更加開放的生態(tài),單一的資源池化(虛擬化)已經(jīng)無法滿足業(yè)務(wù)需求。如何根據(jù)業(yè)務(wù)的需要,同時(shí)支持傳統(tǒng)業(yè)務(wù)、分布式新業(yè)務(wù)部署在同一朵云上,也越來越被CIO們所關(guān)注。
答案就在在云統(tǒng)一管理平臺(云OS),通過云平臺,構(gòu)建“一云多池”的基礎(chǔ)設(shè)施體系,可以輕松滿足業(yè)務(wù)發(fā)展對開放的生態(tài)、統(tǒng)一的API、統(tǒng)一的服務(wù)的核心訴求。
傳統(tǒng)的關(guān)鍵應(yīng)用,部署在成熟可靠的VMware或者Xen之上,保護(hù)企業(yè)歷史投資;新的業(yè)務(wù)由分布式來保證業(yè)務(wù)自身的高可用,降低了對虛擬化平臺可靠性的要求,故開發(fā)測試類應(yīng)用,可以選擇KVM來建設(shè),對于性能有極致要求的NFV類應(yīng)用,可以用KVM資源池來承載,重載數(shù)據(jù)庫應(yīng)用,也可以部署在物理服務(wù)器上,通過物理服務(wù)器自動化納入云平臺統(tǒng)一管理,形成統(tǒng)一的云服務(wù)提供給最終用戶,實(shí)現(xiàn)了資源多樣化供給,資源服務(wù)統(tǒng)一化呈現(xiàn)的目標(biāo)。
縱觀云平臺的發(fā)展,從Eucalyptus到CloudStack,再到OpenStack。隨著包括IBM、HP、VMware、華為、RedHat、AT&T、Orange等主流IT廠商、電信運(yùn)營商的加盟,OpenStack已成為當(dāng)今最具影響力的云計(jì)算開源項(xiàng)目,是企業(yè)IT當(dāng)前最佳的選擇。目前OpenStack正成為未來云平臺的事實(shí)標(biāo)準(zhǔn)和絕大多數(shù)客戶的選擇。
Cloud3.0:
在當(dāng)前業(yè)界還處于探索階段,當(dāng)企業(yè)云轉(zhuǎn)型漸漸深入之后,業(yè)務(wù)軟件本身開始按照云的特點(diǎn)進(jìn)行重新的設(shè)計(jì)和重構(gòu),大量創(chuàng)新應(yīng)用也是按照微服務(wù)的架構(gòu)和CloudNative思想設(shè)計(jì),因此這一階段的架構(gòu)選型需要滿足業(yè)務(wù)對輕量化、分布式、敏捷性的要求,多采用容器技術(shù)實(shí)現(xiàn),其中以Docker應(yīng)用最為廣泛,而承襲Cloud2.0的“一云多池”架構(gòu),可以通過增加容器資源池輕松搞定,。
三、總結(jié)
綜上所述,企業(yè)云轉(zhuǎn)型真正需要的是漸進(jìn)式云化,拒絕斷崖式革命,不改變現(xiàn)有應(yīng)用的前提下,平滑遷移業(yè)務(wù)到云平臺上,可以納管已有設(shè)備,保護(hù)現(xiàn)有投資,在此基礎(chǔ)上,具備基于新技術(shù)的創(chuàng)新業(yè)務(wù)快速推向市場的能力,支持企業(yè)數(shù)字化轉(zhuǎn)型,同時(shí)云平臺的建設(shè)要滿足開放架構(gòu)的要求,構(gòu)建開發(fā)者和ISV的生態(tài),避免被單一廠商鎖定。
為了構(gòu)建企業(yè)級開放云平臺,當(dāng)前企業(yè)IT架構(gòu)需要混合IT的基礎(chǔ)設(shè)施去承載不同的業(yè)務(wù)類型,滿足企業(yè)云轉(zhuǎn)型的各方面訴求,通過“一云多池”的統(tǒng)一架構(gòu),打造統(tǒng)一API,統(tǒng)一服務(wù),開放生態(tài)的開放企業(yè)級云平臺基礎(chǔ)設(shè)施助力企業(yè)業(yè)務(wù)變革。