- 軟硬件融合:超大規模云計算架構創新之路
- 黃朝波
- 6075字
- 2021-05-19 17:57:13
1.3 云計算的特點
云計算服務商所擁有的數據中心數量眾多、規模龐大,所提供的服務多種多樣,這使得云計算具有很多特點。其中,本質、關鍵的特點是大規模、“大”數據、多租戶等,隨著云計算的持續發展,這些特點會更加突出。
1.3.1 更大的規模
云計算數據中心規模越來越大,通常都是百萬級的服務器規模。例如,AWS在全球擁有22個地理區域和69個可用區,服務器數量為400萬臺左右。龐大規模服務器任何一點小的優化,都可以幫助用戶節省數以億計的成本,這對服務器提出了很多新的要求,很多大型互聯網公司都開啟了各種定制硬件的道路。例如,谷歌大部分服務器都是自己設計的,采用定制化托盤,內建備用電源,比傳統服務器的成本和能耗低得多,為谷歌節省了大筆電力開支。再如,Facebook攜手英特爾等公司于2011年成立了OCP(Open Compute Project,開放計算項目),旨在通過開源硬件技術加快數據中心技術和運維等方面的創新步伐。OCP一直圍繞網絡、服務器、存儲設備和開放Rack等展開創新工作,以開放硬件及相關軟件的形式促進整個生態的發展。
由于通用服務器要適應多種應用并兼顧擴展性,因此較難同時兼顧性能、能耗和成本,于是,為云計算定制的云計算服務器運用而生。云計算服務器對硬件資源進行更加充分的利用,實現量體裁衣,避免硬件資源的浪費。相比于傳統服務器,云計算服務器需要大規模部署,這要求云計算服務器部署密度更高、能耗更低及易于管理。
·高密度:云計算數據中心越來越大,土地資源有限,機房空間捉襟見肘,如何在有限空間容納更多的計算節點和資源是云計算發展的關鍵。
·低能耗:云計算數據中心建設成本中電力設備和空調系統投資比重達到65%,并且云計算數據中心運營成本中75%是能源成本。由此可見,能耗的降低對云計算數據中心而言是極其重要的,而云計算服務器是能耗的核心,因此云計算服務器實現低能耗對云計算數據中心的發展十分有利。
·易于管理:規模龐大的服務器管理極具挑戰性,通過云計算平臺管理系統、服務器管理接口實現自動化的部署和管理是云計算數據中心發展必須考慮的問題。
1.3.2 更“大”的數據
數據的使用正在改變我們的生活、工作和娛樂方式。全球各行各業的企業都在使用數據來改造自身,以使企業變得更加敏捷;根據數據引入新的業務模型并發掘新的競爭優勢,以改善用戶體驗。我們生活在一個日益數字化的世界中,幾乎生活的方方面面都已經數字化,甚至包括睡眠。
如圖1.3所示,IDC(知名市場研究公司)預測,到2025年,全球數據領域的數據規模將增長到175 ZB。IDC定義了數字產生和存儲的三個區域:核心、邊緣和終端。

圖1.3 IDC預測的全球數據按年增加量
·核心(Core):由企業和云計算服務商中的指定計算數據中心組成,包括所有類型的云計算(如公共云、私有云和混合云)及企業運營數據中心(如運行電網和電話網絡的數據中心)。
·邊緣(Edge):不在核心數據中心、經過企業強化的服務器和設備,包括現場服務器、基站和區域的較小數據中心。
·終端(Endpoint):包括網絡邊緣上的所有設備,如PC、電話、工業傳感器、聯網的汽車和可穿戴設備等。
如圖1.4所示,從數據產生規模的角度來看,終端所占百分比是逐年下降的,而核心和邊緣所占百分比越來越多;從數據存儲的角度來看,終端存儲的數據量隨著時間推移逐年與核心存儲的數據量持平,這使得核心成為所有類型數據的首選存儲庫。IDC預測,到2024年,在數據存儲方面,核心的數據占比將增加一倍以上。

圖1.4 數據產生和存儲的三個區域的占比
如今,數據量仍呈爆炸式增長,這么多數據的產生、傳輸、處理、存儲、分析等都會對硬件的性能、帶寬、延時、空間、功耗、成本等構成極大的挑戰,應對大數據時代的挑戰有賴于體系結構更深層次的創新。
1.3.3 更多的租戶
多租戶是云計算最為顯著的特點。多租戶是在一定安全機制上讓多個不信任方共享資源,同時給這些不信任方完全獨占資源的“假象”。例如,公寓大樓為每個租戶提供單獨的空間,同時為他們提供公共空間、安全性及物業等資源。多租戶模式可以顯著降低云計算用戶的資源擁有成本,這使得云計算逐漸成為IT基礎設施的主要模式。
Gartner(知名咨詢公司)給出了多種不同層次的多租戶模型,如圖1.5所示。數據中心IaaS層的多租戶模型主要是基于虛擬機共享硬件的虛擬化,通過虛擬網絡技術構建VPC,為每個租戶提供獨立的資源域,并創建虛擬機實例。云計算服務商為滿足不同租戶個性化需求,提供了多種應用場景和主機類型,為不同用戶主機匹配個性化網絡安全策略,并且針對不同租戶設定不同的本地或遠程存儲盤的安全、加密和備份策略等。

