ISBN 9784774192628
Amazon Web Services負荷試験入門 : クラウドの性能の引き出し方がわかる
概要
AWSを前提としたWebシステムの負荷試験課題をベストプラクティスで解決する
想定読者
クラウド環境のWebシステムを設計・運用するバックエンドエンジニアおよびインフラエンジニア
こんな人には向いていない
- JMeterやLocustなどの攻撃ツールの操作手順を手軽に学びたい人(本書はツール解説本ではなく、ツールで解決できない課題の解法に焦点を当てている)
- AWSを触り始めたばかりの初学者(クラウドおよびWebサーバの運用経験がない状態では内容を活かせない)
- Kubernetes・サーバレス(Lambda)専用の負荷試験パターンを中心に学びたい読者(2017年出版のためコンテナ・FaaSへの比重は限られる)
この本で身につくこと
- プロジェクトマネジメントからOSレベルまで、負荷試験の課題を広い視野で体系的に整理できる
- 攻撃ツール選定だけでは解決しない負荷試験固有の問題に対してベストプラクティスを適用できる
- AWS上のWebシステムに対してサーバ側の負荷試験を設計・実施する手順を実践できる
- クラウドとオンプレミスのハイブリッド構成でも通用する性能試験の考え方を習得できる
ハイライト(外部からの言及)
それらのツールをもってしても負荷試験の課題の多くは解決できません。プロジェクトマネジメントからOSレベルまで、広い範囲に課題が存在するからです — 出典
本書の立場の核心が端的に示されており、ツール選定で完結しないという視点が全篇を貫いていることが伝わる
負荷試験は、システムの限界性能の測定のために行うのではなく、システム全体のチューニングを行ない、システムのスケールが可能な構成であることを担保するという面が重要です。 — 出典
著者が本書の前身となるケーススタディ記事で示した目的の再定義。「限界測定」ではなく「スケール可能な構成の担保」という軸は、ツール批判とは別の本書固有の設計思想を示す
『Amazon Web Services負荷試験入門―クラウドの性能の引き出し方がわかる』: AWS と書いてありますが、クラウド全般の負荷試験入門書として読めました。 — 出典
本書を読んでLocust+Prometheus+Grafana環境を実際に構築した第三者による一言評価。AWSタイトルの先入観を覆し、クラウド全般への汎用性をリーダー視点で確認している
章立て
第1章 間違いだらけの負荷試験とWebシステムの失敗事例
アンチパターン集として読める導入章。本書の問題意識を最初に提示
第2章 Webシステムの設計手法
負荷試験の前提となるシステムアーキテクチャの整理
第3章 負荷試験の基本知識
性能指標(レイテンシ・スループット・パーセンタイル)の正しい理解
第4章 負荷試験のツール
JMeter / Locust / Gatling などの比較。AWS 環境での実行手順
第5章 負荷試験の計画
シナリオ設計と目標値の決め方。本書の中核知見
第6章 負荷試験の準備
第7章 負荷試験の実施 1 — 試験実施とボトルネックの特定
第8章 負荷試験の実施 2 — 原因分析とシステムの改善作業
RDS・ELB・EC2 各層のチューニング判断軸
第9章 負荷試験レポートの作成
ステークホルダーへの説明資料。グラフ作成と数値解釈
第10章 負荷試験実践のケーススタディ
第11章 巻末資料
関連記事 / 参考情報
- Webアプリケーションの負荷試験の進め方 ケーススタディー — 著者自身が負荷試験の進め方をケーススタディ形式でまとめた記事。本書の前身にあたる実践知の原型
- 2017冬休み課題図書10選 — 技術者向け年末課題図書リストに本書が選出された推薦例
- [負荷試験] API サーバを Locust で攻撃し、Prometheus + Grafana で監視 — LocustとPrometheus+Grafanaを組み合わせた負荷試験環境の実践構築記事。本書と同一ドメインの補完的な実装例
- ハイパフォーマンスLambdaエコノミクス — Lambda関数のパフォーマンスとコスト最適化を扱う記事。本書のクラウド性能テーマと接続する発展読み物
学習のヒント
- 「ツールではなく課題に焦点を当てる」という本書の立場を意識しながら読むと、各ベストプラクティスがなぜその対処法なのかを理解しやすくなる
- 2017年出版のためコマンド例やAWSサービスの画面が現在と異なる箇所がある。ツール固有の操作は公式ドキュメントと照合しながら進めると誤りを防げる
- オンプレミス経験がある読者は、クラウド固有の特性(オートスケールのウォームアップ、マネージドサービスのスロットリング等)を解説する箇所を重点的に読むとクラウド移行の判断材料になる
前提知識
- LinuxおよびWebサーバ(nginx/Apache等)の基本的な運用経験
- AWSの主要サービス(EC2, ELB, RDS等)を使った開発・運用の経験
- HTTPプロトコルとTCP/IPの基礎知識
次に読む本
SRE サイトリライアビリティエンジニアリング
負荷試験で露見する可用性・信頼性の問題を組織とプロセスレベルで扱うための体系的な知識を補完できる
Webエンジニアのためのシステム設計・アーキテクチャ入門(類書)
負荷試験で発見したボトルネックをシステム設計レベルから解消する視点を得るための次段
出版社による内容紹介
本書は数ある負荷試験用の攻撃ツールやモニタリングツールのうち一部を取り上げて紹介していますが、いわゆるツールの解説本ではありません。それだけでは解決しない負荷試験の課題に焦点を当てています。攻撃ツールには非常に多くの種類があり、次々と新しいものが登場しています。しかし、それらのツールをもってしても負荷試験の課題の多くは解決できません。プロジェクトマネジメントからOSレベルまで、広い範囲に課題が存在するからです。本書ではWebシステムのサーバ側における負荷試験で発生する課題に対して、問題解決に近づくためのベストプラクティスをまとめました。また、クラウド上にシステムを構築する前提としていますが、オンプレミス時代からの運用開発経験に基づいており、クラウドに限らず、オンプレミスとクラウドでのハイブリッド構成のシステムの開発・運用に関しても適用できる内容となっています。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。