<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Reserved on Tarragon</title><link>https://tarrragon.github.io/blog/tags/reserved/</link><description>Recent content in Reserved on Tarragon</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Tarragon (CC BY 4.0)</copyright><lastBuildDate>Fri, 03 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tarrragon.github.io/blog/tags/reserved/index.xml" rel="self" type="application/rss+xml"/><item><title>計費模式理解</title><link>https://tarrragon.github.io/blog/devops/08-cost-management/billing-models/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/devops/08-cost-management/billing-models/</guid><description>&lt;p>計費模式理解的第一步是看懂帳單由什麼組成，而不是急著選哪種折扣。雲端不是「一台機器一個月多少錢」這麼單純——運算時間、儲存量、網路流出、請求數、IOPS 各自獨立計費，一張帳單是這些維度加總起來的。看懂帳單怎麼生成，才知道錢花在哪、哪個維度該優化；只盯著「機器月租」，會漏掉常常比機器還貴的那些維度。這是「成本控制」路線的起點，往下的容量成本模型在 &lt;a href="https://tarrragon.github.io/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型&lt;/a> 接續。&lt;/p>
&lt;h2 id="帳單的維度付的是用量不是機器">帳單的維度：付的是用量，不是機器&lt;/h2>
&lt;p>雲端計費的基本單位是用量，分散在幾個獨立的維度上。運算按時間乘規格計費（開多久、多大台）、儲存按量乘類型計費（存多少、哪種儲存等級）、網路按流出的流量計費、請求類服務按呼叫次數計費、磁碟按 IOPS 計費。這些維度各自累加，一個「看起來很小」的服務可能因為某個維度爆量而帳單很大——例如運算很少、但網路流出巨大。&lt;/p>
&lt;p>看帳單要先拆到維度，才找得到真正的成本驅動。把整張帳單當成一個數字，只能看到「這個月比上個月多」，看不到「多在網路流出、不在運算」。拆到維度、再拆到單位請求成本（一個請求分攤到運算、儲存、網路各多少），成本才可歸因、可優化——這條 cost per request 的拆法在 &lt;a href="https://tarrragon.github.io/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型&lt;/a> 展開。&lt;/p>
&lt;h2 id="承諾模式用彈性換折扣">承諾模式：用彈性換折扣&lt;/h2>
&lt;p>在用量計費之上，雲端提供幾種「用承諾換折扣」的模式，取捨的軸是彈性與單位成本：on-demand 彈性最高、單位成本最貴，reserved 用 1 到 3 年的承諾換折扣，spot 用可被中斷換更深的折扣。這三種模式的折扣幅度、以及哪種配哪種工作負載（基準用 reserved、峰值用 on-demand、可中斷的批次用 spot），在 &lt;a href="https://tarrragon.github.io/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型&lt;/a> 展開過。這一章補模組五沒細講的第四種承諾模式——savings plan。&lt;/p>
&lt;p>reserved 之外還有一種容易混淆的承諾模式：savings plan。差別在承諾的對象——reserved 承諾的是「某個規格的機器」，換規格或換區域就綁不住；savings plan 承諾的是「每小時花多少錢」（例如每小時至少花 10 美元的運算），只要總消費達到承諾，用什麼規格、什麼區域都算數。savings plan 用彈性換一點折扣深度——它的折扣通常略低於同期的 reserved，但換到了「規格可以自由調整」的自由度。規格常變的服務用 savings plan、規格穩定的用 reserved，是這兩者的分界。&lt;/p>
&lt;p>reserved 到底值不值得，判準是承諾期內用不用得滿。一個確定會穩定跑滿 1 到 3 年的基準負載買 reserved 幾乎穩賺——那 30% 到 60% 的折扣是實打實省下的。一個可能半年後就下線、或架構還會大改的服務買 reserved，是拿折扣換被套牢的風險：承諾付了、需求卻沒了。所以買 reserved 前要先確認兩件事——這個規格的需求真的穩定、而且已經做過 &lt;a href="https://tarrragon.github.io/blog/devops/08-cost-management/right-sizing/" data-link-title="Right-sizing" data-link-desc="把配置規格調到貼近實際用量時，怎麼找出過度配置的資源、downsizing 不能砍過膝點、以及機型世代與 reserved 過剩的回收">right-sizing&lt;/a>。別用三年的承諾鎖住一個過大或即將改變的規格，那會把浪費也一起鎖三年。&lt;/p>
&lt;h2 id="隱藏成本帳單上的意外">隱藏成本：帳單上的意外&lt;/h2>
&lt;p>帳單最常見的意外來自幾個容易被忽略的維度。第一個是網路流出（egress）——資料進雲端通常免費，出雲端要收費，而且跨可用區的內部流量也收費。一個把大量資料傳給用戶、或在可用區之間頻繁搬資料的服務，egress 可能是帳單裡最大的一塊，卻最容易在規劃時被忽略。第二個是 NAT gateway 的流量費——私有子網路的機器透過 NAT 出去的流量，除了機器本身，NAT 這一層也按流量收費，量大時很可觀。&lt;/p>
&lt;p>第三個隱藏成本是被遺忘的資源，不算在任何計費維度的名目下：開了忘了關的測試機器、沒人用卻還在計費的孤兒資源（沒掛載的磁碟、閒置的負載平衡器、忘記釋放的固定 IP）。這些資源不服務任何流量、卻每小時都在計費，是純粹的浪費。它們的共通點是「開的時候有理由、關的時候沒人記得」——這正是 &lt;a href="https://tarrragon.github.io/blog/devops/08-cost-management/cost-monitoring/" data-link-title="成本監控與告警" data-link-desc="要讓雲端帳單不失控時，靠歸因把每筆花費追到擁有者、用異常告警抓突增、以及選 showback 或 chargeback 讓成本有人負責">成本監控與告警&lt;/a> 要抓的異常。&lt;/p>
&lt;h2 id="下一步路由">下一步路由&lt;/h2>
&lt;ul>
&lt;li>配置規格貼近實際用量、砍掉過度配置 → &lt;a href="https://tarrragon.github.io/blog/devops/08-cost-management/right-sizing/" data-link-title="Right-sizing" data-link-desc="把配置規格調到貼近實際用量時，怎麼找出過度配置的資源、downsizing 不能砍過膝點、以及機型世代與 reserved 過剩的回收">Right-sizing&lt;/a>&lt;/li>
&lt;li>抓出忘了關的資源與異常支出 → &lt;a href="https://tarrragon.github.io/blog/devops/08-cost-management/cost-monitoring/" data-link-title="成本監控與告警" data-link-desc="要讓雲端帳單不失控時，靠歸因把每筆花費追到擁有者、用異常告警抓突增、以及選 showback 或 chargeback 讓成本有人負責">成本監控與告警&lt;/a>&lt;/li>
&lt;li>承諾模式怎麼配工作負載、單位請求成本怎麼算 → &lt;a href="https://tarrragon.github.io/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型&lt;/a>&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<p>計費模式理解的第一步是看懂帳單由什麼組成，而不是急著選哪種折扣。雲端不是「一台機器一個月多少錢」這麼單純——運算時間、儲存量、網路流出、請求數、IOPS 各自獨立計費，一張帳單是這些維度加總起來的。看懂帳單怎麼生成，才知道錢花在哪、哪個維度該優化；只盯著「機器月租」，會漏掉常常比機器還貴的那些維度。這是「成本控制」路線的起點，往下的容量成本模型在 <a href="/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型</a> 接續。</p>
<h2 id="帳單的維度付的是用量不是機器">帳單的維度：付的是用量，不是機器</h2>
<p>雲端計費的基本單位是用量，分散在幾個獨立的維度上。運算按時間乘規格計費（開多久、多大台）、儲存按量乘類型計費（存多少、哪種儲存等級）、網路按流出的流量計費、請求類服務按呼叫次數計費、磁碟按 IOPS 計費。這些維度各自累加，一個「看起來很小」的服務可能因為某個維度爆量而帳單很大——例如運算很少、但網路流出巨大。</p>
<p>看帳單要先拆到維度，才找得到真正的成本驅動。把整張帳單當成一個數字，只能看到「這個月比上個月多」，看不到「多在網路流出、不在運算」。拆到維度、再拆到單位請求成本（一個請求分攤到運算、儲存、網路各多少），成本才可歸因、可優化——這條 cost per request 的拆法在 <a href="/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型</a> 展開。</p>
<h2 id="承諾模式用彈性換折扣">承諾模式：用彈性換折扣</h2>
<p>在用量計費之上，雲端提供幾種「用承諾換折扣」的模式，取捨的軸是彈性與單位成本：on-demand 彈性最高、單位成本最貴，reserved 用 1 到 3 年的承諾換折扣，spot 用可被中斷換更深的折扣。這三種模式的折扣幅度、以及哪種配哪種工作負載（基準用 reserved、峰值用 on-demand、可中斷的批次用 spot），在 <a href="/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型</a> 展開過。這一章補模組五沒細講的第四種承諾模式——savings plan。</p>
<p>reserved 之外還有一種容易混淆的承諾模式：savings plan。差別在承諾的對象——reserved 承諾的是「某個規格的機器」，換規格或換區域就綁不住；savings plan 承諾的是「每小時花多少錢」（例如每小時至少花 10 美元的運算），只要總消費達到承諾，用什麼規格、什麼區域都算數。savings plan 用彈性換一點折扣深度——它的折扣通常略低於同期的 reserved，但換到了「規格可以自由調整」的自由度。規格常變的服務用 savings plan、規格穩定的用 reserved，是這兩者的分界。</p>
<p>reserved 到底值不值得，判準是承諾期內用不用得滿。一個確定會穩定跑滿 1 到 3 年的基準負載買 reserved 幾乎穩賺——那 30% 到 60% 的折扣是實打實省下的。一個可能半年後就下線、或架構還會大改的服務買 reserved，是拿折扣換被套牢的風險：承諾付了、需求卻沒了。所以買 reserved 前要先確認兩件事——這個規格的需求真的穩定、而且已經做過 <a href="/blog/devops/08-cost-management/right-sizing/" data-link-title="Right-sizing" data-link-desc="把配置規格調到貼近實際用量時，怎麼找出過度配置的資源、downsizing 不能砍過膝點、以及機型世代與 reserved 過剩的回收">right-sizing</a>。別用三年的承諾鎖住一個過大或即將改變的規格，那會把浪費也一起鎖三年。</p>
<h2 id="隱藏成本帳單上的意外">隱藏成本：帳單上的意外</h2>
<p>帳單最常見的意外來自幾個容易被忽略的維度。第一個是網路流出（egress）——資料進雲端通常免費，出雲端要收費，而且跨可用區的內部流量也收費。一個把大量資料傳給用戶、或在可用區之間頻繁搬資料的服務，egress 可能是帳單裡最大的一塊，卻最容易在規劃時被忽略。第二個是 NAT gateway 的流量費——私有子網路的機器透過 NAT 出去的流量，除了機器本身，NAT 這一層也按流量收費，量大時很可觀。</p>
<p>第三個隱藏成本是被遺忘的資源，不算在任何計費維度的名目下：開了忘了關的測試機器、沒人用卻還在計費的孤兒資源（沒掛載的磁碟、閒置的負載平衡器、忘記釋放的固定 IP）。這些資源不服務任何流量、卻每小時都在計費，是純粹的浪費。它們的共通點是「開的時候有理由、關的時候沒人記得」——這正是 <a href="/blog/devops/08-cost-management/cost-monitoring/" data-link-title="成本監控與告警" data-link-desc="要讓雲端帳單不失控時，靠歸因把每筆花費追到擁有者、用異常告警抓突增、以及選 showback 或 chargeback 讓成本有人負責">成本監控與告警</a> 要抓的異常。</p>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>配置規格貼近實際用量、砍掉過度配置 → <a href="/blog/devops/08-cost-management/right-sizing/" data-link-title="Right-sizing" data-link-desc="把配置規格調到貼近實際用量時，怎麼找出過度配置的資源、downsizing 不能砍過膝點、以及機型世代與 reserved 過剩的回收">Right-sizing</a></li>
<li>抓出忘了關的資源與異常支出 → <a href="/blog/devops/08-cost-management/cost-monitoring/" data-link-title="成本監控與告警" data-link-desc="要讓雲端帳單不失控時，靠歸因把每筆花費追到擁有者、用異常告警抓突增、以及選 showback 或 chargeback 讓成本有人負責">成本監控與告警</a></li>
<li>承諾模式怎麼配工作負載、單位請求成本怎麼算 → <a href="/blog/devops/05-capacity-planning/cost-model/" data-link-title="成本模型" data-link-desc="把容量規劃的資源翻成錢時，釐清 on-demand、reserved、spot 三種計費模式的取捨、怎麼算單位請求成本、以及過度與不足配置各自的經濟代價">模組五 成本模型</a></li>
</ul>
]]></content:encoded></item><item><title>成本模型</title><link>https://tarrragon.github.io/blog/devops/05-capacity-planning/cost-model/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://tarrragon.github.io/blog/devops/05-capacity-planning/cost-model/</guid><description>&lt;p>成本模型把容量規劃的輸出翻成錢：資源規格乘上使用時間乘上計費模式，等於帳單。三個乘數裡，計費模式的選擇是成本模型的核心決策——同樣的資源規格、同樣的使用時間，選錯計費模式，成本可以差好幾倍。這一章建立成本模型的基本詞彙與算法，它是 &lt;a href="https://tarrragon.github.io/blog/devops/08-cost-management/" data-link-title="模組八：成本管理" data-link-desc="雲端帳單怎麼不失控 — reserved instance、spot instance、right-sizing、成本監控告警">模組八 成本管理&lt;/a> 的直接輸入，那裡會把這些詞彙展開成完整的成本治理。&lt;/p>
&lt;p>計費模式有三種，取捨的軸是「彈性 vs 單位成本」。On-demand（按用量計費）彈性最高、不用承諾，但單位成本最貴；reserved（預留，承諾 1 到 3 年）單位成本降 30% 到 60%，代價是承諾期內用不滿就浪費；spot（用雲端的閒置容量）單位成本降 70% 到 90%，代價是隨時可能被收回中斷。三者是組合使用、不是三選一。&lt;/p>
&lt;h2 id="三種計費模式的最佳組合">三種計費模式的最佳組合&lt;/h2>
&lt;p>成本最佳的配置是按工作負載的性質分配三種計費模式：永遠用得到的基準負載用 reserved（吃它的長期折扣）、峰值與無法預測的爆量用 on-demand（吃它的彈性）、不在關鍵路徑上、可以被中斷的批次工作用 spot（吃它的深折扣）。這個組合讓每一份負載都用到最匹配它性質的計費模式——基準負載穩定所以能承諾、峰值不穩定所以要彈性、批次工作能容忍中斷所以能吃 spot。&lt;/p>
&lt;p>Spot 的中斷風險要靠分散來管。把 spot 池同時涵蓋多種機型、多個可用區（例如同時要 m5、m5a、m5n 三種相近機型、每個可用區都有），單一機型的池被收回時，其他機型還在，工作不會整批中斷。Spot 便宜但會被收回，分散是讓「被收回」不等於「工作失敗」的辦法。&lt;/p>
&lt;h2 id="單位請求成本讓成本可歸因">單位請求成本讓成本可歸因&lt;/h2>
&lt;p>成本模型要能算到單位請求成本，才能判斷哪裡貴、哪裡值得優化。最粗的算法是月帳單總額除以月總請求數，得到平均的單位請求成本——但平均值藏了太多資訊。有用的做法是分階段拆解：一個請求的成本分攤到應用運算、資料庫讀、資料庫寫、快取、網路流出、第三方 API，各階段有自己的單位成本，加起來才是這個請求真正花的錢。&lt;/p>
&lt;p>再往下要分端點算。不同端點的成本差幾個數量級——一個登入請求可能是萬分之一美元，一個結帳請求可能是千分之一，差 10 倍，因為結帳走更多階段、可能跨區域、要呼叫第三方支付。把所有請求當等成本來估容量與收費，會嚴重誤判哪個功能在燒錢。最後把單位成本對齊業務指標（每活躍用戶成本、每筆交易成本、每次推論成本），成本才跟商業決策接得上，而不只是一個雲端帳單數字。&lt;/p>
&lt;h2 id="right-sizing把規格調到剛好">Right-sizing：把規格調到剛好&lt;/h2>
&lt;p>Right-sizing 是定期檢查每個資源的規格是不是配得剛好。常見的浪費有三種：訂了太大的機型（CPU、記憶體長期只用 30%）、用了過時的機型世代（還在用舊代、沒升級到單位效能更好的新代）、以及 reserved 買太多用不滿。這三種浪費都不會自己冒出來報警，要靠定期 review 才抓得到——成本模型不是建一次就好，是要持續對照實際用量調整。&lt;/p>
&lt;h2 id="過度與不足配置的經濟學">過度與不足配置的經濟學&lt;/h2>
&lt;p>配多配少各有代價，成本模型的判斷是找兩者的平衡點。過度配置的成本很好算——每個月多付的錢，直接看帳單。不足配置的成本難算，它是「故障機率乘以每次停機時間乘以每分鐘的營收損失」，要靠歷史事故率跟停機影響估。這兩個成本的平衡點就是經濟上最佳的 headroom。&lt;/p>
&lt;p>平衡點會隨工作負載的關鍵程度移動。金融、醫療、支付這類關鍵負載，不足配置的代價（一次停機的損失）極高，寧可過度配置 30% 到 50%；內部工具、分析、批次這類非關鍵負載，停機代價低，可以貼近最低配置跑。同一套成本模型，關鍵負載算出來要留厚 headroom、非關鍵負載算出來可以壓薄——差別不在保守或積極，在不足配置的代價不同。&lt;/p>
&lt;h2 id="autoscaler-的-max-是財務斷路器">Autoscaler 的 max 是財務斷路器&lt;/h2>
&lt;p>自動擴縮的三個參數（最小、最大、目標）同時是成本的控制點。最小值太低會冷啟動、太高會平日浪費；目標利用率太高會等進膝點才反應、太低會頻繁擴縮浪費；而最大值是財務上的斷路器——它設多少，就是這個服務單月成本的上限。最大值設成無限大是常見的成本事故：一次流量異常（可能是攻擊、可能是重試風暴）觸發無上限擴容，月底收到爆掉的帳單。最大值要當成「願意為這個服務付的成本上限」來設，而不是「怕限流所以設高一點」。&lt;/p>
&lt;h2 id="自建與託管的人力成本">自建與託管的人力成本&lt;/h2>
&lt;p>成本模型只算雲端帳單會漏掉一大塊：人力。自建一套資料庫、佇列、快取，需要 DBA 或 SRE 持續維護（打補丁、備份、故障轉移）；託管服務把這些交給供應商。兩者的人力成本可以差幾倍到一個數量級（常見的經驗區間是 3 到 10 倍，實際看自管元件的維運複雜度）——一個資深 DBA 的年薪不便宜，而工程師花在維運自建系統上的時間是機會成本，那些時間本可以做產品。算自建划不划算，只比雲端費用而忽略人力，會得出錯誤的結論。真實的成本決策裡，這塊人力差常常比機器費用還大——有團隊把自管叢集換成託管，省下的主要不是機器錢，是叢集管理的人力與維運簡化。&lt;/p>
&lt;h2 id="下一步路由">下一步路由&lt;/h2>
&lt;ul>
&lt;li>成本模型的輸入——容量怎麼算出來 → &lt;a href="https://tarrragon.github.io/blog/devops/05-capacity-planning/scaling-inflection-point/" data-link-title="規模拐點判斷" data-link-desc="判斷什麼訊號代表該擴容、什麼代表可縮容、以及該往垂直還水平擴時，用飽和曲線的三段區間、膝點的早期訊號與 ramp-up 方法回來讀">規模拐點判斷&lt;/a>&lt;/li>
&lt;li>峰值預備的成本（為峰值留的 headroom 要付多少）→ &lt;a href="https://tarrragon.github.io/blog/devops/05-capacity-planning/peak-estimation/" data-link-title="峰值估算" data-link-desc="要估一個服務的峰值該準備多少時，先分清峰值屬於哪一種形狀、再用歷史倍率階梯與安全係數推算，並知道安全係數的數學根據在飽和曲線">峰值估算&lt;/a>&lt;/li>
&lt;li>完整的雲端成本治理、計費模式的深入操作 → &lt;a href="https://tarrragon.github.io/blog/devops/08-cost-management/" data-link-title="模組八：成本管理" data-link-desc="雲端帳單怎麼不失控 — reserved instance、spot instance、right-sizing、成本監控告警">模組八 成本管理&lt;/a>&lt;/li>
&lt;/ul></description><content:encoded><![CDATA[<p>成本模型把容量規劃的輸出翻成錢：資源規格乘上使用時間乘上計費模式，等於帳單。三個乘數裡，計費模式的選擇是成本模型的核心決策——同樣的資源規格、同樣的使用時間，選錯計費模式，成本可以差好幾倍。這一章建立成本模型的基本詞彙與算法，它是 <a href="/blog/devops/08-cost-management/" data-link-title="模組八：成本管理" data-link-desc="雲端帳單怎麼不失控 — reserved instance、spot instance、right-sizing、成本監控告警">模組八 成本管理</a> 的直接輸入，那裡會把這些詞彙展開成完整的成本治理。</p>
<p>計費模式有三種，取捨的軸是「彈性 vs 單位成本」。On-demand（按用量計費）彈性最高、不用承諾，但單位成本最貴；reserved（預留，承諾 1 到 3 年）單位成本降 30% 到 60%，代價是承諾期內用不滿就浪費；spot（用雲端的閒置容量）單位成本降 70% 到 90%，代價是隨時可能被收回中斷。三者是組合使用、不是三選一。</p>
<h2 id="三種計費模式的最佳組合">三種計費模式的最佳組合</h2>
<p>成本最佳的配置是按工作負載的性質分配三種計費模式：永遠用得到的基準負載用 reserved（吃它的長期折扣）、峰值與無法預測的爆量用 on-demand（吃它的彈性）、不在關鍵路徑上、可以被中斷的批次工作用 spot（吃它的深折扣）。這個組合讓每一份負載都用到最匹配它性質的計費模式——基準負載穩定所以能承諾、峰值不穩定所以要彈性、批次工作能容忍中斷所以能吃 spot。</p>
<p>Spot 的中斷風險要靠分散來管。把 spot 池同時涵蓋多種機型、多個可用區（例如同時要 m5、m5a、m5n 三種相近機型、每個可用區都有），單一機型的池被收回時，其他機型還在，工作不會整批中斷。Spot 便宜但會被收回，分散是讓「被收回」不等於「工作失敗」的辦法。</p>
<h2 id="單位請求成本讓成本可歸因">單位請求成本讓成本可歸因</h2>
<p>成本模型要能算到單位請求成本，才能判斷哪裡貴、哪裡值得優化。最粗的算法是月帳單總額除以月總請求數，得到平均的單位請求成本——但平均值藏了太多資訊。有用的做法是分階段拆解：一個請求的成本分攤到應用運算、資料庫讀、資料庫寫、快取、網路流出、第三方 API，各階段有自己的單位成本，加起來才是這個請求真正花的錢。</p>
<p>再往下要分端點算。不同端點的成本差幾個數量級——一個登入請求可能是萬分之一美元，一個結帳請求可能是千分之一，差 10 倍，因為結帳走更多階段、可能跨區域、要呼叫第三方支付。把所有請求當等成本來估容量與收費，會嚴重誤判哪個功能在燒錢。最後把單位成本對齊業務指標（每活躍用戶成本、每筆交易成本、每次推論成本），成本才跟商業決策接得上，而不只是一個雲端帳單數字。</p>
<h2 id="right-sizing把規格調到剛好">Right-sizing：把規格調到剛好</h2>
<p>Right-sizing 是定期檢查每個資源的規格是不是配得剛好。常見的浪費有三種：訂了太大的機型（CPU、記憶體長期只用 30%）、用了過時的機型世代（還在用舊代、沒升級到單位效能更好的新代）、以及 reserved 買太多用不滿。這三種浪費都不會自己冒出來報警，要靠定期 review 才抓得到——成本模型不是建一次就好，是要持續對照實際用量調整。</p>
<h2 id="過度與不足配置的經濟學">過度與不足配置的經濟學</h2>
<p>配多配少各有代價，成本模型的判斷是找兩者的平衡點。過度配置的成本很好算——每個月多付的錢，直接看帳單。不足配置的成本難算，它是「故障機率乘以每次停機時間乘以每分鐘的營收損失」，要靠歷史事故率跟停機影響估。這兩個成本的平衡點就是經濟上最佳的 headroom。</p>
<p>平衡點會隨工作負載的關鍵程度移動。金融、醫療、支付這類關鍵負載，不足配置的代價（一次停機的損失）極高，寧可過度配置 30% 到 50%；內部工具、分析、批次這類非關鍵負載，停機代價低，可以貼近最低配置跑。同一套成本模型，關鍵負載算出來要留厚 headroom、非關鍵負載算出來可以壓薄——差別不在保守或積極，在不足配置的代價不同。</p>
<h2 id="autoscaler-的-max-是財務斷路器">Autoscaler 的 max 是財務斷路器</h2>
<p>自動擴縮的三個參數（最小、最大、目標）同時是成本的控制點。最小值太低會冷啟動、太高會平日浪費；目標利用率太高會等進膝點才反應、太低會頻繁擴縮浪費；而最大值是財務上的斷路器——它設多少，就是這個服務單月成本的上限。最大值設成無限大是常見的成本事故：一次流量異常（可能是攻擊、可能是重試風暴）觸發無上限擴容，月底收到爆掉的帳單。最大值要當成「願意為這個服務付的成本上限」來設，而不是「怕限流所以設高一點」。</p>
<h2 id="自建與託管的人力成本">自建與託管的人力成本</h2>
<p>成本模型只算雲端帳單會漏掉一大塊：人力。自建一套資料庫、佇列、快取，需要 DBA 或 SRE 持續維護（打補丁、備份、故障轉移）；託管服務把這些交給供應商。兩者的人力成本可以差幾倍到一個數量級（常見的經驗區間是 3 到 10 倍，實際看自管元件的維運複雜度）——一個資深 DBA 的年薪不便宜，而工程師花在維運自建系統上的時間是機會成本，那些時間本可以做產品。算自建划不划算，只比雲端費用而忽略人力，會得出錯誤的結論。真實的成本決策裡，這塊人力差常常比機器費用還大——有團隊把自管叢集換成託管，省下的主要不是機器錢，是叢集管理的人力與維運簡化。</p>
<h2 id="下一步路由">下一步路由</h2>
<ul>
<li>成本模型的輸入——容量怎麼算出來 → <a href="/blog/devops/05-capacity-planning/scaling-inflection-point/" data-link-title="規模拐點判斷" data-link-desc="判斷什麼訊號代表該擴容、什麼代表可縮容、以及該往垂直還水平擴時，用飽和曲線的三段區間、膝點的早期訊號與 ramp-up 方法回來讀">規模拐點判斷</a></li>
<li>峰值預備的成本（為峰值留的 headroom 要付多少）→ <a href="/blog/devops/05-capacity-planning/peak-estimation/" data-link-title="峰值估算" data-link-desc="要估一個服務的峰值該準備多少時，先分清峰值屬於哪一種形狀、再用歷史倍率階梯與安全係數推算，並知道安全係數的數學根據在飽和曲線">峰值估算</a></li>
<li>完整的雲端成本治理、計費模式的深入操作 → <a href="/blog/devops/08-cost-management/" data-link-title="模組八：成本管理" data-link-desc="雲端帳單怎麼不失控 — reserved instance、spot instance、right-sizing、成本監控告警">模組八 成本管理</a></li>
</ul>
]]></content:encoded></item></channel></rss>