當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀] SLO和SLA是大家常見的兩個名詞:服務(wù)等級目標(biāo)和服務(wù)等級協(xié)議。 云計算時代,各大云服務(wù)提供商都發(fā)布有自己服務(wù)的SLA條款,比如Amazon的EC2和S3服務(wù)都有相應(yīng)的SLA條款。這些大公司的SLA看上去如此的高達(dá)上,一般是怎么定義出來的呢?本文就嘗試從技術(shù)角度解剖一下SLA的制定過程。 說SLA不能不提SLO,這個是眾所周知的,但是還有一個概念知道的人就不多了,那就是SLI(Service Level Indicator),定義一個可執(zhí)行的SLA,好的SLO和SLI是必不可少的。 再有就是SLI/SLO/SLA都是和服務(wù)聯(lián)系在一起的,脫離了服務(wù)這三個概念就沒有什么意義了。

Service

什么是服務(wù)?

簡單說就是一切提供給客戶的有用功能都可以稱為服務(wù)。

服務(wù)一般會由服務(wù)提供者提供,提供這個有用功能的組織被稱為服務(wù)提供者,通常是人加上軟件,軟件的運(yùn)行需要計算資源,為了能對外提供有用的功能軟件可能會有對其他軟件系統(tǒng)的依賴。

客戶是使用服務(wù)提供者提供的服務(wù)的人或公司。

SLI

SLI是經(jīng)過仔細(xì)定義的測量指標(biāo),它根據(jù)不同系統(tǒng)特點(diǎn)確定要測量什么,SLI的確定是一個非常復(fù)雜的過程。

SLI的確定需要回答以下幾個問題:

要測量的指標(biāo)是什么?

測量時的系統(tǒng)狀態(tài)?

如何匯總處理測量的指標(biāo)?

測量指標(biāo)能否準(zhǔn)確描述服務(wù)質(zhì)量?

測量指標(biāo)的可靠度(trustworthy)?

1. 常見的測量指標(biāo)有以下幾個方面:

性能

響應(yīng)時間(latency)

吞吐量(throughput)

請求量(qps)

實(shí)效性(freshness)

可用性

運(yùn)行時間(uptime)

故障時間/頻率

可靠性

質(zhì)量

準(zhǔn)確性(accuracy)

正確性(correctness)

完整性(completeness)

覆蓋率(coverage)

相關(guān)性(relevance)

內(nèi)部指標(biāo)

隊(duì)列長度(queue length)

內(nèi)存占用(RAM usage)

因素人

響應(yīng)時間(time to response)

修復(fù)時間(time to fix)

修復(fù)率(fraction fixed)

下面通過一個例子來說明一下:hotmail的downtime SLI

錯誤率(error rate)計算的是服務(wù)返回給用戶的error總數(shù)

如果錯誤率大于X%,就算是服務(wù)down了,開始計算downtime

如果錯誤率持續(xù)超過Y分鐘,這個downtime就會被計算在內(nèi)

間斷性的小于Y分鐘的downtime是不被計算在內(nèi)的。

2. 測量時的系統(tǒng)狀態(tài),在什么情況下測量會嚴(yán)重影響測量的結(jié)果

測量異常(badly-formed)請求,還是失敗(fail)請求還是超時請求(timeout)

測量時的系統(tǒng)負(fù)載(是否最大負(fù)載)

測量的發(fā)起位置,服務(wù)器端還是客戶端

測量的時間窗口(僅工作日、還是一周7天、是否包括計劃內(nèi)的維護(hù)時間段)

3. 如何匯總處理測量的指標(biāo)?

計算的時間區(qū)間是什么:是一個滾動時間窗口,還是簡單的按照月份計算

使用平均值還是百分位值,比如:某服務(wù)X的ticket處理響應(yīng)時間SLI的

測量指標(biāo):統(tǒng)計所有成功解決請求,從用戶創(chuàng)建ticket到問題被解決的時間

怎么測量:用ticket自帶的時間戳,統(tǒng)計所有用戶創(chuàng)建的ticket

什么情況下的測量:只包括工作時間,不包含法定假日

用于SLI的數(shù)據(jù)指標(biāo):以一周為滑動窗口,95%分位的解決時間

4. 測量指標(biāo)能否準(zhǔn)確描述服務(wù)質(zhì)量?

性能:時效性、是否有偏差

準(zhǔn)確性:精度、覆蓋率、數(shù)據(jù)穩(wěn)定性

完整性:數(shù)據(jù)丟失、無效數(shù)據(jù)、異常(outlier)數(shù)據(jù)

5. 測量指標(biāo)的可靠度

是否服務(wù)提供者和客戶都認(rèn)可

是否可被獨(dú)立驗(yàn)證,比如三方機(jī)構(gòu)

