監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

用SLA保證Web服務(wù)

申請免費試用、咨詢電話:400-8352-114

AMTeam.org

用SLA保證Web服務(wù)
 
 --介紹、體系架構(gòu)和測試機制


Judith M. Myerson(jmyerson@bellatlantic.net

系統(tǒng)設(shè)計師和工程師

2002 年 4 月

許多企業(yè)正要求服務(wù)品質(zhì)協(xié)議(SLA),SLA 可以保證企業(yè)為之付費的 IT 服務(wù)的可靠性。隨著 Web 服務(wù)成為主流,客戶將要求保證服務(wù)質(zhì)量的 SLA。在本文中,Judith M. Myerson 說明了如何建立保證 Web 服務(wù)的服務(wù)品質(zhì)協(xié)議(SLA)。她討論了 SLA 中應(yīng)該考慮進的例外情況,并給出了把 Web 服務(wù)作為由 SLA 保證的、公開的 Web 服務(wù)投入到生產(chǎn)環(huán)境之前應(yīng)該測試其 SOAP 互操作性的示例。

介紹:什么是 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 的發(fā)展

SLA 已經(jīng)出現(xiàn)了一段時間了。在二十世紀六十年代,它們是用于達到已定義的服務(wù)品質(zhì)和響應(yīng)服務(wù)問題的一般操作程序,而這些服務(wù)問題是用戶組織在購買或租用大型機上的機器時間時就已經(jīng)同意過的。超大型計算機(big iron)是缺省的企業(yè)系統(tǒng),其它任何技術(shù)的處理能力都無法與它相比。

當客戶機/服務(wù)器和網(wǎng)絡(luò)桌面系統(tǒng)進入計算機世界時,人們就構(gòu)思出了分布式網(wǎng)絡(luò)系統(tǒng)這個概念。這些系統(tǒng)后來發(fā)展成了跨網(wǎng)絡(luò)運行企業(yè)資源規(guī)劃(ERP),供應(yīng)鏈管理(SCM)和客戶關(guān)系管理(CRM)系統(tǒng)的企業(yè)范圍的系統(tǒng)。

在這個發(fā)展過程中,企業(yè)對因特網(wǎng)的依賴已經(jīng)使得公司的應(yīng)用程序套件的網(wǎng)絡(luò)延遲影響越來越明顯。同時,用戶(也就是客戶)已經(jīng)委托一定品質(zhì)的服務(wù)質(zhì)量保證相關(guān)的可用性、可靠性和響應(yīng)時間以確保業(yè)務(wù)運轉(zhuǎn)不被中斷,并且依賴外部服務(wù)提供者來提供應(yīng)用程序、因特網(wǎng)、網(wǎng)絡(luò),受管服務(wù)和其它服務(wù)。結(jié)果,SLA 變得更復(fù)雜,范圍更廣,一個用戶可以有與不同提供者簽定的幾個 SLA。反過來,提供者自己的 SLA 也可以是與其它提供者簽定的,每個 SLA 都有一套不同的需求、衡量標準和例外情況。

新方向:用 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)用程序。

SLA Web 服務(wù)體系架構(gòu)

在進行進一步討論之前,讓我們來看一下 SLA 保證的 Web 服務(wù)的體系架構(gòu)。這個體系架構(gòu),如下圖 1 所示,需要三個服務(wù)角色:一個服務(wù)提供者、一個服務(wù)客戶和一個服務(wù)代理。通過在適當?shù)钠脚_上創(chuàng)建一個 Web 服務(wù)并生成 WSDL 文檔和服務(wù)的基本 SLA ,服務(wù)提供者發(fā)布一個由 SLA 保證的 Web 服務(wù)。下一步,它把服務(wù)細節(jié)發(fā)送到服務(wù)代理以存儲在資源庫中。服務(wù)客戶向代理注冊,然后在代理的資源庫中搜索并發(fā)現(xiàn)適當?shù)?Web 服務(wù),檢索服務(wù)的 WSDL 和 SLA。然后它再與提供者協(xié)商把 SLA 正規(guī)化、確定下來并綁定到它的 Web 服務(wù)。

圖 1. SLA 保證的 Web 服務(wù)的體系架構(gòu)


 

為現(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ù)的提供者可能要付財政責任,所以確保所有這些問題都在控制范圍內(nèi)特別重要。

在建立 SLA 保證的 Web 服務(wù)之前,應(yīng)該使用測試機制 — 比如來自 PushtoTest 的工具和腳本 —(請參閱下面的參考資料部分獲得鏈接)來測試該 Web 服務(wù)的各種協(xié)議和組件。在啟動服務(wù)后,這些測試工具可以充當 SLA 監(jiān)視器。

表 1 是一個核對表示例,當開發(fā)者測試一個將被 SLA 保證的服務(wù)時,他應(yīng)該考慮這個表。

測試類型 問題 有狀態(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ù)的功能嗎?

 
規(guī)則的例外情況