圖1.5 Gartner彈性和多租戶參考模型
若想更好地在一個云計算體系里支持更多的租戶,并且以租戶VPC域、服務實例、I/O設備等為單位提供更多個性化的服務支持,同時能夠兼顧性能和成本,則需要硬件更細粒度虛擬化的支持。
1.3.4 更復雜的網絡
網絡是數據中心核心的功能,其關鍵的兩個性能指標是帶寬和延遲。云計算是多租戶場景,多租戶域間隔離、跨域訪問及動態的網絡變化也是數據中心網絡非常重要的特點。
1.更大的帶寬
數據量越來越大,網絡傳輸的帶寬也在快速升級,疊加數據中心東西向流量,據英特爾估計,數據中心內部的流量每年以25%的速度增長。當前數據中心大規模商用的主流數據帶寬是25Gbit/s,預計未來會逐步過渡到100Gbit/s。
帶寬逐步增大意味著許多現有的網絡數據處理架構會逐漸無法滿足更高性能的處理要求。例如,傳統的基于內核TCP/IP的網絡處理會逐漸被DPDK取代,目前已經有完全硬件卸載的網絡處理設備進行了批量部署。
2.更低的延遲
Akami的一項研究表明,頁面加載速度每延遲1s就會導致轉化率平均下降7%,頁面瀏覽量下降11%,用戶滿意度下降16%。在金融行業中,即使1ms的延遲也會對高速交易算法的性能產生巨大影響。金融行業對延遲敏感的一個案例是,某公司投資了4億多美元,只是為了將紐約與倫敦之間的傳輸時間縮短5ms。
在線事務處理(OLTP)的工作負載主要由南北流量控制、客戶端請求、服務器響應,通過相對簡單的三層網絡結構就能得到很好的服務。但是,隨著社交媒體和移動應用程序的爆炸式增長,流量模式已從南北向(客戶端和數據中心之間)轉變為東西向(數據中心內部的流量)。據估計,單個在線查詢可以在數據中心內部生成數百甚至數千個請求,數據中心只有在這些請求全部生成之后才能對其進行響應。在這種模式下,即使數千個請求同時執行,并且需要花費較長響應時間的請求相對少見,但該模式仍然最終決定了服務的總體響應時間。
3.域間隔離和跨域訪問
VPC是云計算服務商在數據中心內部為用戶提供的一個邏輯隔離的區域,用戶可以在自定義的虛擬網絡中創建云計算服務資源。底層的虛擬網絡系統實現了不同用戶網絡區域的隔離。
不同的私有網絡區域并不是完全封閉的,有些場景需要跨域訪問。例如,一些非實例型“獨立服務”提供的服務就不是完全封閉的,當用戶從自己的VPC去訪問另外某個VPC服務的時候,通常有兩種做法,一種是使用公網IP通過公網訪問;另一種是利用一些特定的滿足安全機制的跨域訪問服務,通過數據中心內部網絡訪問,以此來提升訪問效率,即數據中心內部的跨域訪問。又如,數據中心按照區域和可用區進行劃分,用戶跨區域數據中心多地容災或特定的服務和數據通信,需要跨數據中心訪問。
通過VPC把不同用戶或系統的資源隔離是出于安全的考慮;跨域訪問是在保證安全基礎上出于性能和功能的考慮。
4.動態的網絡變化
單個數據中心服務器規模可以達到數萬臺,需要數千臺網絡設備將這些服務器連接在一起,這種大規模的數據中心網絡管理難度大,網絡運行故障定位難,運維成本非常高。大規模數據中心動態網絡變化主要體現在如下幾方面。
·云計算是多租戶模式,不同的租戶業務之間需要完全隔離,數據中心通過虛擬網絡來實現不同租戶網絡域的隔離。租戶及租戶的資源一直處在動態的變化中,這加劇了網絡變化的頻次并加大了網絡管理的難度。
·數據中心的數萬臺服務器不可避免會發生故障,用戶業務在不同的物理服務器之間遷移也會對網絡變化產生影響。
·互聯網上層業務日新月異的變化也會對網絡變化產生影響。
1.3.5 安全問題無處不在
在Mazhar Ali等人于2015年發表的文章Security in cloud computing:Opportunities and challenges中,細致地總結了云計算安全所面臨的挑戰。除了與傳統IT基礎設施共享的風險,云計算服務的部署方式還引入了特定于云的安全風險和漏洞。云中的安全風險可能與傳統IT基礎設施的風險在性質或強度方面有所不同。
云計算允許多用戶通過虛擬化技術使用同一資源池,盡管這些虛擬化技術引入了快速的彈性和資源的優化管理,但也給系統帶來了一定的風險。如圖1.6所示,通過網絡通信安全、架構安全和合同/法律三大領域來梳理云計算場景面臨的安全挑戰。
1.網絡通信安全
云的外部通信(用戶與云之間)與Internet上的通信類似。基于互聯網的特性,云通信面臨的挑戰與傳統的IT通信面臨的挑戰相同,這些挑戰包括拒絕服務、中間人、竊聽、基于IP欺騙的洪水和偽裝。這些挑戰的解決方案也與常規采用的解決方案相同,如安全套接字層(SSL)、互聯網安全協議(IPSec)、加密算法、入侵檢測和防御系統、流量清理和數字證書。
云的內部通信,即數據中心內部東西向的網絡通信,主要體現在如下幾方面。
·共享基礎設施。資源池化不僅是計算和存儲資源的共享,還是網絡資源的共享。網絡的共享為攻擊者提供了跨租戶攻擊的可能性。
·虛擬網絡。物理網絡上的安全和保護機制無法監視虛擬網絡上的流量。虛擬機的潛在惡意活動超出了安全工具的監視范圍,這成為云通信面臨的嚴峻挑戰。
·安全配置錯誤。云計算網絡基礎設施的安全配置對于向用戶提供安全的云計算服務至關重要,錯誤配置會從根本上破壞用戶、應用程序和整個系統的安全性。虛擬機、數據和應用程序在多個物理節點之間的遷移,流量模式,拓撲結構的變化都需要動態地管理各種安全策略,而動態管理意味著隨時刻刻都可能引發安全風險。

