第9章. サーバーレス運用のコスト
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
私たちは世界についてどれだけ理解しているかを過大評価し、出来事における偶然の役割を過小評価しがちである。
ダニエル・カーネマン『シンキング、ファスト&スロー
サーバーレスがクラウドでのソフトウェア演算子にもたらした重要なイノベーションの1つは、従量課金モデルである。この章では、AWS Lambda、Amazon DynamoDB、AWS Step Functionsを含む主要なサーバーレスサービスの特徴である従量課金モデルを探求する。毎月の請求額とサーバーレスアーキテクチャの効率性との本質的な関連性について学び、実装してリリースする前にアーキテクチャのコストを見積もる方法を学ぶ。また、サーバーレスアプリケーションのコストを長期的にモニタリングし、削減するための包括的なベストプラクティスを学ぶ。
第8章では、サービスクォータと価格設定を念頭に置いたサーバーレスアプリケーションの設計と演算子の重要性を見た。次に、これらのクォータと価格を使用して、プロダクション・コストを効果的に見積もり、請求額がトラフィックに不釣り合いに急増しないようにする方法を説明する。もちろん、ペイ・パー・ユース・モデルでは、アプリケーションに送られるリクエストの量に応じてコストが上下することを想定しておく必要がある。しかし、アーキテクチャの非効率性によって、チームが予想外の高コストに見舞われるインスタンスも数多く存在する。
だからこそ、サーバーレスの従量課金モデルには、楽観論だけでなく慎重な姿勢も必要なのだ。サーバーレスを大規模に実行することは、非効率的な利用が莫大な請求によって罰せられることを意味する。
サーバーレスのコストモデルを理解する
ソフトウェアのホスティングと運用の選択肢を評価するとき、通常はコストが重要な考慮事項となる。近年、サーバーレスは、シンプルさとコスト効率を求めるチームや組織にとって健全な選択肢として浮上している。マネージド・サービスと使用ごとの課金モデルを組み合わせることで、サーバーレスには大きな可能性があり、資金繰りに苦しむことなく、ビジネスやユーザのニーズを満たすソフトウェアの構築に集中することができる。
サーバーレスによって、チームはアプリケーションの使用量をゼロから、ほとんど、あるいはまったく支払わずに、ピーク需要まで、コスト上昇を伴いながらスケールできる(図9-1参照)。
図9-1. オンデマンド利用とコスト
AWSでワークロードを実行するコストには、3つの主要な要因がある:
- 計算する
-
コンピュートのコストは、選択するマネージド・サービスによって異なるが、サーバーレス・コンピュートの重要な点は、使った分だけ支払うということだ。AWS LambdaとAWS Step Functionsの価格モデルについては、「Compute Costs」で詳しく見ていこう。
- ストレージ
-
データ の保存費用は、選択したデータストアに書き込まれたデータ量とデータストアから読み取られたデータ量に基づく。また、データの長期保存にも費用がかかる。アーキテクチャによっては、暗号化やレプリケーションに追加料金が発生する場合もある。ストレージ・コストを低く抑えるには、データ・モデルとアクセス・パターンを最適化すること、圧縮戦略を使ってデータの消費容量を減らすこと、キャッシュを効率的に使用することが重要だ。アプリケーションの状態と、トレース、ログ、メトリックなどの演算子の両方のデータをストアする可能性が高いことに留意してほしい。2つの一般的なストレージ・オプション、Amazon ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access