要点: 健全な成長には、顧客体験、処理能力、成果一件当たりの費用を同時に見る必要があります。
この記事の用語: 処理能力:安全に処理できる能力。予備能力:障害や予測誤差に備える余力。成果単位コスト:成果一件当たりの費用。
現場の課題
平均CPUはピークを隠し、オートスケールはキューが増えた後に反応します。クラウド請求の総額だけでは、価値を生む費用と無駄を区別できません。
クラウド費用は成功リクエストや完了業務フローなどの成果単位へ結び付けます。処理能力計画はピーク、スケールの遅れ、一つのZoneの障害、必要な予備能力を含めます。
設計と実装
- 業務イベント、ピーク係数、テナント規模の分布から需要を見積もります。
- 実際の依存サービス上限を含む負荷テストで、プロセス一つ当たりの安全能力を測ります。
- 成功業務フロー、利用中テナント、処理データ量など成果単位のコストをSLOと一緒に追跡します。
実装例
safeRps = loadTest.maxRpsWhere(p99 < sloP99 and errors < sloError)
minimumReplicas = ceil(peakRps / safeRps * 1.3)
assert capacityDuringZoneLoss >= peakRps
assert costPerSuccessfulJourney <= budget本番導入の進め方
高コストな業務フロー一つから成果単位コストを測ります。繰り返せる負荷テストで安全な処理能力を決め、デプロイ判定とオートスケールへ反映した後に長期長期契約を変更します。
まとめ
コスト効率のよいSaaSは、測定済み処理能力と成果単位のコストから生まれます。