客戶端還是服務(wù)器端測量,取樣間隔

錯誤請求是如何計算的

SLO

SLO(服務(wù)等級目標(biāo))指定了服務(wù)所提供功能的一種期望狀態(tài)。SLO里面應(yīng)該包含什么呢?所有能夠描述服務(wù)應(yīng)該提供什么樣功能的信息。

服務(wù)提供者用它來指定系統(tǒng)的預(yù)期狀態(tài);開發(fā)人員編寫代碼來實(shí)現(xiàn);客戶依賴于SLO進(jìn)行商業(yè)判斷。SLO里沒有提到,如果目標(biāo)達(dá)不到會怎么樣。

SLO是用SLI來描述的,一般描述為:

比如以下SLO:

每分鐘平均qps > 100k/s

99% 訪問延遲 < 500ms

99% 每分鐘帶寬 > 200MB/s

設(shè)置SLO時的幾個最佳實(shí)踐:

指定計算的時間窗口

使用一致的時間窗口(XX小時滾動窗口、季度滾動窗口)

要有一個免責(zé)條款,比如:95%的時間要能夠達(dá)到SLO

如果Service是第一次設(shè)置SLO,可以遵循以下原則

測量系統(tǒng)當(dāng)前狀態(tài)

設(shè)置預(yù)期(expectations),而不是保證(guarantees)

初期的SLO不適合作為服務(wù)質(zhì)量的強(qiáng)化工具

改進(jìn)SLO

設(shè)置更低的響應(yīng)時間、更改的吞吐量等

保持一定的安全緩沖

內(nèi)部用的SLO要高于對外宣稱的SLO

不要超額完成

定期的downtime來使SLO不超額完成

設(shè)置SLO時的目標(biāo)依賴于系統(tǒng)的不同狀態(tài)(conditions),根據(jù)不同狀態(tài)設(shè)置不同的SLO:總SLO = service1.SLO1 weight1 + service2.SLO2 weight2 + …

為什么要有SLO,設(shè)置SLO的好處是什么呢?

對于客戶而言,是可預(yù)期的服務(wù)質(zhì)量,可以簡化客戶端的系統(tǒng)設(shè)計

對于服務(wù)提供者而言

可預(yù)期的服務(wù)質(zhì)量

更好的取舍成本/收益

更好的風(fēng)險控制(當(dāng)資源受限的時候)

故障時更快的反應(yīng),采取正確措施

SLO設(shè)好了,怎么保證能夠達(dá)到目標(biāo)呢?

需要一個控制系統(tǒng)來:

監(jiān)控/測量SLIs

對比檢測到的SLIs值是否達(dá)到目標(biāo)

如果需要,修證目標(biāo)或者修正系統(tǒng)以滿足目標(biāo)需要

實(shí)施目標(biāo)的修改或者系統(tǒng)的修改

該控制系統(tǒng)需要重復(fù)的執(zhí)行以上動作,以形成一個標(biāo)準(zhǔn)的反饋環(huán)路,不斷的衡量和改進(jìn)SLO/服務(wù)本身。

我們討論了目標(biāo)以及目標(biāo)是怎么測量的,還討論了控制機(jī)制來達(dá)到設(shè)置的目標(biāo),但是如果因?yàn)槟承┰颍O(shè)置的目標(biāo)達(dá)不到該怎么辦呢?

也許是因?yàn)榇罅康男略鲐?fù)載;也許是因?yàn)榈讓右蕾嚥荒苓_(dá)到標(biāo)稱的SLO而影響上次服務(wù)的SLO。這就需要SLA出場了。

SLA

SLA是一個涉及2方的合約,雙方必須都要同意并遵守這個合約。當(dāng)需要對外提供服務(wù)時,SLA是非常重要的一個服務(wù)質(zhì)量信號,需要產(chǎn)品和法務(wù)部門的同時介入。

SLA用一個簡單的公式來描述就是: SLA = SLO + 后果

SLO不能滿足的一系列動作,可以是部分不能達(dá)到

比如:達(dá)到響應(yīng)時間SLO+未達(dá)到可用性SLO

對動作的具體實(shí)施

需要一個通用的貨幣來獎勵/懲罰,比如:錢

SLA是一個很好的工具,可以用來幫助合理配置資源。一個有明確SLA的服務(wù)最理想的運(yùn)行狀態(tài)是:增加額外資源來改進(jìn)系統(tǒng)所帶來的收益小于把該資源投給其他服務(wù)所帶來的收益。

一個簡單的例子就是某服務(wù)可用性從99.9%提高到99.99%所需要的資源和帶來的收益之比,是決定該服務(wù)是否應(yīng)該提供4個9的重要依據(jù)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