介紹:什么是 SLA?
服務(wù)品質(zhì)協(xié)議(service-level agreement)(SLA)是服務(wù)提供者和客戶之間的一個正式合同,用來保證可計量的網(wǎng)絡(luò)性能達到所定義的品質(zhì)。SLA 為服務(wù)提供者提供了一種在當今多變而又競爭激烈的市場中勝過對手的方法。服務(wù)提供者可能是一個國內(nèi)的 IT 組織、一個應(yīng)用程序服務(wù)提供者(ASP)、一個網(wǎng)絡(luò)服務(wù)提供者(NSP)、一個因特網(wǎng)服務(wù)提供者(ISP)、一個受管服務(wù)提供者(MSP)或者任何其它類型的服務(wù)提供者。
SLA 可以非?;\統(tǒng)或者極度詳細,它一般都包含出現(xiàn)故障時服務(wù)提供者和客戶應(yīng)采取的步驟。服務(wù)提供者保證它提供的服務(wù)在一定百分比的時間內(nèi)(例如,99.9%)是可用的。提供者還能夠強制向客戶通知 SLA 當機時間的最長和平均響應(yīng)時間,或者在網(wǎng)絡(luò)接口發(fā)生改變之前的最長和平均響應(yīng)時間,并利用基于因特網(wǎng)的工作流自動化、分發(fā)和報告技術(shù)。如果經(jīng)過指定的一段時期后提供者無法達到所定義的性能品質(zhì),客戶就可以獲得一些權(quán)利和賠償。各個 SLA 的權(quán)利、賠償和例外情況是不同的??蛻暨€同意接受協(xié)議一般條款的指定例外情況。
在每個 SLA 中都必須精確定義服務(wù)品質(zhì);否則各方關(guān)于 SLA 將以哪種品質(zhì)衡量什么服務(wù)或性能標準將無法達成一致。例如,一個客戶可能認為一個雙方同意的服務(wù)品質(zhì)將衡量網(wǎng)絡(luò) A、網(wǎng)絡(luò) B 和網(wǎng)絡(luò) C,同時后兩者連接到第一個,而服務(wù)提供者卻認為它只衡量網(wǎng)絡(luò) A。還有一點很重要的是正常運行時間可用性百分比的小數(shù)位數(shù):例如,一年中的當機小時數(shù)和當機天數(shù)比,99.999% 的正常運行時間所允許的當機時間比 99.9% 的正常運行時間所允許的當機時間還少。SLA 應(yīng)該為客戶包含進一個退出條款;當因為不能圓滿解決經(jīng)常發(fā)生的可用性、可靠性和安全性問題而使客戶的業(yè)務(wù)運轉(zhuǎn)頻繁中斷時,客戶希望他有終止協(xié)議的權(quán)利。
新方向:用 SLA 保證 Web 服務(wù)
因特網(wǎng)(和企業(yè)內(nèi)部網(wǎng))的新方向提供了將來自不同來源(通過 Web 服務(wù))的全異系統(tǒng)聚合并集成在一起的新方法和機會。隨著不斷擴展的分布式網(wǎng)絡(luò)系統(tǒng)中提供者之間的關(guān)系變得更加復(fù)雜,Web 服務(wù)已經(jīng)使 SLA 變得更富有挑戰(zhàn)性。我們看到這些 SLA 不僅僅保證網(wǎng)絡(luò)性能和正常運行時間可用性;由于每個 Web 服務(wù)都有不同的特征和網(wǎng)絡(luò)需求,它們還被用來保證應(yīng)用程序的性能。目前,一些 SLA 可以或者早已經(jīng)作為公共 Web 服務(wù)公開了。
所有的 Web 服務(wù)都提供在 Web 上集成和修改系統(tǒng)組件的靈活性,以允許用戶更改需求和在一定網(wǎng)絡(luò)流量條件下處理網(wǎng)絡(luò)資源爭用。然而,這種靈活性要受到簡單對象訪問協(xié)議(Simple Object Access Protocol,SOAP)和統(tǒng)一描述、發(fā)現(xiàn)和集成(Universal Description and Discovery Integration,UDDI)互操作性問題的限制,因為一些主要廠商對這些協(xié)議的標準規(guī)范的解釋是不同的。這意味著在把 Web 服務(wù)投入到生產(chǎn)環(huán)境和在 UDDI 或另一個公共注冊中心將其作為公共服務(wù)發(fā)布之前,必須解決互操作性問題。對于 SLA 保證的 Web 服務(wù)(我們有時候稱其為 SLA Web 服務(wù))也是如此,不管該服務(wù)是獨立的還是作為一套 Web 服務(wù)的一部分。后者的一個很好的示例是一個單獨的 SLA,它適用于 Web 基礎(chǔ)架構(gòu)的每一段,從因特網(wǎng)到 Web 服務(wù)應(yīng)用程序。
為現(xiàn)實世界做準備:測試機制
必須監(jiān)視任何符合 HTTP、HTTPS、SOAP、UDDI 和 Web 服務(wù)描述語言(Web Service Description Language,WSDL)的由 SLA 保證的 Web 服務(wù)的可伸縮性和性能。在把 SLA 保證的 Web 服務(wù)投入到生產(chǎn)環(huán)境之前,必須解決所有的 SOAP、WSDL 和其它的互操作性問題。如果服務(wù)無法滿足一定的標準,按照 SLA 的條款,提供服務(wù)的提供者可能要付財政責(zé)任,所以確保所有這些問題都在控制范圍內(nèi)特別重要。
在建立 SLA 保證的 Web 服務(wù)之前,應(yīng)該使用測試機制 ― 比如來自 PushtoTest 的工具和腳本 ―(請參閱下面的 參考資料部分獲得鏈接)來測試該 Web 服務(wù)的各種協(xié)議和組件。在啟動服務(wù)后,這些測試工具可以充當 SLA 監(jiān)視器。
表 1是一個核對表示例,當開發(fā)者測試一個將被 SLA 保證的服務(wù)時,他應(yīng)該考慮這個表。
表 1. 在發(fā)布一個服務(wù)之前應(yīng)該測試的 Web 服務(wù)功能
測試類型 | 問題 |
有狀態(tài) | 當您使用 SOAP 設(shè)置服務(wù)器值時,服務(wù)器在并發(fā)的狀態(tài)下是否正確響應(yīng)? |
訪問 | 一個未經(jīng)授權(quán)的用戶能成功訪問只有經(jīng)過授權(quán)的管理員才能使用的控制權(quán)嗎? |
響應(yīng)時間 | Web 服務(wù)響應(yīng)時是不是花費的時間太長(例如,超過了 10 秒)? |
超時 | 當 Web 服務(wù)超時時會發(fā)生什么事情? |
版本 | 新的構(gòu)造會破壞現(xiàn)有 Web 服務(wù)的功能嗎? |
潛在問題
雖然 SLA 的重點是最大上載可用性和帶寬的保證,但 SLA 無法為那些對延遲敏感的 Web 服務(wù)應(yīng)用程序保證一致的響應(yīng)時間。延遲是數(shù)據(jù)包從一個地點到另一個地點然后返回這一個來回所花費的時間(通常以毫秒計)。當數(shù)據(jù)包完成它的旅途花費的時間太長時就會發(fā)生延遲問題。例如,當 Web 服務(wù)產(chǎn)生的音頻開始斷斷續(xù)續(xù)或者鼠標指針開始微微顫抖的時候,您就會注意到這些問題。
SLA 應(yīng)該指定給定時間周期(假設(shè)一個月)內(nèi)的平均來回延遲和數(shù)據(jù)報丟失。它應(yīng)該把平均來回延遲定義為它在網(wǎng)絡(luò)和其目的地之間的平均來回包傳送,并把包丟失定義為在數(shù)據(jù)傳送的來回時間內(nèi)丟失包占總包數(shù)的百分比。協(xié)議應(yīng)該把這種丟失限制到一定程度 ― 假設(shè) 1% 或更少 ― 如果在同意的時間段內(nèi)這種丟失超過了這個程度還應(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