象任何協(xié)議或保險單一樣,SLA 通常會指定其條款中的例外情況。Web 服務(wù)的 SLA 應(yīng)該包含關(guān)于例外情況的詳細信息。我將隨意將它們分為四類:故障、不受服務(wù)提供者直接控制的網(wǎng)絡(luò)問題、拒絕服務(wù)和預(yù)訂的維護。表 2 說明了可以歸入這些類別的某些特定情況。

只要客戶公司可以得到當機期間的適當賠償,還可以添加其它一些例外情況來適應(yīng)提供者的情況。通過在 SLA 中包含進例外情況,提供者可以在出現(xiàn)問題或網(wǎng)絡(luò)損耗時免負責任。另一方面,如果競爭的服務(wù)提供帶有極少例外情況的 SLA,客戶可以選擇那些在業(yè)務(wù)運轉(zhuǎn)中提供更長正常運行時間并且有更好的服務(wù)保障的協(xié)議。即使 99.5%、99.9% 和 99.999% 這幾個正常運行時間可用性保證之間的差別也可以影響選擇 SLA 的決策者。

表 2. SLA 中可以潛在包含的例外情況

類型 示例 故障 硬件故障(請注意,錯誤的硬件極少)
遠程通信故障(例如,提供者無意切斷了光纜線)
軟件錯誤/缺陷
監(jiān)視/測量系統(tǒng)故障
不受服務(wù)提供者直接控制的網(wǎng)絡(luò)問題 主干對等端問題(例如,UUnet 在加利福尼亞的一個路由器壞了,拒絕因特網(wǎng)服務(wù)進入整個西海岸)
DNS 不受服務(wù)提供者的直接控制
拒絕服務(wù) 客戶疏忽/明知故犯
網(wǎng)絡(luò)流量過大、黑客攻擊和一般攻擊
不可抗力、戰(zhàn)爭、罷工、電訊不可用、無法得到提供 SLA 所需的供給或設(shè)備。
預(yù)訂的
維護
硬件升級
軟件升級
備份


潛在問題

雖然 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)該指定賠償,包括償還或退款。

結(jié)束語

目前為止,我已經(jīng)說明了 SLA 保證的 Web 服務(wù)的技術(shù)參數(shù)。如果您計劃為您的付費客戶提供 Web 服務(wù),他們通常都想要一個 SLA 以確保獲得他們期望的投資回報。本文中討論的主題應(yīng)該會讓您在準備自己的 Web 服務(wù)以滿足 SLA 的需求方面處于領(lǐng)先地位。

本文并沒有討論可用于估量客戶期望的各種工具;在真實的商界,您可以發(fā)現(xiàn)即便您的服務(wù)滿足同意的服務(wù)品質(zhì),您的客戶仍可能對服務(wù)不滿意,因為技術(shù)上的服務(wù)交付能力還沒有達到企業(yè)的期望。在這些情況下,客戶和提供者必須就協(xié)議條款重新談判以確定滿足客戶的服務(wù)品質(zhì)。對于開發(fā)者,在創(chuàng)建和實現(xiàn) Web 服務(wù)時記住這一點很重要。開發(fā)者必須既考慮客戶的業(yè)務(wù)期望又考慮技術(shù)期望。

參考資料

  • 請了解更多關(guān)于 PushToTest 的知識來測試和監(jiān)控 Web 服務(wù)。
  • 請閱讀 The Complete Book of Middleware,它主要討論系統(tǒng)設(shè)計的重要原則和優(yōu)先考慮的問題,并強調(diào)電子商務(wù)和分布式集成系統(tǒng)的增長帶來的新需求。
  • 請閱讀 Enterprise Systems Integration, Second Edition,它向您提供企業(yè)內(nèi)部機制和技術(shù)訣竅并確保成功地集成系統(tǒng)。
  • 請閱讀 Anbazhagan Mani 和 Arun Nagarajan 所著的“理解Web服務(wù)的服務(wù)質(zhì)量”(developerWorks,2002 年 1 月)來改善您的 Web 服務(wù)的性能。
  • 這本面向 Domino 管理員的 IBM Redbook 描述了制定一個服務(wù)品質(zhì)協(xié)議的具體細節(jié)。
  • 一旦 Web 服務(wù)就緒,您就可以在 IBM 的 UDDI 版本 2 注冊中心中發(fā)布它,這個注冊中心的特征是有圖形用戶界面和一致的 API 供大家公用。

關(guān)于作者

Judith M. Myerson 是一位系統(tǒng)設(shè)計師和工程師。她對中間件技術(shù)、企業(yè)范圍的系統(tǒng)、數(shù)據(jù)庫技術(shù)、應(yīng)用程序開發(fā)、網(wǎng)絡(luò)管理、分布式系統(tǒng)、基于組件的技術(shù)和項目管理都很感興趣。您可以通過
jmyerson@bellatlantic.net 與她聯(lián)系。

發(fā)布:2007-03-25 13:28    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
石家莊OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