云服務重塑了企業級應用的架構,公共云成為了集成企業應用、平臺軟件和服務的一個設計中心。API驅動的資源按需分配,與傳統的企業數據中心基礎設施有著很大的不同。企業應用需要適應云服務的架構設計,同時又向云服務添加了企業屬性和服務的等級。
過去,企業級應用的主要體系結構是專用數據中心中構建的系統,其設計目的是為企業應用程序提供有保證的服務級別。這與公共云多租戶體系結構是完全不同的,本質原因是應用程序和服務作為分布式系統構建在虛擬化的資源之上。而對于一些IT部門而言,云服務只是為了避免公司財務審核的麻煩。
盡管許多大型公司已經成功地使用云服務交付了彈性而高效的應用,但是讓企業應用使用公共云仍然并非易事。靈活性和自動化可以簡化 IT 操作,云服務需要成為一個高性能的企業級平臺,需要能夠支持財務分析、 ERP系統和供應鏈管理等業務級應用。
企業級應用的SLA對云服務的挑戰
企業級應用需要額外屬性的業務環境,比如高可用性、安全性、可靠性或者性能,這些屬性對新舊應用都是適用的。例如, 由于監管或業務原因,數據安全性可能很重要。數據完整性的漏洞,可能導致錯誤的業務決策或財務結果,使公司損失真金白銀,甚至可能導致市場價值的損失。
SLA是企業服務的需求,通常采用提供者和消費者之間的契約,并對不遵守的行為進行處罰。具體和可測量的 SLO是用于測試 SLA 是否滿足的單個度量標準。在這里,云服務是指部署應用和服務的平臺,許多IaaS和 PaaS提供商都提供了云服務。云服務通常包括按需分配的自助服務、廣域網訪問、資源池、快速彈性等等。云服務交付的服務級別與企業期望的服務級別存在著普遍的差距。很多云服務的SLA一般在99.95% ~99.99%之間,而且不保證性能。
可靠性和可用性
企業級應用 SLA 的可用性可能是技術上的挑戰。例如,關鍵業務可能不能容忍每年超過5分鐘的停機時間,這需要99.999% 的可用性。相比之下,云服務中的資源經濟性可能有相對較高的預期故障率。例如,AWS的EBS服務大約每年的故障率為0.1%-0.5% ,這意味著可能每年高達1/200的故障率。
關鍵業務對數據不一致和數據損壞的容忍度通常較低。許多企業應用可能要被重新實現,使用“最終一致性”的架構來優化性能和可用性。當業務風險或懲罰足夠高時,一些企業應用更喜歡停機或數據丟失,而不是提供錯誤的結果。如果可用性足夠嚴格,它會給軟件施壓,使其實現快速恢復。
云服務鼓勵將“為失敗而設計”作為正常操作來實現高可用性。這就需要容錯軟件來補償那些不可靠的基礎設施,就像 RAID補償不可靠的物理介質一樣。可靠性和可用性已經成為了軟件的問題。或許,這是一個構建健壯軟件的機會。
性能
企業應用的性能需求各不相同。面向最終用戶的應用可能被管理為特定的響應時間。重要的業務,如 ERP 和財務分析,可以同時管理響應時間和面向吞吐量的 SLO,以支持特定的業務目標,例如隔夜交易策略的優化。
在云服務中,許多性能挑戰都是多租戶的副產品。實際上,物理資源成為了排隊系統: 多租戶的云設施超訂可能導致性能的巨大變化。無論存儲的性能,還是網絡的帶寬,都可能存在著“吵鬧的街坊”。計算的超訂也會對IO延遲產生負面影響,性能和成本之間存在著權衡。多租戶公提高了物理基礎設施的利用率,優化了云服務的成本,但無法以盡可能低的固定成本來保證共享物理資源的性能。超訂物理資源的性能可以隨機波動,而靜態物理資源的性能可以得到保證,但是成本更高。
如果要保證性能,靈活地使用虛擬資源是云服務中的一個需求,必須對分布式系統進行積極管理才能實現性能目標。
安全性
安全需求隨企業應用的類別而定,應用或數據的業務價值越高,安全需求就越嚴格。除了避免DDOS,以及“數據泄露” ,還要實施多層次的安全控制,因為沒有一個單獨的系統是完全安全的。
從企業安全的角度來看,云服務是一個有趣的環境。一方面,多租戶被認為是一種新的令人擔憂的環境。另一方面,跨負載實施的邏輯安全控制和自動化策略管理提供了一個增加安全性的機會。邏輯控件比物理控件更加靈活、可審計和可執行。網絡訪問的控制規則是邏輯控制的一個典型例子,可以直接應用于虛擬機,可以動態地提供邏輯分區,可以縮小適應工作負載中的準確資源,并在工作負載移動時移動邏輯分區。
云服務需要新的安全工具和技術,并重新思考傳統的安全技術,可能需要以編程的方式表示安全性的 SLO。用戶、應用和以數據為中心的探索,是應對實現更高級別安全SLA的挑戰。
企業級應用對云服務的適應性
企業級的數據中心通常針對預定的用例集進行優化。專用系統通過預集成組件實現具體的服務水平,具有固定的價格成本和性能,包括硬件設備、備份系統,以及私有云等。供應商垂直集成硬件和軟件組件以提供服務級屬性(例如,I/O速率、物理資源配置、故障隔離等)。通過將供應商的部署與性能和可靠度的最佳實踐相結合,可以滿足更高等級的 SLA。
專用系統需要高帶寬的節點間通信,并提供了非常高的性能級別。企業可能會為特定的用例支付額外費用。
靜態集成VS動態分布
當然,專用系統和公共云之間的硬件差距正在縮小。云服務已經創造了適合大規模部署和運營的硬件設計,這種趨勢可能會持續下去,因為合理規模的虛擬機資源具有實際的好處,例如,簡單的可擴展性問題、節點間數據移動的成本降低,或者價格/性能/功耗效率等等。此外,一些云服務廠商還提供了具有一定服務級別的專用系統。
云服務是動態的和分布式的,專用系統是靜態的和集成的。虛擬化資源針對自動化、成本和規模進行了優化,還擁有平臺和硬件抽象層。抽象是提供更高級別SLA的一個挑戰,由于不知道哪些虛擬資源位于相同的性能和故障域中,因此很難保證服務級別。
企業的基礎設施有機會進行轉換。在實現高可用性分布式系統這一具有挑戰性的工作中,應用程序將能夠抵御組件故障,并且對高可用性基礎設施的需求將隨著時間的推移而減少。SLA 可以在云服務上的軟件中交付,為企業應用提供企業屬性和服務級別。
云服務上企業級應用的 SLA
相對于企業的需求,云服務中的按需資源實際上是無限的。雖然很少公開披露,但據保守估計,單個公有云的服務器數量達到了數十萬,而且還在快速增長。這已經比一個擁有數萬臺服務器的大企業數據中心大了一兩個數量級。與大型網站上的數百萬最終用戶相比,50000最終用戶對于企業業務、批處理或分析應用來說都是一個不小的數字。
云服務從根本上改變了當今企業應用和基礎設施的體系結構,資源不再是固定的, 甚至有額外的CPU和 RAM 供應給企業應用。資源只受預算的限制。
雖然 云服務提供了有限的SLA,但通常需要應用和平臺軟件圍繞著應用的特性(如性能、彈性、可用性和成本)來提供保證。由于與多租戶相關,需要通過設計來容忍任意的失敗,并實現自己的 SLA。
Software defined everything(軟件定義一切)。
軟件定義的SLA
軟件定義的SLA可能是個潛在的解決方案,提供了一種新的設計模式,將 SLA和 SLO形式化為云服務軟件組件中的可配置參數。然后,這些組件管理基礎資源,以滿足特定的SLO 需求。使用按需分配的資源,可以通過系統層來滿足某些 SLO,而這些 SLO 以前需要進行規劃、靜態分區和超額供給。最后,云服務的API將軟件定義的SLA合并為運行時配置。
軟件定義的SLA可以為基本服務級別指定度量,如響應時間、I/O吞吐量和可用性,還可以指定抽象但可衡量的屬性,如地理分布或負載約束。軟件定義的SLA應該是獨立于供應商和技術,在邏輯單元中指定,并且是客觀可測量的。
可能的實現
軟件定義的SLA需要在云服務中實現,用于運行時可配置的 SLOs擴展,用于高可用性和容錯,以及用于按需分配計算能力和 I/O資源。
鑒于分布式系統開發的挑戰,不太可能對軟件定義的SLA采用一刀切, 可以在應用服務、平臺組件中實現各種編程式的 SLO。特定應用的上下文確定了哪些組件適合給定的用例,由于云服務和企業應用都是動態目標,可能會迭代云服務提供的屬性與企業應用提供的屬性,以及介于兩者之間的軟件組件和服務。
運行時重新配置非常具有挑戰性。QoS技術是必要的,但還不夠,動態提供 RAM、 CPU 和存儲資源以滿足不斷變化環境條件下的 SLO是必需的。然而,軟件定義SLA的價值會證明重大的工程努力和成本是合理的。在考慮性能和數據可用性時,必須考慮計算能力和數據存儲的配置,這些可以減輕與多租戶網絡相關的一些性能問題。
一般來說,可以使用標簽來確定資源,特別是實現安全性的SLO。基于主機的虛擬網絡和 OpenFlow 提供了更多的機會來標記網絡流中的用戶和組。安全性的 SLO可以通過將用戶和組標記與訪問控制關聯來實現。類似地,存儲服務元數據中的數據集標記有助于實現數據相關的 SLO(例如,數據可用性、復制、訪問控制和加密密鑰管理策略)。
成本優化
即使使用私有云技術,過度供應仍然是保證服務級別的標準方法。專用系統的整個成本必須預先支付,包括SLA和隨時間推移不斷增加的超量供應開銷。公共云服務中的資源可以根據需要分配和釋放,因此可以根據實際使用情況計費。就可變工作負載的運行效率而言,這是公共云服務超越專用系統的一個機會。
由于實現不同的 SLO可能需要可變資源,因此軟件定義的SLA與成本函數相關聯。面對不斷變化的基本條件(例如,不可預測的多租戶資源) ,成本是一個隨機變量,即使所有其他 SLO 都是固定的。
軟件定義SLA的限制
軟件定義的SLA在理論和實踐上都可能有著局限性。由于成本始終是需要管理的系統級參數,因此有些組合可能不起作用。即使給定無限的成本,有些 SLO也可能在物理上無法實現。此外,設計糟糕的云服務可能不適合軟件定義的SLA。
在動態資源管理領域, 物理屬性可以分解為單獨的可消費單元。例如,計算資源可以獨立于 I/O、 I/O 吞吐量獨立于容量,CPU 和 RAM 獨立于彼此。這削弱了專用系統的縱向一體化優勢。
公共云服務引入了根本的經濟轉變——價格/性能指標需要考慮到工作負載和運行時間。由于公共云服務具有隨需應變的特性,價格是隨時間分配資源的函數,以工作負載運行后的小時或天計算,而不是標準的企業硬件生命周期。還有更多機會通過自動化測試基礎設施和分析來驗證軟件定義的SLA,這為第三方驗證SLA和適當評估懲罰提供了可能。
與云服務的同步成長
對于公共云服務來說,處理大量的企業計算用例將是一次有益的旅程。與過去一樣,企業應用模型的轉換可以逐步進行,從非關鍵的應用程序開始,并隨著生態系統的成熟而向上構建。公共云創新的步伐是無情的,大量的能源和資金繼續涌入公共云基礎設施。從歷史上看,企業平臺的結構發生了根本性的變化,這是計算經濟學不斷變化的結果。
企業應用和基礎設施可以構建為分布式系統,使用可重用的平臺組件。這可以幫助IT專業人員和開發人員部署快速可靠的應用程序,而不必每次都重新造輪子。一些與可靠性、可用性、安全性和可靠性相關的企業特性可以在這個模型中連續運行。軟件定義SLA的運行時配置提供了一個對確切性能指標進行管理的機會,而不是基于原始硬件或預先打包SLA的物理特性。企業應用可以利用云服務的規模、效率、快速發展的硬件同步成長,不是在專用系統中實現,而是通過公共云資源實現的。
-
數據中心
+關注
關注
16文章
4761瀏覽量
72035 -
供應鏈
+關注
關注
3文章
1671瀏覽量
38871
發布評論請先 登錄
相關推薦
評論