可用性
可用性を考える上で、アプリケーションエンジニアとしてもインフラを理解していないといけない気がしている。
可用性の見積
見積に関しては複数のやり方でやってその評価を比較しておこなった方が良いやり方だろうと思う。複数のやり方とデルファイ法という手もある。
最後のやり方はあんまりやられていない気がする。
折角、情報処理技術者試験に出ていてみんな知っているのに。
統計学の世界なので計算上のことだが、論理的な見積ができるのはそれなりに価値があると思われる。
可用性の対応
- 障害発生時の冗長構成
- スペック不足によるシステムダウンの防止のために、無停止な拡張性
http://www.atmarkit.co.jp/flinux/rensai/cluster01/cluster01.html
アーキテクチャとインフラ
インフラを決定することで、アプリケーションの構造が変わることが当然ある。
Webアプリケーションで言えば、複数のWebサーバやASにリクエストがあるとすればセッションID、セッション情報の格納方法を確認する必要がある。
単一サーバ処理を前提としたアプリケーション構築は拡張性、可用性を失ってしまう。
このような問題についても配慮した設計は結構悩ましい。
インフラのインプットがアプリケーションアーキテクチャとしての制約となることを忘れてしまいがちだ。
アプリケーションの考慮点
id:masashi_oikawaさん経由で、JavaWorldの記事(http://www.javaworld.com/javaworld/jw-12-2005/jw-1226-jee.html)にいくつか乗っている。