2.ウェブアプリケーションのアーキテクチャ
ただ読むだけじゃ理解できない低脳なのでノートとりまーす。
Webアプリケーションにおける階層化アーキテクチャ
階層化の意義
- コードの分離
- インタフェースの変更さえしない限り、他の層を壊してしまう心配なしに、自分の層を書き直せる(他を知らなくても、インタフェースだけ気をつければ良い)
- ストレージ管理とデータ操作のルール(ビジネスロジック層)と、ユーザがデータを利用するときの方法を規定するルール(ページロジック層)は論理的に異なるため、2つを分離することは重要
インタフェースの設計
単一巨大関数型アプリケーションを階層に分離する
ハードウェアプラットフォーム
- 初期設計の際に注意すべき事柄(小規模な最適化はしないという原則)
- 共有ハードウェア
- アプリケーション開発時(ローカマシンの次のステップ)から小規模での運用時まで
- 専用ハードウェア(レンタル)
- アプリケーションの規模によるがコストパフォーマンスが高い
- システム管理者を置く必要が無く、ハードウェアの設定作業に時間をとられない
- コロケーション(ハウジング)
- 設備の整ったデータセンターを間借りして自分で保守管理をする
- サービスの質はまちまち、よく検討すべき(他のプロバイダに変更するのは大変)
- セルフホスティング(自前のデータセンター)
- 数千台規模のサーバを持つようになった場合
- 小規模な専用サーバを自前で、というのは、結局は他のソリューションを選択した方がトラブルが少なくなり、手間の面でよい選択とはいえない
- 作者: Cal Henderson,武舎広幸,福地太郎,武舎るみ
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2006/12/26
- メディア: 大型本
- 購入: 4人 クリック: 115回
- この商品を含むブログ (70件) を見る