Azure Stack技術深入淺出系列2:談Azure Stack在私有雲/混合雲生態中的定位
一、 國內私有雲業務前景
就在今年4月,工信部發布《雲計算發展三年行動計劃(2017-2019)》,提出2019年雲計算產業規模將達到4300億。雲計算已成為國家新一代信息產業發展的重要戰略。從中國整個IT投入來看,政府、央企、國企以及大型民企占據主要份額,這些企業都意圖擁抱雲計算以提升生產力,但出於安全的考慮,又暫時對公有雲有所顧忌。因此未來幾年,私有雲業務仍然會占據中國大部分市場份額。
根據Right Scale發布的《2017 State of the CloudSurvey》(參見下圖),VMware vSphere以42%的占比居於首位,其次是OpenStack (20 %)和VMware vCloud Suite (19 %),Azure Pack/Stack從16年的9%增長到17年的14%,漲勢迅猛,值得一提的是,有28%的公司正處於Azure Pack/Stack的試驗(Experimenting)和計劃(Plan to use)階段,緊隨其後是OpenStack(25%),暗示了AzurePack/Stack未來巨大的增長潛力。隨著微軟Azure Stack(2017年7月)的姍姍到來,2018年全球私有雲市場局面可能會發生變化。
二、 私有雲平臺的技術功能對比
2.1 OpenStack
OpenStack開始於2010年,由NASA(美國國家航空航天局)和Rackspace合作研發並發起,是一個旨在為公共及私有雲的建設與管理提供軟件的開源項目,發展速度非常快。
為方便說明比較,以下以具體OpenStack項目-儀電i-stack智慧城市雲操作系統(基於OpenStack開發,見下圖)為例,i-stack提供雲平臺的基礎管理功能,包括計算、網絡、存儲等。
2.2 Azure Stack
Azure Stack到2017年7月才提供GA版本,但目前還是可以通過技術預覽版了解該技術。Azure Stack本質上是核心Azure服務的一個私有實例。
Microsoft Azure自2010年起開始提供公有雲服務,微軟也以Windows server、 Hyper-V system center 和 Azure Pack的形式提供私有雲。然而,由於這些公有雲和私有雲服務使用不同的技術運用的,它們並不兼容。 Microsoft Azure Stack改變了這個狀況。
Azure Stack是Azure的擴展,通過軟件的形式部署到企業或者服務供應商數據中心。無論從接口和體驗上,都與Azure高度統一,可以向公有雲無縫擴展。這種方式促進了鎖定,對供應商有利,但對客戶的好處也很明顯,因為它提供了一個更快,更容易的私有雲路徑。
“比如受到嚴密監管的金融機構,擁有多個分散在各地的工廠的制造企業,或者那些需要在汪洋大海的輪船上運行數據密集型應用程序的郵輪公司。這些不同種類用戶的共同點都是渴望利用公有雲快速的創新並擴展這些能力到一些公有雲無法企及的場所以使他們開啟新的商業機會。”
誠如 Jeffrey Snover在Azure Stack Technical Preview 2發布時提到的,Azure Stack讓企業在防火墻後獲得與公有雲相同的能力,解決了監管限制、 數據敏感性,網路延遲以及自定義功能需求。
Azure Stack源自於Azure。以下是Azure Stack的架構概覽:
Azure Stack在IaaS層借助Windows Server 2016的軟件定義存儲Storage Space Direct技術和軟件定義網絡能力。同時跟Azure公有雲類似,通過資源提供層(Resource Provider)對象封裝物理層的資源及能力,最後通過Azure Resource Manager統一的對資源接口進行封裝,供相關的UX和SDK調用。我們在後續系列文章中將專門分析Azure Stack的系統架構。
2.2.1 Azure Stack提供的服務及能力
2.2.2 硬件需求
Azure Stack只支持審核通過的硬件,對資源要求較高。微軟最初的規劃是在2016年末前提供Azure Stack,讓客戶可以在他們自己選擇的硬件上運行Azure Stack。考慮到早期的本地雲解決方案失敗的原因很大來自復雜性,有太多需要用戶自己修改的部分。去年7月,微軟轉變了規劃,要求用戶以一體機的形式購買Azure Stack。GA以後用戶可以從微軟的合作夥伴包括戴爾EMC、HPE和聯想處購買已經預置好軟件系統的一體機,另外2018年之後可以從思科和華為處獲得一體機硬件。省去用戶自己搭建的繁瑣,顯著提升效率。
Azure Stack GA階段公布的最小集群為4個服務節點,最大集群為12個節點。全部集群節點工作在一個scale unit一個region之中。其中一個機架上包含兩臺Top-of-Rack 交換機,一臺BMC管理交換機,另外還需要一個1U的生命周期管理節點,用於安裝部署及更新維護。下表描述了Azure Stack多節點環境對不同資源的基本需求:
組件 | 要求 |
---|---|
Top-of-Rack Switches | 一個機架兩臺交換機用於高可用; |
10GbE或更高的網絡聯通 | |
支持BGP、DCB、PFC、ETS和MC-LAG | |
BMC/管理網絡交換機 | 1GbE交換能力,通過L3路由無縫連接至ToRs |
服務器節點 | CPU:最小20 cores(2 socket @ 10 cores) |
內存: 最小256GB | |
啟動盤: 1或2個(鏡像復制)400GB | |
網卡:至少10Gb,2個端口的RDMA網卡 | |
管理網口:BMC | |
電源:雙電源 | |
存儲-緩存設備:至少兩塊NVMe或SSD硬盤 | |
存儲-存儲設備:至少4塊HDD或SSD硬盤 |
2.3 OpenStack和Azure Stack功能對比
隨著雲計算技術日漸成熟,不同雲平臺所能提供的功能也日漸同質化,比如OpenStack可以通過多個分支擴展來覆蓋雲計算領域的眾多功能點。當然具體產品和服務的穩定性需要經過一段時間的測試來識別。在不做過多說明的情況,本文僅對比了OpenStack社區版本提供的基礎服務能力以及Azure Stack 目前公布的GA功能。相關功能比較僅代表了不同產品定位,不能作為性能好快的最終評價。
對比點 | OpenStack | Azure Stack | |
---|---|---|---|
IaaS | 虛擬機生命周期管理 | 有 | 有 |
雲主機QoS | 無 | 有 | |
可用性集(VM HA) | 無 | 有 | |
虛擬機規模集 | 無 | 有 | |
容錯域 | 無 | 有 | |
更新域 | 無 | 有 | |
負載均衡 | 有- | 有 | |
Ipsec VPN | 有 | 有 | |
DNS Zone | 無 | 有 | |
Live Migration | 有 | 有 | |
超融合 | 有- | 有 | |
PaaS | App Service | 無 | 有 |
無服務框架平臺 | 無 | 有 | |
微服務平臺 | 有 - | 有 | |
消息隊列服務 | 無 | 有 | |
管理/開發 | 密鑰倉庫 | 無 | 有 |
MarketPlace | 無 | 有 | |
混合模式支持 | 有- | 有 | |
Restful API接口 | 有 | 有 | |
基礎設施即服務架構 | 無 | 有 | |
一鍵部署模板 | 有 | 有 | |
監控 | 有- | 有 | |
不停止業務升級 | 無 | 有 | |
其它 | 可靠性 | 中 | 高 |
穩定性 | 中 | 高 | |
運維復雜度 | 高 | 低 | |
桌面支持 | 中 | 高 | |
使用成本 | 中/低 | 中/高 | |
規模 | 理論上無上限 | 4-8(GA) |
分析:
從基礎支持功能上看, Azure Stack提供功能更為全面,包括虛擬機規模集、更新域、DNS Zone等相對於其它私有雲服務獨有的功能,特別是在PaaS層,創造性地提供App Service、無服務框架平臺、消息隊列服務功能。並且Azure Stack運維復雜度低,可靠性、穩定性和桌面支持都很高。
IaaS層,Azure Stack更關註性能的提供,而OpenStack雖然在虛機層面的容錯、擴展、高可用方面也有諸多開源的分支實現,但目前仍不是主流的Openstack解決方案。PaaS層Azure Stack更多的是在借助Azure的PaaS層技術支持,OpenStack通過配合多款開源PaaS層組件構建自己的PaaS層解決方案;在管理/開發方面,OpenStack表現不錯,支持REST API 和一鍵部署模板,但不支持基礎設施即服務架構和不停止業務升級。同樣,由於是開源項目,OpenStack運維復雜度更高。但在規模上,OpenStack優勢明顯,理論上無限擴容,而Azure Stack在GA階段只支持4-12個節點,可能會限制用戶應用場景的選擇。
綜上可以看到,Azure Stack的定位不僅僅是一個純IaaS的私有雲平臺,更多地是在借助Azure公有雲的PaaS服務實現一個部署在私有雲中的Azure實例。
三、Azure Stack和OpenStack應用場景分析
是選擇商用雲平臺Azure Stack還是選擇開源雲平臺OpenStack創建企業私有雲確實是個問題。下面我們通過分析性價比、自主可控、性價比、穩定性、易用性等方面,來探討兩種雲的使用場景
3.1 價格: Azure Stack 高 OpenStack低
如果采用OpenStack技術,有上表中5種方式部署。451 Research的研究表明, DIY相對成本較高,選擇供應商提供的OpenStack分發版,或者直接通過服務提供商(它們也可能使用流行的分發版),運營總成本會有所降低。根據451 Research雲價格指數,運用RedHat OpenStack私有雲機小時成本約為0.10美元,可以測算出,100%使用率下,每虛擬機年費為1300美元左右。
如果使用Azure Stack, 成本包括,一體機硬件費用,一次性安裝費,Azure Stack服務使用費等。
如上圖所示,Azure Stack服務采用與Azure相同的計量單位,且微軟官方表示單價會更低。可以猜測購置一體機硬件費用在總花費上比重最大。我們預估每個節點(軟件+硬件)年費為25萬美金(利用率100%),假設每節點有50臺Base VM(含Blob存儲), 這樣每虛擬機年費為5000美元左右(數據僅供參考)。
可以揣測,在初期,Azure Stack在價格方面不會具備特別大的優勢,甚至比較昂貴。價格及服務交付方式體現了Azure Stack在設計方面的一種思想,在人工成本日益增加的今天,專註於提供一種產品盡量壓縮公司在安裝、部署、運營等方面的顧慮,將註意力更多的聚焦在業務層面上。這種模式特別適合歐美的雲計算現狀。當然,在OpenStack占主導地位的中國私有雲市場,這並不是現狀,但這確實是未來發展的一個趨勢。
3.2 自主可控: Azure Stack 低 OpenStack 高
2014 年以來,受“棱鏡門”信息安全事件的影響,我國對信息安全的重視度逐漸加強,推出了一系列應對措施,各種政策和意見明確了通過自主可控的技術來建設國內信息化平臺的方向。OpenStack作為開源項目,意味著雲平臺會更加自主可控。因此,對於政務雲等具有政治敏感性或對安全可控性較高的場景,OpenStack是比較合適的選項 。
3.3 混合雲支持能力: Azure Stack 強 OpenStack 弱
企業對公有雲和私有雲需求存在很大差異,公有雲的優勢是便宜、便捷,企業基本不需要自己運維,私有雲的優勢是管理和控制,企業可以隨時進行修改。最完美的解決方案是業務可以在公有雲、私有雲上自由切換,但實際上除了青雲等少數廠商,雲廠商在公有雲和私有雲的底層架構設計是不一樣的,因此公私切換中存在很多問題。
而Azure Stack改變了這個狀況,Azure Stack天生具有支持混合雲的基因,它與Azure共用應用模型、自主門戶平臺和API,並且兩者開發與DevOps、集成管理和安全、身份認證、數據平臺均一致,Azure Stack真正具有混合雲所需的高度一致性。
3.4 使用難度: Azure Stack 小 OpenStack 大
OpenStack具有陡峭的學習曲線,需要花費大量的精力和資源來部署私有雲平臺,這也是讓許多初創公司在考慮部署私有雲時對OpenStack望而生畏的原因之一。而易用性恰恰是微軟的優勢,為了便於管理,Azure Stack開發了視覺化管理平臺和圖形化界面。同時微軟的設計讓部署流程簡單化。因此Azure Stack適合沒有技術積累,但對私有/混合雲有迫切需求的廠商,如轉型中的傳統企業、一些初創公司等。
3.5 最終用戶信任度: Azure Stack 高 OpenStack 一般
Azure Stack是成熟的商業產品,用戶信任度較高;OpenStack的用戶信任度則一般
3.6 交付周期: Azure Stack 短 OpenStack 長
OpenStack項目周期較長,一般需要半年以上;Azure Stack通過一體機的方式獲得全面的解決方案,交付周期較短。Azure Stack部署迅速,初始狀態即可交付上百臺虛機。
3.7 穩定性: Azure Stack 高 OpenStack 一般
毋庸置疑,由於微軟在Azure Stack上投入大量的研發及測試成本,Azure Stack在穩定性上要優於開源OpenStack。Azure Stack適合金融雲等對穩定性、安全性要求較高的場景,同時,金融企業有能力承擔不菲的資金投入。同時,用戶可以實時地、低風險地使用Azure Stack與Azure資源。
綜上,Azure Stack非常適合混合雲使用場景,官方文檔描述的Azure和Azure Stack混合雲案例如下:
邊緣及離線解決方案:借助本地和雲的通用應用程序邏輯,在Azure Stack中處理本地數據,然後在Azure中整合和進一步分析,以解決延遲和連接性問題。
跨雲和本地的現代應用程序:借助Azure Stack,可采用Azure網絡及移動服務、容器、無服務器計算以及微服務架構,來更新和擴展現有應用程序,並使用本地和雲端的一致DevOps流程。
滿足任意法律法規的雲應用程序:在Azure上開發和部署的應用,可借助Azure Stack在本地環境下靈活部署,滿足國家、地域及行業相關法規和政策要求,且無需任何代碼修改
雖然Azure Stack價格上優勢不大,但穩定性和最終用戶信任度高,交付周期短,而銀行等傳統金融對穩定性、安全性和實時性要求極高,且要求極強的線下交付能力,非常適合采用Azure Stack私有雲;互聯網金融P2P業務,彈性要求高,適合Azure公有雲為主的混合雲策略。同時,Azure Stack易用性強,適合沒有技術積累但有迫切運需求的傳統企業或初創公司。
OpenStack自主可控,適合政務雲等對安全和穩定性要求較高的場景,是政府、央企、國企的優選對象;且OpenStack相對價格低廉,對於技術型中小企業也是不錯的選擇。
四、Azure Stack技術啟發
Azure Stack作為即將推出的新的混合雲平臺,有許多地方值得我們研究和學習的地方。我們通過對比分析體系架構、功能特點及市場領域等方面,總結如下:
4.1 雲平臺的全生命周期管理
一方面由於Azure Stack一體機設計的初衷,當然更源於Azure Stack采用了Azure原生的雲平臺架構及技術支撐,在設計之初Azure Stack就追求對整個雲平臺的全方位管控及全生命周期管理。尤其體現在雲平臺的升級環節,一方面可以提供動態的補丁更新,另一方面所有的物理節點可以在服務不中斷的前提下一組一組的完成整個升級流程。另外整個固件的升級過程也被包含在系統升級流程之中,可以隨軟件包一起推送到生命周期管理節點完成升級維護。
全生命周期管理的另一個特點是,無論是SaaS、PaaS還是IaaS,Azure Stack和Azure都有配套的監控及故障診斷方案,用戶或開發人員可以根據自己的需求設定一定的監控規則或故障診斷方式來一起介入對服務的管理,經過大量在Azure上的實踐,相關功能已經日趨完善,給使用者帶來了很友好的用戶體驗提升。
4.2 基礎設施即代碼
基礎設施即代碼(Infrastructure as a code, IaaC)的設計理念貫穿於Azure的兩代門戶(經典門戶和ARM門口),即使是兩臺門戶無法相互兼容,微軟也在強力推行基於ARM(Azure Resource Manager)的設計。所以,毫不意外Azure Stack中承載了與Azure完全一樣的ARM結構,足以實現一套代碼可以在兩個不同平臺部署完全相同的功能組件及服務。同樣的,緊接著微軟的步伐,2016年中旬阿裏雲推出資源編排ROS的預覽版服務,使基礎設施及代碼成為可能。Azure Stack中ARM實現的不單單是一鍵部署應用,同時將整個ARM體系與系統更新、系統擴展、系統維護有機結合起來。一個很典型的功能體現是,用戶可以先手動部署一份應用,Azure Stack自動將整個部署過程抽象為ARM模板文件,然後用戶導出模板文件可以用來在Azure或其它Azure Stack環境快速部署。
4.3 存儲方面
Azure Stack在軟件定義存儲(SDS)技術上,使用了Windows Server 2016的Storage Space Direct技術,這是一項跟ceph使用形式很類似的超融合軟件定義的存儲結構。可以充分利用高性能盤構建的緩存性能來提升整個存儲系統的IOPS能力,另外基於軟件定義的統一存儲架構可以實現動態的無限擴展、線性性能提升、故障自動遷移等特性。基於對使用資源的諸多規範,使得在性能上,Storage Space Direct提供了足夠的QoS保障,可以保證不同租戶、不同虛擬機所使用的存儲性能彼此互相隔離而不會產生資源競爭導致IOPS下降。另外,通過對接口及路徑的優化可以充分發揮高性能盤的功能,實現百萬級的IOPS並發性能。除了IaaS層面的優化,Azure Stack在PaaS層,根據不同用戶的業務需求提供了Queue、Table、Blob等多種類型的存儲方式,同時提供了基於SAS(Shared Access Signatures)的共享訪問控制,提供足夠靈活的開發級訪問需求的同時也嚴格控制了系統的安全性。
4.4 混合平臺的業務模式和技術形態
Azure Stack作為一款典型的混合雲平臺產品,在混合雲技術架構及業務支撐方面有很多值得學習及借鑒的地方。首先,基於Azure AD的賬號管理體系(Azure公有雲提供了Identity as a Service能力),打通了私有雲和公有雲的統一認證體系,同時可以借助AAD所提供的服務能力,快速的將其它的賬號體系、自定義域名、自定義應用權限管理、多因子認證能力、單點登錄等多種功能有效結合。在業務支撐技術構建方面,Azure Stack不再單純把網絡聯通作為混合雲的標準,提供了更深層次的整合,比如前面提到的通過ARM打通了同一套代碼開發體系在不同雲平臺的部署、從IaaS、PaaS到SaaS、用戶自有應用多個維度的備份能力及業務提供。
4.5 其它
Azure Stack不是一款純粹的私有雲產品,所以它借助了很多Azure的功能特性和技術專長,並在Azure Stack環境中得到了充分的體現。比如GA階段提供的App Service服務、SQL/MySQL數據庫即服務等PaaS業務都為Azure公有雲原生服務的裁剪。另外,Azure Stack的另一個特點,是可以借助Marketplace的同步功能,未來不斷的從Azure同步應用及服務來擴展其生態。
作者:周穎穎
參考
雲服務趨勢:企業上雲成共識,公有雲將取代私有雲
微軟公開預覽Azure Stack產品發布目標2017年中
OpenStack私有雲和VMware私有雲誰更貴?
艾瑞咨詢:2016年中國雲服務市場規模超500億
如果對文章內容感興趣請聯系:
儀電(集團)有限公司Azure Stack技術支持團隊( [email protected] / [email protected])
轉載請註明:轉載自Azure Stack Notes博客(http://a-stack.com)
Azure Stack技術深入淺出系列2:談Azure Stack在私有雲/混合雲生態中的定位