圖1.6 云計算安全面臨的挑戰
2.架構安全
虛擬化允許多個用戶使用相同的物理資源,為每個用戶實例化一個單獨的VM,從而允許在多租戶環境中進行資源池化。虛擬化在鏡像共享、隔離、逃逸遷移、回退及Hypervisor問題等方面給云用戶和架構帶來了一定的安全挑戰。
云計算模型無法為用戶提供對數據的完全控制,而允許云計算服務商行使控制權來管理服務器和數據。數據存儲安全方面的挑戰體現在如下幾方面。
·數據隱私和完整性。與傳統計算模型的數據相比,云計算模型的數據在機密性、完整性和可用性方面更容易受到風險的影響。除了靜態數據,正在處理的數據也面臨安全風險。云計算場景的密碼、密鑰生成和管理機制也增加了數據加密的潛在風險。
·數據恢復漏洞。資源池具有彈性,會將之前用戶的資源在一定時間后分配給其他用戶,惡意用戶可能會通過特殊的數據恢復技術來獲取先前用戶的數據。
·存儲介質銷毀不當。當磁盤需要更換,數據不再需要,以及終止服務的時候,需要銷毀存儲介質。多租戶會增加設備清理的風險,在某個用戶共享的磁盤壽命結束時,可能由于其他用戶仍在使用而無法銷毀。
·數據備份。需要定期備份數據,以確保在某些特殊情況下,數據可用并可及時恢復。此外,還需要保護備份存儲,防止未經授權的訪問和篡改。
云計算服務商通過Internet向云用戶提供服務和應用程序。云應用程序具有與傳統Web應用程序相同的漏洞。但是,傳統Web應用程序的安全解決方案并不適用于云應用程序,因為云應用程序中的漏洞可能比傳統Web應用程序更具破壞性,并且多租戶共存使問題變得更加嚴重。傳統Web應用程序中的十大風險:注入(SQL、OS和LDAP)、身份認證和會話管理破壞、跨站腳本(XSS)、不安全的直接對象引用、安全配置錯誤、敏感數據暴露、缺少功能級別的訪問控制、跨站請求偽造(CSRF)、使用已知易受攻擊的組件、無效的重定向和轉發,傳統Web應用程序的開發,管理和使用必須考慮這些風險。API橋接了用戶和云中的服務,API的安全性極大地影響云計算服務的安全性和可用性。
在云計算環境中,數據和服務的機密性、完整性與身份管理、訪問控制聯系在一起,跟蹤用戶的身份并控制未經授權的訪問非常重要。與傳統的IT設置不同,云可以使用不同的身份驗證和授權框架,同時使用相同的物理資源來處理不同組織的用戶。云計算服務具有彈性和動態性,經常重新分配IP地址,并在較短的時間內啟動或重新啟動服務。云計算服務的按需付費功能使用戶可以頻繁創建和釋放云資源,但是需要使用動態、細粒度、嚴格的訪問控制機制來防止未經授權的操作。
1.3.6 面向特定應用場景的云計算服務
云計算公司通過提供種類豐富的云計算服務來幫助用戶快速發展業務、降低IT成本及快速擴展。很多大型企業和熱門的初創公司都通過AWS等云計算服務商提供的云計算服務來完成自己的工作負載,包括Web和移動應用程序、游戲開發、數據處理與倉庫、存儲、存檔及很多其他工作負載。
AWS為用戶提供了大量基于云計算服務的全球性產品,如圖1.7所示。豐富的服務類型意味著針對各種特定的應用場景(如高性能計算、機器學習、內存數據庫、網絡轉發、存儲等)進行了定制、優化的服務設計。

