介紹:什么是 SLA?
服務(wù)品質(zhì)協(xié)議(service-level agreement)(SLA)是服務(wù)提供者和客戶之間的一個(gè)正式合同,用來(lái)保證可計(jì)量的網(wǎng)絡(luò)性能達(dá)到所定義的品質(zhì)。SLA 為服務(wù)提供者提供了一種在當(dāng)今多變而又競(jìng)爭(zhēng)激烈的市場(chǎng)中勝過(guò)對(duì)手的方法。服務(wù)提供者可能是一個(gè)國(guó)內(nèi)的 IT 組織、一個(gè)應(yīng)用程序服務(wù)提供者(ASP)、一個(gè)網(wǎng)絡(luò)服務(wù)提供者(NSP)、一個(gè)因特網(wǎng)服務(wù)提供者(ISP)、一個(gè)受管服務(wù)提供者(MSP)或者任何其它類型的服務(wù)提供者。
SLA 可以非常籠統(tǒng)或者極度詳細(xì),它一般都包含出現(xiàn)故障時(shí)服務(wù)提供者和客戶應(yīng)采取的步驟。服務(wù)提供者保證它提供的服務(wù)在一定百分比的時(shí)間內(nèi)(例如,99.9%)是可用的。提供者還能夠強(qiáng)制向客戶通知 SLA 當(dāng)機(jī)時(shí)間的最長(zhǎng)和平均響應(yīng)時(shí)間,或者在網(wǎng)絡(luò)接口發(fā)生改變之前的最長(zhǎng)和平均響應(yīng)時(shí)間,并利用基于因特網(wǎng)的工作流自動(dòng)化、分發(fā)和報(bào)告技術(shù)。如果經(jīng)過(guò)指定的一段時(shí)期后提供者無(wú)法達(dá)到所定義的性能品質(zhì),客戶就可以獲得一些權(quán)利和賠償。各個(gè) SLA 的權(quán)利、賠償和例外情況是不同的。客戶還同意接受協(xié)議一般條款的指定例外情況。
在每個(gè) SLA 中都必須精確定義服務(wù)品質(zhì);否則各方關(guān)于 SLA 將以哪種品質(zhì)衡量什么服務(wù)或性能標(biāo)準(zhǔn)將無(wú)法達(dá)成一致。例如,一個(gè)客戶可能認(rèn)為一個(gè)雙方同意的服務(wù)品質(zhì)將衡量網(wǎng)絡(luò) A、網(wǎng)絡(luò) B 和網(wǎng)絡(luò) C,同時(shí)后兩者連接到第一個(gè),而服務(wù)提供者卻認(rèn)為它只衡量網(wǎng)絡(luò) A。還有一點(diǎn)很重要的是正常運(yùn)行時(shí)間可用性百分比的小數(shù)位數(shù):例如,一年中的當(dāng)機(jī)小時(shí)數(shù)和當(dāng)機(jī)天數(shù)比,99.999% 的正常運(yùn)行時(shí)間所允許的當(dāng)機(jī)時(shí)間比 99.9% 的正常運(yùn)行時(shí)間所允許的當(dāng)機(jī)時(shí)間還少。SLA 應(yīng)該為客戶包含進(jìn)一個(gè)退出條款;當(dāng)因?yàn)椴荒軋A滿解決經(jīng)常發(fā)生的可用性、可靠性和安全性問(wèn)題而使客戶的業(yè)務(wù)運(yùn)轉(zhuǎn)頻繁中斷時(shí),客戶希望他有終止協(xié)議的權(quán)利。
新方向:用 SLA 保證 Web 服務(wù)
因特網(wǎng)(和企業(yè)內(nèi)部網(wǎng))的新方向提供了將來(lái)自不同來(lái)源(通過(guò) Web 服務(wù))的全異系統(tǒng)聚合并集成在一起的新方法和機(jī)會(huì)。隨著不斷擴(kuò)展的分布式網(wǎng)絡(luò)系統(tǒng)中提供者之間的關(guān)系變得更加復(fù)雜,Web 服務(wù)已經(jīng)使 SLA 變得更富有挑戰(zhàn)性。我們看到這些 SLA 不僅僅保證網(wǎng)絡(luò)性能和正常運(yùn)行時(shí)間可用性;由于每個(gè) Web 服務(wù)都有不同的特征和網(wǎng)絡(luò)需求,它們還被用來(lái)保證應(yīng)用程序的性能。目前,一些 SLA 可以或者早已經(jīng)作為公共 Web 服務(wù)公開(kāi)了。
所有的 Web 服務(wù)都提供在 Web 上集成和修改系統(tǒng)組件的靈活性,以允許用戶更改需求和在一定網(wǎng)絡(luò)流量條件下處理網(wǎng)絡(luò)資源爭(zhēng)用。然而,這種靈活性要受到簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol,SOAP)和統(tǒng)一描述、發(fā)現(xiàn)和集成(Universal Description and Discovery Integration,UDDI)互操作性問(wèn)題的限制,因?yàn)橐恍┲饕獜S商對(duì)這些協(xié)議的標(biāo)準(zhǔn)規(guī)范的解釋是不同的。這意味著在把 Web 服務(wù)投入到生產(chǎn)環(huán)境和在 UDDI 或另一個(gè)公共注冊(cè)中心將其作為公共服務(wù)發(fā)布之前,必須解決互操作性問(wèn)題。對(duì)于 SLA 保證的 Web 服務(wù)(我們有時(shí)候稱其為 SLA Web 服務(wù))也是如此,不管該服務(wù)是獨(dú)立的還是作為一套 Web 服務(wù)的一部分。后者的一個(gè)很好的示例是一個(gè)單獨(dú)的 SLA,它適用于 Web 基礎(chǔ)架構(gòu)的每一段,從因特網(wǎng)到 Web 服務(wù)應(yīng)用程序。
為現(xiàn)實(shí)世界做準(zhǔn)備:測(cè)試機(jī)制
必須監(jiān)視任何符合 HTTP、HTTPS、SOAP、UDDI 和 Web 服務(wù)描述語(yǔ)言(Web Service Description Language,WSDL)的由 SLA 保證的 Web 服務(wù)的可伸縮性和性能。在把 SLA 保證的 Web 服務(wù)投入到生產(chǎn)環(huán)境之前,必須解決所有的 SOAP、WSDL 和其它的互操作性問(wèn)題。如果服務(wù)無(wú)法滿足一定的標(biāo)準(zhǔn),按照 SLA 的條款,提供服務(wù)的提供者可能要付財(cái)政責(zé)任,所以確保所有這些問(wèn)題都在控制范圍內(nèi)特別重要。
在建立 SLA 保證的 Web 服務(wù)之前,應(yīng)該使用測(cè)試機(jī)制 ― 比如來(lái)自 PushtoTest 的工具和腳本 ―(請(qǐng)參閱下面的 參考資料部分獲得鏈接)來(lái)測(cè)試該 Web 服務(wù)的各種協(xié)議和組件。在啟動(dòng)服務(wù)后,這些測(cè)試工具可以充當(dāng) SLA 監(jiān)視器。
表 1是一個(gè)核對(duì)表示例,當(dāng)開(kāi)發(fā)者測(cè)試一個(gè)將被 SLA 保證的服務(wù)時(shí),他應(yīng)該考慮這個(gè)表。
表 1. 在發(fā)布一個(gè)服務(wù)之前應(yīng)該測(cè)試的 Web 服務(wù)功能
測(cè)試類型 | 問(wèn)題 |
有狀態(tài) | 當(dāng)您使用 SOAP 設(shè)置服務(wù)器值時(shí),服務(wù)器在并發(fā)的狀態(tài)下是否正確響應(yīng)? |
訪問(wèn) | 一個(gè)未經(jīng)授權(quán)的用戶能成功訪問(wèn)只有經(jīng)過(guò)授權(quán)的管理員才能使用的控制權(quán)嗎? |
響應(yīng)時(shí)間 | Web 服務(wù)響應(yīng)時(shí)是不是花費(fèi)的時(shí)間太長(zhǎng)(例如,超過(guò)了 10 秒)? |
超時(shí) | 當(dāng) Web 服務(wù)超時(shí)時(shí)會(huì)發(fā)生什么事情? |
版本 | 新的構(gòu)造會(huì)破壞現(xiàn)有 Web 服務(wù)的功能嗎? |
潛在問(wèn)題
雖然 SLA 的重點(diǎn)是最大上載可用性和帶寬的保證,但 SLA 無(wú)法為那些對(duì)延遲敏感的 Web 服務(wù)應(yīng)用程序保證一致的響應(yīng)時(shí)間。延遲是數(shù)據(jù)包從一個(gè)地點(diǎn)到另一個(gè)地點(diǎn)然后返回這一個(gè)來(lái)回所花費(fèi)的時(shí)間(通常以毫秒計(jì))。當(dāng)數(shù)據(jù)包完成它的旅途花費(fèi)的時(shí)間太長(zhǎng)時(shí)就會(huì)發(fā)生延遲問(wèn)題。例如,當(dāng) Web 服務(wù)產(chǎn)生的音頻開(kāi)始斷斷續(xù)續(xù)或者鼠標(biāo)指針開(kāi)始微微顫抖的時(shí)候,您就會(huì)注意到這些問(wèn)題。
SLA 應(yīng)該指定給定時(shí)間周期(假設(shè)一個(gè)月)內(nèi)的平均來(lái)回延遲和數(shù)據(jù)報(bào)丟失。它應(yīng)該把平均來(lái)回延遲定義為它在網(wǎng)絡(luò)和其目的地之間的平均來(lái)回包傳送,并把包丟失定義為在數(shù)據(jù)傳送的來(lái)回時(shí)間內(nèi)丟失包占總包數(shù)的百分比。協(xié)議應(yīng)該把這種丟失限制到一定程度 ― 假設(shè) 1% 或更少 ― 如果在同意的時(shí)間段內(nèi)這種丟失超過(guò)了這個(gè)程度還應(yīng)該指定賠償,包括償還或退款。
1 Overview
3 Common metrics
4.1 Backbone Internet providers
4.3 Cloud computing
5 See also
WSLA Language Specification, version 1.0 was published by IBM on January 28, 2001.
[edit]Cloud computing
Cloud computing (alternatively, grid computing or service-oriented architecture) uses the concept of service level agreements to control the use and receipt of computing resources from, and by, third parties.
Any SLA management strategy considers two well-differentiated phases: the negotiation of the contract and the monitoring of its fulfilment in real-time. Thus, SLA Management encompasses the SLA contract definition: basic schema with the QoS (quality of service) parameters; SLA negotiation; SLA monitoring; and SLA enforcement—according to defined policies.
The main point is to build a new layer upon the grid, cloud, or SOA middleware able to create a negotiation mechanism between providers and consumers of services.[6] An example is the European Union–funded Framework 7 research project, SLA@SOI,[7] which is researching aspects of multi-level, multi-provider SLAs within service-oriented infrastructure and cloud computing.
The underlying benefit of cloud computing is shared resources, which is supported by the underlying nature of a shared infrastructure environment. Thus, service level agreements span across the cloud and are offered by service providers as a service based agreement rather than a customer based agreement. Measuring, monitoring and reporting on cloud performance is based upon an end user experience or the end users ability to consume resources. The downside of cloud computing, relative to SLAs, is the difficultly in determining root cause for service interruptions due to the complex nature of the environment.
[edit]Outsourcing