1. 程式人生 > >混合雲架構,如何實現混合雲落地?(上)

混合雲架構,如何實現混合雲落地?(上)

混合雲架構,如何實現混合雲落地?(上)

 

雲端計算在2016年有了極大的增長。一方面,AWS、阿里雲等大型公有云廠商的雲端計算收入呈爆發式增長且絕對值資料可觀;另一方面,通過持續市場培育,雲端計算的價值逐步被各國政府所認可。很多大型企業也紛紛發力雲端計算,傳統IDC採購出現增長拐點。各種聲音不斷提醒人們,雲端計算不再是雷聲大雨點小的噱頭,而是成為大中小企業不可或缺的基礎設施。2017年,雲端計算真正落地的話題逐漸成為業界討論的熱門話題。

當前,私有云和公有云相爭的熱潮漸弱,融合兩者優勢的混合雲開始逐漸釋放巨大的市場潛力。混合雲的背後不再是廠商,而是一種混合IT架構,是公有云與私有云的整合。因此,如何構建基於雲端計算的混合IT架構,成為CIO和CTO避不過的問題。

本文作為(上)篇,我們首先回顧公有云與私有云的優缺點,之後聊聊到底什麼是混合雲、使用場景與產品有哪些。

公有云與私有云優缺點

混合雲架構如何實現混合雲落地?(上)

筆者曾經在公有云廠商和私有云廠商都有過研發經歷,對公有云和私有云各自能帶來的優勢和侷限都有比較深入的體會。對於市場來說,公有云和私有云都有它們無法被取代的優勢,最好的選擇就是根據自身業務結合二者,這一點也已經得到了市場的普遍認同。

混合雲的定義與使用場景

混合雲的定義

對於混合雲的定義,中國資訊通訊研究院曾經提出過觀點,是必須要同時有公有云和私有云,這也是大多數廠商和使用者的認知。筆者認為,這樣的定義只是物理上的堆徹,兩者之間如果不能發生化學反應,並不是真正的混合雲,也無法催生出創新型應用,無法真正幫助使用者提高業務價值。混合雲不是簡單的對公有云和私有云進行1+1=2的運算,而一定要讓它們產生大於2的價值。

虛擬化與雲端計算的區別

為了更好的理解這點,讓我們來回顧一下虛擬化與雲端計算的區別。虛擬化是一種技術,而云計算則是基於虛擬化技術之上的昇華,它讓使用者能夠管理一個數據中心及其增值服務,將IT資源以服務的形式交付給使用者,從而讓使用者能夠專注於業務而不是IT資源。虛擬化幫助使用者提高硬體的資源利用率,而云計算則幫助使用者提高整個資料中心的整體資源利用率,這中間也包括軟體、網路、儲存甚至於人力的資源利用率。

那麼,混合雲作為雲端計算的一種形態,它要給使用者帶來的價值,並不是簡單的把公有云和私有云堆徹在一起,而是讓兩者產生碰撞,從而提高使用者跨雲的資源利用率,催生出新的業務。

混合雲應該是幫助使用者接管跨雲、跨地域的IT基礎設施,把使用者花在底層實現上的精力解放出來,甚至可以反覆嘗試業務在公有云與私有云之間的組合模式而不用關心底層實現細節,從而極大提高使用者的生產力和降低業務的試錯成本。

故我們可以看到,混合雲不是簡單的一張皮,也不是完成連通的其中一個細節,它是包含了公有云各資源和產品以及私有云各資源和產品的一個有機整體系統。因此,同時存在公有云與私有云只是混合雲的必要條件,而非充要條件。那麼還需要有什麼呢?

混合雲架構如何實現混合雲落地?(上)

混合雲在資料中心的價值

我們先來看看使用者想要什麼。在同時存在私有云和公有云的情況下,使用者自然會想到如下場景:

l將私密資料放在本地,公開訪問入口放在公有云。

l高峰期能利用公有云的資源進行無限拓展。

l本地業務能加密備份在公有云。

l多資料中心通過公有云實現星形連通。

l開發測試在本地快速迭代,生產業務放在公有云。

l內部業務放在本地資料中心,對外開放業務放在公有云,完全摒棄掉公有云控制檯,在本地閉環完成所有操作。

事實上由於現在真正實施混合雲的使用者非常之少,還有大量未知的創新等待著聰明的使用者去發掘。

那麼如何來實現這些場景呢?在單一的私有云或者公有云場景下,使用者不需要關心底層是如何實現的,他們使用映象建立虛擬機器,使用快照備份磁碟,搭建多個二層或三層網路並在平臺上自定義路由和安全組來進行通訊,使用Autoscaling或其他編排系統來進行資源自動編排,並在一個多租戶場景下工作。

那麼在混合雲的場景下,我們則抽象出如下實現手段:

l建立和管理(包括運維)虛擬機器而不關心映象在哪裡或虛擬機器在哪裡。

l建立或備份磁碟而不關心磁碟在哪裡或備份在哪裡。

l搭建網路並定義它的通訊目標,無論是在本地資料中心或者公有云。

l自由編排資源,無論是在本地資料中心或者公有云。

l統一而不是割裂的帳戶管理體系。

混合雲產品主要基於災備、網路互聯和多雲管理

市場對混合雲的聲音日益龐大,但目前混合雲並沒有真正的標準,也沒有準確的定義。目前的混合雲產品主要基於以下三類:

基於災備產品

廠商通過使用者自定義的策略將使用者的資料備份到公有云,並可以恢復到本地。這主要是一些儲存廠商提供的產品,如英方雲、數騰雲、XSKY等。

基於網路互連產品

