---
# System prepended metadata

title: SRE Chapter 3 Embracing Risk (擁抱風險)

---

# SRE Chapter 3 Embracing Risk (擁抱風險)

擁抱風險的意思就是，沒有事情是完美的，要達到完美的成本很高

可靠性的增加跟成本的比例圖，不會是線性的，通常越往越高的可靠性，所需要的成本就會越高
書中提到兩種對於服務可用性的計算

```
Available = NormalTime / (NormalTime + UnNormalTime)
```

```
Available = Success Request Number / Total Request
```

這兩個公式基於不同的想法來討論可用性這件事情，第一個是利用機器的停機時間 (包含錯誤停機與上版停機)，另外一個是用 Request 的成功量。
這樣算出來的值可以來量化跟與用戶端討論服務的可用性與成本

以我們目前的服務為例子，基於 Request 成功量的計算公式，不適用於 API Gateway 服務，原因為我們無法控制用戶端那邊打 API Request 裡的參數，可能會有很多錯誤是參數錯誤等等。
如果是用基於停機服務的話，我們就需要降低 `UnNormalTime` 這個變數，要如何降低就需要從
1. 降低服務停機時間
2. 提高服務可用性

這兩個面向去著手

### 服務可用性計算的考量

1. 成本
2. 服務失敗的影響

在書中提到如何去分析服務的可能性，可以從
1. 成本
這邊指的成本會是，增高服務可用性的成本與增加一個等級的服務可用性可帶來的收入是否損益平衡
2. 服務失敗的影響
根據服務的性質來決定這個系統的服務可用性等級

#### 例子
**影片服務掛掉** -> 非主要功能，不影響核心業務，服務可用性 90%
**文字服務掛掉** -> 主要功能，影響核心業務，服務可用性 99.9%
**支付功能** -> 非主要功能，中間有收益、計算提高服務可用性與收益的收入是否符合比例，服務可用性 90%