キャパシティプランニング

―リソースを最大限に活かすサイト分析・予測・配置

[cover photo]
TOPICS
Web
発行年月日
PRINT LENGTH
160
ISBN
978-4-87311-399-9
原書
The Art of Capacity Planning, 1st Edition
FORMAT
PDF
Ebook
2,640円
Ebookを購入する

世界最大の写真共有サイトFlickrの技術マネージャーが、急成長するWebサイトのキャパシティプランニング(容量計画)の秘訣を披露。日々トラフィックが増加し、管理するデータ量が膨張するWebサイトでは、いかにダウンさせずに運用し、急成長に対応するかが最重要課題です。本書では、現状を分析し、限界を予測し、そして無駄なく適切にリソースを配置して対応するためのテクニックを紹介。変化に強いWebサイトの構築・運用方法を指南します。Web関連企業のみならず、すべての企業の参考となるヒントが満載です。

目次

はじめに
本書執筆の理由
重点事項と主題
対象読者
本書の構成
本書の表記法
コード例の使用
連絡先
謝辞
1章 キャパシティプランニングにおける目標、課題、およびプロセス
    1.1 間に合わせの計算
    1.2 いつシステム障害が発生するかを予測する
    1.3 システム統計データに「話をさせる」
    1.4 物品の購入:調達はプロセス
    1.5 パフォーマンスとキャパシティ:2つの異なるもの
    1.6 ソーシャルWebサイトとオープンAPIの影響
2章 キャパシティの目標設定
    2.1 さまざまな種類の要件と計測
        2.1.1 形式的な計測値の解釈
        2.1.2 サービス品質保証(SLA)
        2.1.3 ビジネス上のキャパシティ要件
        2.1.4 ユーザの期待
    2.2 アーキテクチャの決定
    2.3 計測点の提供
        2.3.1 スケーリング点の用意
        2.3.2 ハードウェアの決定(垂直、水平、対角スケーリング)
    2.4 災害復旧
3章 計測:キャパシティの単位
    3.1 キャパシティ追跡ツールの特徴
        3.1.1 指標収集システムの基本と構成要素
        3.1.2 ラウンドロビンデータベースとRRDtool
        3.1.3 Ganglia
        3.1.4 SNMP
        3.1.5 ログを過去の指標として扱う
        3.1.6 緊急課題を識別するためのツールとしてのモニタリング
        3.1.7 ネットワークの計測とプランニング
        3.1.8 負荷分散
    3.2 モニタリングの応用
        3.2.1 アプリケーションレベルでの計測
        3.2.2 ストレージキャパシティ
        3.2.3 データベースキャパシティ
        3.2.4 キャッシュシステム
        3.2.5 キャッシュシステムの上限の検出
        3.2.6 特殊用途サーバと多用途サーバ
    3.3 API使用量とキャパシティに対する影響
    3.4 例と現実
    3.5 まとめ
4章 動向の予測
    4.1 波に乗る
        4.1.1 動向、曲線、時間
        4.1.2 アプリケーションレベル指標とシステム統計データの関連付け:データベースの例 72
        4.1.3 ピーク駆動型リソースの使用量の予測:Webサーバの例
        4.1.4 少数のデータセットに関する警告
        4.1.5 予測の自動化
        4.1.6 安全率
    4.2 調達
        4.2.1 調達時間:重要な指標
        4.2.2 ジャストインタイム在庫
    4.3 キャパシティ追加の影響
    4.4 長期の動向
        4.4.1 トラフィックパターンの変化
        4.4.2 アプリケーション使用量の変化と製品プランニング
    4.5 反復と調整
        4.5.1 最高の推測
        4.5.2 対角スケーリングの機会
    4.6 まとめ
5章 配置
    5.1 自動配置の哲学
        5.1.1 目標:新しいキャパシティのプロビジョニング時間を最小限に抑える
        5.1.2 目標:すべての変更を1か所で行う
        5.1.3 目標:(管理のためには)決して個々のサーバにはログインしない
        5.1.4 目標:新しいサーバを自動的に稼動させる
        5.1.5 トラブルシューティングを容易にするために一貫性を保つ
    5.2 自動インストールツール
        5.2.1 OSイメージの準備
        5.2.2 インストール手順
    5.3 自動構成
        5.3.1 役割とサービスの定義
        5.3.2 例:静的Webコンテンツの分離
        5.3.3 ユーザ管理とアクセス制御
        5.3.4 その場限りの作業
        5.3.5 例2:複数のデータセンター
    5.4 まとめ
付録A 仮想化とクラウドコンピューティング
    A.1 仮想化
    A.2 クラウドコンピューティング
        A.2.1 コンピューティングリソースの進化
        A.2.2 混乱した定義
        A.2.3 クラウドのキャパシティ
        A.2.4 クラウドのケーススタディ
        A.2.5 クラウドのユースケース:匿名のデスクトップソフトウェア会社
        A.2.6 クラウドのユースケース:WordPress.com
        A.2.7 クラウドのユースケース:匿名のニュース集約サイト
        A.2.8 クラウドのユースケース:SmugMug.com
    A.3 まとめ
付録B 瞬間的な増加への対応
    B.1 障害の軽減
        B.1.1 重い機能の無効化
        B.1.2 静的ページへの変換
        B.1.3 キャッシュして古い情報を提供する
    B.2 障害への対応
付録C キャパシティツール
    C.1 モニタリング
        C.1.1 指標収集およびイベント通知システム
        C.1.2 その場限りの計測およびグラフ化ツール
    C.2 配置ツール
        C.2.1 自動OSインストール
        C.2.2 構成管理
        C.2.3 クラスタ管理
        C.2.4 資産管理
        C.2.5 動向分析と曲線当てはめ
        C.2.6 キャパシティプランニングにおける待ち行列理論と数学に関する書籍
索引