廠商主要做網路服務,幫助使用者快速完成本地資料中心與公有云的對接服務,達到互聯互通的目的。這主要是一些網路廠商提供的產品,如網銀互聯、遊馳、犀思雲等。

多雲管理產品

廠商主要做多雲管理產品,致力於幫助使用者在一套管理平臺上對多個公有云或私有云產品進行管理層面服務,增強使用者的一致性體驗,幫助使用者更好管理自己的雲端計算資源,並提供部分運維及PaaS服務。這主要是一些CMP廠商提供的產品,如Fit2Cloud、RightCloud、行雲管家等。

我們可以看到,以上幾類產品分別能夠幫助使用者實現基於私有云和公有云的一種或多種場景。

混合雲架構核心思路:連線一切IT,無縫混合體驗

瞭解混合雲的定義、使用場景和產品之後,我們來看看具體實現過程。作為雲端計算廠商或開發者,應該對功能矩陣非常熟悉。雲端計算廠商之間的比拼一個重要的層面就是功能矩陣的較量。

正是IaaS層提供了成百上千的功能點,才讓使用者得以輕鬆地進行各項業務開發。

在今天私有云和公有云都各自有了相似的巨大功能矩陣,我們仔細思考可以得出結論,大量的功能都是不需要跨雲的,例如GPU直通,只需要分別在私有云端和公有云端實現,作為混合雲服務商,只要把這個功能展現出來即可。但仍然有許多跨資源的關鍵業務,是需要混合雲廠商提供幫助的。

例如公有云上的路由,這條路由可以指向公有云VPC,也應該可以指向本地資料中心的VPC。類似這樣的業務,是混合雲功能的重點。

ZStack作為開源的國產自研IaaS軟體,進行混合雲的研發己經有一段時間。根據經驗來看,最重要的核心思路就是保證混合雲產品擁有連線一切的能力和無縫結合的能力。

連線一切IT

連線一切IT的本質是實現資料層面的打通,這是實現混合雲一切場景的前提條件。資料層面打通在今天主要是三個打通:帳戶打通、網路打通、儲存打通。

帳戶打通:使用一套帳戶管理公有云和私有云,即以私有云自身的帳戶體系和多租戶許可權管理為主體,公有云的AK許可權只是輔助。將公有云AK繫結到私有云的相應帳戶上,巧妙結合私有云和公有云各自的許可權體系,可以實現無比靈活的多租戶場景,建立起滿足企業要求的帳號管理體系。

網路打通:網路打通即指能夠將本地私有云的網路和公有云的網路在二層或者三層上連通起來,實現各種自定義的網路結構,如跨資料中心連通使用者的兩個子業務部門等。由於網路配置非常複雜,中間涉及到多種裝置,因此網路能力往往是雲端計算廠商綜合能力的體現。

儲存打通:私有云和公有云之間通常很難直接將儲存系統連線或擴充套件。所以我們指的儲存打通,是在快照和映象層面的打通。即虛擬機器或容器的快照和映象,能夠在私有云和公有云之間自由遷移,這種應該是代價極小的,如完全的增量遷移,或實時遷移等。從而可以使本地製作映象模板直接在公有云上建立雲主機,或反之。

在實現以上三個打通後,使用者就可以基於混合雲實現很多自定義網路,比如連線多個本地資料中心和多個公有云VPC,自由組合成星形、環形、網形等業務所需要的網路,並讓映象快照在各地之間共享。這一切的配置都可以在分鐘級完成,大大加速了業務創新,徹底取締了資訊孤島,實現全國一張網,一個系統。

無縫混合體驗

無縫結合更多是從控制面的設計來講,達到使用者所有的雲資源,不論是在公有云還是私有云,能得到一視同仁的處理。事實上由於公有云和私有云平臺天生模型的不一致(Azure stack這樣的平臺例外),很難強行把它們用相同的介面和邏輯來進行操作,而類似region,availability zone這樣的概念,更是無法對使用者遮蔽但私有云很難存在的概念。

所以在實現上,好的無縫體驗,應該是讓公有云和私有云的資源在同一個平臺上操作,它們的操作內在邏輯是完全一致,而非相互割裂。此處以建立雲主機和建立專線連線為例。

建立雲主機

當我們建立私有云主機時,需要選擇網路、主儲存、映象、資源規格、可能還有物理機、叢集等。而建立公有云主機時,需要選擇映象、安全組、網路、計算規格、可能還有可用區等。相比之下,公有云不可能看到物理機,而私有云不可能看到可用區,兩者的計算規格和網路的模型也可能完全不同。

我們可以將它們放在同一個頁面,但一個頁面還是兩個頁面,對使用者的操作路徑來說都是一步,所以意義不大。真正有意義的是讓使用者在操作過程中感受到完全的無縫。即建立的過程是完全相同的,所有資源都不需要到公有云控制檯去進行額外的查詢,本地就能閉環地完成所有操作。

建立專線連線

這是典型的跨雲資源操作。連線時需要選擇本地網路與公有云網路,這些選擇都應該是在平臺上直接進行選擇或建立(例如建立一個邊界路由器等),然後點選連線,混合雲平臺自動完成剩下的連線工作。不需要使用者登入到各個雲平臺檢視類似id、閘道器、cidr等屬性。從體驗上來說,使用者的直觀感受就是選擇了兩個網路,就建立了連線。而這背後,則是混合雲平臺進行了大量的建模和資料同步工作。
通過以上兩個示例可以看到,因為公有云和私有云之間的模型天生是有部分差異,因此無感知的混合雲並不是要強制使用者使用相同的模型去套用不同的雲平臺,而是在建立好對應的模型後,在後臺使用完全相同的邏輯去處理它們。而從API設計上來講,私有云和公有云資源的操作分屬不同的API,但它們的語義、引數都是非常相近的。