圖1.7 AWS產品服務分類
針對特定場景定制、優化服務設計的原因如下。
·龐大的規模。云計算的規模越來越龐大,大型云計算服務商通常都擁有百萬級規模的服務器,并且規模仍在持續擴大,即使這些服務器分散到不同的應用場景,各個應用場景依然具有數十萬臺服務器。因此,非常有必要針對特定的應用場景進行服務設計的定制、優化。
·特定應用場景通常都性能敏感(通用應用場景無法覆蓋)。特定應用場景不僅需要軟件層面的優化,更需要硬件層面的優化。例如,AWS 的云計算主機通過基本 CPU、內存、存儲和網絡的不同組合,擴展出了計算優化、內存優化、存儲優化及業務加速等不同的主機類型,這些擴展的主機主要用于各種特定應用場景。如果特定應用場景性能要求更加苛刻,這些擴展主機依然無法滿足,則需要更深層次的定制優化。
龐大的規模及特定應用場景的需求是硬件定制優化本質的推動力量。然而,不同應用場景對底層軟硬件有著不同的需求,云計算應用場景硬件定制最大的挑戰是提供統一的平臺來滿足各種不同應用場景的優化定制需求。我們需要深入體系結構,通過底層軟硬件的協同優化重構,提供靈活、可擴展的軟硬件平臺,以更有效地支撐各種性能敏感應用場景的需求。
1.3.7 服務接口的兼容性和通用性
大多數用戶都希望云計算服務能夠向前兼容,這樣已有的系統可以無縫遷移到云。云計算服務的用戶類型很多,只有云計算服務提供的是通用接口,才能夠保證云計算服務覆蓋絕大部分用戶的應用場景。例如,云計算應用場景主流的操作系統是Linux,它不僅能兼容許多開源的商業軟件系統,也能向前兼容很多舊版本的軟件系統。
通過虛擬化技術為上層虛擬出完全一致的硬件平臺,包括一致的處理器架構、內存訪問及I/O設備。絕大部分云計算服務器的CPU都是x86架構的,都支持VT-dCPU和內存的完全硬件虛擬化,這樣能夠在不損耗云計算服務器性能的基礎上提供一致的處理器架構和內存訪問。但物理I/O設備的類型通常很多,即使同種類型的物理I/O設備,其設備供應商也不止一個,這就形成了不一致的I/O接口。
一致性的I/O接口主要靠類虛擬化的技術來實現。Virtio是已經得到廣泛應用的通過I/O類虛擬化技術實現的接口標準。Virtio通過分層的方式提供標準的軟硬件接口,并在其之上封裝網絡、塊存儲、字符等各種特定類型設備的訪問,這樣的優勢是可以最大限度地復用大部分設計;缺點是沒有針對特定類型設備的特點進行優化,效率較低。
- Axure RP 7.0從入門到精通:Web + APP產品經理原型設計
- P2P網絡測量與分析
- 巧學巧用Dreamweaver CS6、Flash CS6、Fireworks CS6網站制作
- 計算機網絡
- Web標準網頁設計原理與前端開發技術
- Adobe XD界面設計與原型制作教程(全彩)
- 電子商務信息系統開發建設
- Cisco Unified Communications Manager 8:Expert Administration Cookbook
- 云計算數據中心規劃與設計
- Nutanix超融合基礎架構權威指南
- 深入淺出ASP.NET Core
- 制造網格
- Learning Bing Maps API
- Bootstrap 4 Web設計與開發實戰
- 計算機網絡教程(第4版)