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